Agency Skills
SkillsMCPCollectionsContributorsContribute
Install MCP
Agency Skills

Skills written by the people who run agencies, consultancies and coaching firms. Free and open source, MIT.

LibraryAll skillsCollectionsContributors
ContributeHow to contributeContributor guideGitHubReport a problem
GiaCompany BrainPowered by Gia
Skills/Shape the offer/Revenue goal funnel math
Strategy

Revenue goal funnel math

Use this skill when a founder sets a revenue or income goal and needs to know what it takes each week, or when a weekly review shows the goal slipping. Produces a backwards funnel from the goal down to weekly outreach volume, the actual-versus-required gap at every stage, and the one bottleneck to fix this week. Also use for "how many calls do I need", "reverse funnel", "goal math", "what's the bottleneck", "are we on pace", "weekly pipeline review".

Tanyo GochevTanyo GochevCo-Founder & Head of GTM, The Demand Department
Say something like
“how many calls do I need”“reverse funnel”“goal math”“what's the bottleneck”“are we on pace”“weekly pipeline review”
funnel-mathpipelinefounder-led-salesweekly-reviewbottleneckb2b-services
SKILL.mdView on GitHub

Applies when there is a number to hit and nobody has worked out what it means for this week. Produces one page: the chain from goal to touches, required versus actual at each step, and one named bottleneck.

The play

  1. Anchor the goal. If it is the owner's income, convert it first: income ÷ owner's share of profit ÷ margin = revenue needed. A revenue goal that pays the owner too little is a failed plan, so check this before going further.
  2. Work backwards, one link at a time, using the chain in references/funnel-chain.md:
    • Revenue → clients needed (÷ average monthly value per client).
    • Clients → closes per month (net adds + expected churn).
    • Closes → proposals (÷ proposal-to-close rate).
    • Proposals → discovery calls held (÷ discovery-to-proposal rate).
    • Discovery calls → replies (÷ reply-to-call rate).
    • Replies → touches (÷ reply rate).
    • Divide by 4 for the weekly number.
  3. Use measured rates, not hoped-for ones. Where you have fewer than 10 settled outcomes for a stage, use the planning defaults in references/thresholds.md and mark them as assumed.
  4. Split the sales call stage in two: discovery and proposal. One "close rate" hides which call is broken. A 13% overall rate could be 60% × 22% (a proposal problem) or 30% × 43% (a discovery problem). The fixes are opposite.
  5. Pull the trailing 7 days and the trailing 28 days of actuals for every stage. Put required and actual side by side.
  6. Name the bottleneck. Compare each stage with the alarm lines in references/thresholds.md. If several are broken, pick the one furthest upstream. Fixing close rate with no calls on the calendar is theatre.
  7. Write 3 to 5 actions, each dated, each tied to the bottleneck stage. "By Friday, rewrite the first touch for the two lowest-reply segments" is an action. "Improve reply rate" is not.
  8. Re-run monthly. If a measured rate differs from the planning default for two months in a row, replace the default. A model that flatters you is worse than none.

Worked examples are in references/worked-examples.md.

What good looks like

  • First thing I check that most people skip: whether the close rate in the model is measured or assumed. It is usually assumed, usually 25%, and usually generous. Halve it and the required call volume doubles.
  • The mediocre version: a top-down plan ("we need 10 clients") with no weekly touch number, one blended close rate, and three things to fix at once. It feels like a plan and changes nothing on Monday.
  • I know the math is right when the owner can say one line from memory: "X touches a week → Y replies → Z calls → 1 close." If they cannot say that line, the review did not land.
  • I know the review worked when next week's actuals moved on the one stage named, and nobody touched the others.

Rules

  • MUST split discovery and proposal into separate stages.
  • MUST label every rate as measured (with sample size) or assumed.
  • MUST name exactly one bottleneck per review.
  • MUST pick the most upstream broken stage when several are below the line.
  • NEVER count a proposal that was not actually delivered. A fake proposal in the funnel corrupts every rate below it.
  • NEVER set a revenue goal without checking what it pays the owner.
3 reference files
references/funnel-chain.md

The funnel chain

Read top to bottom when planning. Read bottom to top when diagnosing.

Owner income per month
   = profit × owner's share
Profit per month
   = revenue × margin
Revenue per month
   = active clients × average monthly value per client
Active clients
   = last month's clients + closes − churn
Closes per month
   = proposals delivered × proposal-to-close rate
Proposals delivered
   = discovery calls held × discovery-to-proposal rate
Discovery calls held
   = replies × reply-to-call-held rate
Replies
   = touches × reply rate
Touches
   = sum of volume across channels

Definitions that matter

TermCountsDoes not count
TouchOne message to one person on one channelA post impression
ReplyAny human answer, positive or notAuto-replies, out-of-office
Discovery call heldThe first call actually took placeBooked but no-show
Proposal deliveredA tailored proposal walked through live or sent as a link"I'll send something over" with nothing sent
CloseSigned and paid, or signed with a start dateA verbal yes
SettledClosed or lostStill open

Proposal-to-close rate = signed ÷ settled. Leave open deals out of the denominator, and say so.

Capacity check

After the chain, check the answer against capacity. If the goal needs more clients than the team can serve, the fix is price per client, not more outreach. Run the chain again at the higher price before adding volume.

references/thresholds.md

Planning defaults and alarm lines

For founder-led B2B services selling retainers through outbound. Replace each default with your own measured rate once a stage has 10 or more settled outcomes.

StagePlanning defaultAlarm lineIf below the line, the bottleneck is
TouchesWhatever the chain requiresUnder the required weekly numberVolume: campaigns not running, lists not built, content not shipping
Reply rate (replies ÷ touches)5% blended (LinkedIn higher, cold email lower)Under 3%Message or list: wrong people, or the copy gives them no reason to answer
Reply → discovery call held15%Under 10%Booking friction: slow replies, no specific times offered, no-shows
Discovery → proposal50%Under 40%The first call: shallow discovery, unclear fit, no agreed next step
Proposal → close25% to 30%Under 25%The second call: generic proposal, weak value math, no momentum after
Close rate fine, revenue still shortValue per client under planPrice or positioning, not volume

Order of diagnosis

  1. Start at touches and walk down.
  2. Stop at the first stage below its alarm line. That is the bottleneck.
  3. Ignore stages below it this week, even if they also look weak. Their numbers are too small to trust until the stage above is fixed.

Sample-size rule

  • Under 10 settled outcomes for a stage: use the default, mark it "assumed".
  • 10 to 30: use your measured rate, mark it with n.
  • Over 30: use the trailing 90 days, not lifetime. Old data hides recent change.
references/worked-examples.md

Worked examples

Numbers are rounded for clarity.

1. Planning from an income goal (went to plan)

A two-founder services firm, profit split 50/50. One founder wants $20K a month in income.

  • Profit needed: $20K ÷ 50% = $40K
  • Revenue needed at 55% margin: $40K ÷ 0.55 ≈ $73K
  • At $9K per client per month: about 8 active clients
  • Starting from 2 clients, with about 1 churn a month: 3 closes a month nets +2. Three months to get there.

Per month, with measured and default rates:

  • Closes: 3
  • Proposals: 3 ÷ 30% = 10
  • Discovery calls held: 10 ÷ 50% = 20
  • Replies: 20 ÷ 15% ≈ 133
  • Touches: 133 ÷ 5% ≈ 2,700

Per week: about 670 touches, 33 replies, 5 discovery calls, 2 to 3 proposals.

The weekly touch number is the line the founder takes into Monday. Everything above it is there to make that number believable.

2. Same close rate, opposite fixes (edge case)

Two firms each report 30 calls and 4 closes, a 13% close rate. Both want help with closing.

Firm AFirm B
Discovery → proposal30 → 18 = 60%30 → 9 = 30%
Proposal → close18 → 4 = 22%9 → 4 = 44%
BottleneckThe second callThe first call
FixTailored proposal, stronger value math, a dated next stepDeeper discovery, a fit check, book the proposal call before hanging up

Coaching Firm B on closing would make nothing better. Their closing is already strong. Only the split shows that.

3. The model that flattered (went wrong)

My own plan used a 25% close rate, because that is the common rule of thumb. Four weeks of real calls showed 2 closes from 15 calls held: 13%. Split into two stages, proposal-to-close came out near 30% (3 signed of 10 settled), so the leak sat partly in the first call too.

Re-running the chain with measured rates moved the weekly touch target from 400 to about 600. At the old target, every review would have said "on pace" while the pipeline fell short.

What to do instead: re-run the chain monthly with measured rates. When a rate drops, the touch target rises the same day, and the review says "behind" out loud.

Install this skill

Pick where your agent runs.

View prompt
Help me install the skill named "revenue-goal-funnel-math" from this GitHub URL in Claude:
https://github.com/agiea-brain/agency-skills/tree/main/skills/tanyo-gochev/revenue-goal-funnel-math

Prepare only the "revenue-goal-funnel-math" skill, not other skills in the repository.

Inspect each complete skill folder, not just SKILL.md. Preserve the original instructions and include all supporting files (such as references, scripts, templates and assets), keeping their relative paths intact. Package each skill as a downloadable ZIP containing its skill folder with SKILL.md directly inside that folder. If a skill only contains SKILL.md, package that folder too.

Give me the download link for each ZIP and walk me through uploading and enabling it under Settings, Capabilities, Skills in Claude. If you cannot access GitHub or create downloadable files here, explain what I need to download and how to package and upload it myself. Do not invent missing files or claim the skill is installed before I upload it.

Paste this prompt into Claude. It packages the skill folder, supporting files included, and walks you through uploading it under Settings, Capabilities, Skills.

0installs
Strategycategory
MITlicense