GTM Playbooks
Finance/FP&AIntermediateLast reviewed Run it in your LLM

Compute the SaaS Magic Number so Blended CAC Stops Answering "Are We Efficient?"

The problem

Boards ask "are we efficient?" and finance answers with a blended CAC or burn multiple that hides whether last quarter's S&M actually produced enough net-new ARR to justify the spend.

Copy, paste, run

Run it in your LLM

One prompt for Claude or ChatGPT that turns a period of net-new ARR and S&M spend into the efficiency number a board pack asks for: did last quarter's sales and marketing produce enough net-new ARR to justify the spend. Type run the example after pasting it to test it on the fictional data built into the prompt.

Download .mdSKILL.mdExample CSV
# SaaS Magic Number

You are a RevOps and FP&A lead reporting to the CFO. From net new ARR and sales and marketing spend for the same period, compute the quarterly Magic Number, say which labeled band it sits in, and show how much net-new ARR or S&M would have to change to hit a stated target, with every number traceable to the extract.

## Rules

- Use only the data in this conversation. Do not invent Magic Number benchmarks, efficiency targets, or "healthy SaaS" rules. If something is missing, ask for it, or use the fallback this prompt defines and label it as an assumption.
- Run the calculations in code if you can. If you cannot run code, say so at the top and show the working.
- Show the formula next to every headline number.
- The 0.5 / 0.75 bands used on this page are labeled assumptions, not industry facts. The target comes from the user. Do not treat 0.75 or 1.0 as a rule.
- Read only. Do not change anything in the ledger or the budget. Report what the numbers imply and leave the spend decision to the user.
- Format: money to the nearest dollar, Magic Number to two decimals.

## Definitions

- Net new ARR for the period = new-logo ARR + expansion ARR - contraction ARR - churn ARR. New-logo ARR is first-year recurring from customers who were not in the book at the start. Expansion, contraction, and churn follow the same definitions as the NRR bridge. One-time fees are out. If finance uses a different net-new definition (new logos only, or bookings instead of ARR), use theirs, write it at the top, and do not mix it with this one.
- S&M spend is fully loaded sales and marketing cost for the same period from the ledger (program spend plus people), not from ad-platform dashboards alone. Same-period S&M is the headline. Lagged S&M (this period's net-new / prior period's S&M) is an optional extra line, labeled as a definition choice, because some board packs lag spend one quarter.
- Magic Number (quarterly convention) = (Net New ARR x 4) / S&M spend. The x4 annualizes a quarter of net-new against that period's S&M. If the row is a month, still use x4 so the number stays on the quarterly scale; do not multiply a month by 12 and then score it against 0.75. Also report the calendar-year run-rate = (Net New ARR x 12 / period months) / S&M, labeled, so a monthly input is not silent.
- Labeled bands (assumptions on this page, not benchmarks): under 0.5 inefficient; 0.5 to 0.75 ok; above 0.75 strong.

## Step 0. Inputs

If the user says "run the example", use the EXAMPLE DATA section at the end of this prompt, do not ask any questions, and label every output "Example data (fictional)".

Otherwise ask for everything below in one message, skipping anything the user already gave:

1. A CSV of periods, one row per month or quarter, with these columns (ask the user to map theirs):
   - period (id, for example 2026-Q3), period_months (1 or 3), new_logo_arr, expansion_arr, contraction_arr, churn_arr, sm_spend
   Where to get it: billing or the NRR bridge for the ARR components; the P&L for S&M. Contraction and churn are positive numbers for ARR lost.
2. Which period to score. Default: the last complete quarter in the file.
3. The target Magic Number. There is no default; do not suggest a number. If they want a target, they name it.
4. Whether to also show lagged S&M (this period's net-new against the prior period's S&M). Default: no, unless they ask.

Then report a data check: rows read; rows left out and why (duplicate period, period_months not 1 or 3, missing S&M, ARR components not numbers); periods kept; net new ARR of the scored period with the four components shown. Ask the user to confirm before going on, unless they said "run the example".

## Step 1. Magic Number

For the scored period:

- Net new ARR = new + expansion - contraction - churn.
- Magic Number = (net new ARR x 4) / S&M.
- Calendar-year run-rate = (net new ARR x 12 / period_months) / S&M.
- Band from the labeled assumptions above.
- Net-new ARR that would hit the target at this S&M = target x S&M / 4. Gap = that minus current net-new (positive means more net-new needed this period).
- S&M that would hit the target at this net-new = net new ARR x 4 / target. Gap = current S&M minus that (positive means spend would have to fall).

If lagged S&M was requested and a prior period exists: lagged Magic Number = (this net-new x 4) / prior S&M, labeled as lagged, not as the headline.

## Step 2. Output

Start with a five-line summary:

- Headline: "Magic Number {mn} on {period} net-new {nnarr} / S&M {sm}; {band} on this page's labeled bands."
- Where it sits vs the target: points or dollars, without arguing for a cut.
- What would hit the target: extra net-new ARR this period, or the S&M cut, at the current other number.
- Annualization: "x4 quarterly convention; calendar-year run-rate {yearRunRate}."
- One line: "Period {period}, {period_months} months; {excluded} rows were left out."

Then these tables:

1. Data check
2. Scored period (components, net new, S&M, Magic Number, year run-rate, band, target, ARR gap, S&M gap)
3. Lagged line if requested
4. Assumptions, each labeled as an assumption, including: net-new definition; same-period S&M; x4 convention; the 0.5 / 0.75 bands; history is not a forecast.

If you can create files, offer the scored row as a CSV download.

## EXAMPLE DATA (fictional, for testing this prompt)

Use this only when the user says "run the example". The company and periods are made up.

- Score 2026-Q3 (3 months)
- Target Magic Number 0.75 (example input, not a benchmark)
- Same-period S&M for the headline. Also show the lagged line against 2026-Q2 S&M so the two definitions sit next to each other.

Periods:

```csv
period,period_months,new_logo_arr,expansion_arr,contraction_arr,churn_arr,sm_spend
2026-Q2,3,200000,50000,20000,10000,1200000
2026-Q3,3,180000,90000,15000,15000,1600000
2026-Q3,3,180000,90000,15000,15000,1600000
BAD-1,3,100000,0,0,0,
YR-1,12,500000,0,0,0,2000000
```

How to run it

  1. Open Claude or ChatGPT with code execution on (Claude's analysis tool, ChatGPT data analysis). Without it the model does arithmetic by hand, and you should check every number.
  2. Paste the prompt. To test it first, send "run the example" and compare with the expected results below.
  3. Attach a CSV of periods with new-logo, expansion, contraction, and churn ARR plus S&M spend, and give the prompt which period to score and your target Magic Number. The prompt lists the columns.
  4. Read the data check first, then take the Magic Number, the labeled band, and the ARR or S&M gap to the finance review. Keep the lagged-S&M line labeled if you show it.

Before you paste P&L data

ARR and S&M by period are commercially sensitive. Check your company's AI and data policy, prefer a business or enterprise plan, and drop customer names: the prompt only needs period ids and amounts. It reads the extract and changes nothing in the ledger.

Expected results on the example data

A correct run of "run the example" should match these, give or take rounding. They are computed from the prompt's definitions by a reference implementation that is tested against hand-worked numbers. The data is fictional.

Data check
5 rows; scored 2026-Q3; left out: 2026-Q3 (duplicate period), BAD-1 (no S&M spend), YR-1 (period_months must be 1 (month) or 3 (quarter))
Net new ARR
new $180,000 + expansion $90,000 - contraction $15,000 - churn $15,000 = $240,000
Magic Number
($240,000 x 4) / $1,600,000 = 0.60; ok on the labeled bands
To hit 0.75
$60,000 more net-new this quarter ($300,000), or S&M down $320,000 to $1,280,000
Expected Magic Number
PeriodNet new ARRS&MMagic NumberBandARR gapS&M gap
2026-Q3$240,000$1,600,0000.60ok$60,000$320,000

Q3 net-new is $240,000 on $1,600,000 of S&M, Magic Number 0.60, in the 0.5 to 0.75 band this page labels ok (an assumption). Hitting 0.75 needs $60,000 more net-new this quarter or a $320,000 S&M cut. Lagged against Q2 S&M of $1,200,000 the same net-new is 0.80; that is a different definition, so it is not the headline.

SaaS Magic Number

Magic Number = (Net New ARR x 4) / S&M for the same period. The x4 is the quarterly convention, including when the period is a month, so the labeled bands still apply. Prefilled with the fictional example.

Period
Magic Number
0.60
($240,000 x 4) / $1,600,000
Efficiency read
ok
0.5 to 0.75, labeled ok (assumption)
Gap to the target
0.15
Target 0.75
More net-new ARR to hit the target
$60,000
Need $300,000 this quarter at today's S&M
S&M would have to fall
$320,000
S&M at the target $1,280,000 at today's net-new
Calendar-year run-rate
0.60
(Net new x 4) / S&M, same as the Magic Number for a quarter.

Net new ARR is new logos plus expansion minus contraction minus churn for this period, unless you enter a different finance definition. S&M is the same period. The 0.5 and 0.75 bands are labels on this page, not benchmarks. A Magic Number is not a forecast of what more or less spend would produce.

Implementation steps

  1. 1

    Write the definitions down with finance before pulling data: net new ARR for the period = new-logo ARR + expansion - contraction - churn, the same components as the NRR bridge, with no one-time fees; S&M is fully loaded sales and marketing from the ledger for the same period. If finance uses new logos only, or lagged S&M (this period's net-new over last period's spend), write that at the top and do not mix it with the headline

  2. 2

    Export the period (a quarter unless you are scoring a month) with the four ARR components and S&M. Drop duplicate periods, rows whose period length is not 1 or 3 months, rows with no S&M, and non-numeric ARR, and list each dropped row

  3. 3

    Compute net new ARR from the four components. Magic Number = (Net New ARR x 4) / S&M. The x4 is the quarterly convention: it annualizes a quarter of net-new against that period's S&M. If the row is a month, still use x4 so the number stays on that scale; do not multiply a month by 12 and then score it against 0.75

  4. 4

    Also compute the calendar-year run-rate = (Net New ARR x 12 / period months) / S&M, and label it. For a quarter it equals the Magic Number. For a month it is three times larger on the same run-rate, which is why it is not the scored figure

  5. 5

    Place the Magic Number on this page's labeled bands (assumptions, not benchmarks): under 0.5 inefficient, 0.5 to 0.75 ok, above 0.75 strong. Compare it to your target (0.75 in the fictional example, an input). Net-new that would hit the target at today's S&M = target x S&M / 4. S&M that would hit it at today's net-new = net new x 4 / target

  6. 6

    If the board pack lags spend, compute a second line: (this period's net-new x 4) / prior period S&M, labeled lagged. Do not let it replace the same-period headline

  7. 7

    Run it with the copy-paste prompt on this page in Claude or ChatGPT, or with formulas in the template, check S&M against the ledger, and use the calculator on this page to test other targets and a month vs a quarter. Share the Magic Number, the labeled band, and the ARR or S&M gap with the CFO; keep the gap as a sizing device, not a hiring plan

  8. 8

    Rerun each quarter on the same definitions and store Magic Number, net-new, and S&M so a mix shift or a cost change shows up in the next board pack

Template outline

The structure to recreate in your own workspace. Field names and thresholds are starting points.

Google Sheet: SaaS Magic Number FYxx (Finance owns the P&L tab; RevOps maintains the ARR components)

Tab inputs: score_period, target (your target, not a benchmark), lag_sm (yes/no)

Tab periods (one row per month or quarter):
  period, period_months (1 or 3), new_logo_arr, expansion_arr, contraction_arr, churn_arr, sm_spend
  kept = unique period AND period_months in {1, 3} AND sm_spend > 0 AND ARR components are numbers
  net_new = new_logo_arr + expansion_arr - contraction_arr - churn_arr

Tab scored:
  magic_number = (net_new x 4) / sm_spend
  year_run_rate = (net_new x 12 / period_months) / sm_spend
  band = IF(magic_number < 0.5, "inefficient", IF(magic_number <= 0.75, "ok", "strong"))  // labeled assumptions
  net_new_at_target = target x sm_spend / 4
  arr_gap = net_new_at_target - net_new
  sm_at_target = net_new x 4 / target
  sm_gap = sm_spend - sm_at_target
  lagged = IF(lag_sm, (net_new x 4) / prior_sm, "")

Worked example (example data, fictional): score 2026-Q3, target 0.75
  5 rows read, 2 kept (Q2 and Q3). Left out: 2026-Q3 listed twice; BAD-1 no S&M; YR-1 period_months 12.
  Q3: new $180,000 + expansion $90,000 - contraction $15,000 - churn $15,000 = $240,000 net-new.
  S&M $1,600,000. Magic Number = $240,000 x 4 / $1,600,000 = 0.60.
  Band: 0.5 to 0.75, labeled ok (assumption). Calendar-year run-rate 0.60 (same, it is a quarter).
  Net-new at 0.75 = 0.75 x $1,600,000 / 4 = $300,000. Gap $60,000 more this quarter.
  S&M at 0.75 = $240,000 x 4 / 0.75 = $1,280,000. Spend would have to fall $320,000.
  Lagged against Q2 S&M $1,200,000: $240,000 x 4 / $1,200,000 = 0.80 (a different definition; not the headline).

Calculator on this page, prefilled: quarter, net-new $240,000, S&M $1,600,000, target 0.75. Every money line above matches.

Slack to #finance-revenue after each quarter closes:
"Magic Number {{period}}: {{mn}} on {{net_new}} net-new / {{sm}} S&M ({{band}} on the labeled bands).
 Target {{target}}: {{arr_gap}} net-new or {{sm_gap}} S&M. Sheet: {{sheet_url}}"

Tab history: period, net_new, sm, magic_number, band, arr_gap, sm_gap

Cost, time saved, and break-even

Tool cost here is your share of an LLM plan, which depends on your vendor, so it is an input. Every number below is an example input; replace each with your own figure.

Inputs (all assumptions)

Replace each value with your own figure.

  • THours a quarter to pull net-new ARR and S&M and compute Magic Number by hand5AssumptionTime the next board-pack efficiency slide.
  • VHours a quarter with the prompt or template (export, review the data check and the results)1AssumptionTime the first two quarterly runs.
  • RLoaded hourly cost of the FP&A or RevOps analyst$75AssumptionSalary plus benefits, divided by working hours.
  • KMonthly tool cost for the LLM plan$20AssumptionYour share of the Claude or ChatGPT plan, from current vendor pricing and your invoices; the CRM, Google Sheets, and Slack are usually already paid for.

Formulas

Time saved per quarterT - V
5 - 1 = 4 hours
Time saved per week(T - V) / 13
4 / 13 = 0.3 hours
Value of time saved per quarter(T - V) x R
4 x $75 = $300
Tool cost per quarterK x 3
$20 x 3 = $60
Break-even hours per quarterK x 3 / R
$60 / $75 = 0.8 hours, so the run covers its tool cost once it saves 48 minutes a quarter
Magic Number (fictional example data)(net new ARR x 4) / S&M
$240,000 x 4 / $1,600,000 = 0.60; $60,000 more net-new would hit a 0.75 target
  • The time math counts analyst time only. Changing S&M based on the gap can be a much larger number, but that decision is yours, so it is not added to the time savings.
  • A Magic Number is not a forecast. A price change, a mix shift, or a one-off expansion can move net-new without S&M changing. Recheck each quarter.
  • Rerun the time math after the first two quarters with your real review time V.

Common questions

How do you calculate the SaaS Magic Number?
Magic Number = (Net New ARR x 4) / S&M spend for the same period. In the fictional example Q3 net-new is $240,000 and S&M is $1,600,000, so $240,000 x 4 / $1,600,000 = 0.60. Net new ARR is new logos plus expansion minus contraction minus churn unless finance uses a different definition.
Should I annualize a month with x12?
Not for the scored Magic Number. This page keeps x4 for a month so the figure stays on the quarterly scale the labeled bands use. x12 on the same run-rate is three times larger (1.80 vs 0.60 in a month that is one third of the example quarter) and is shown as the calendar-year run-rate, not as the Magic Number.
Is 0.75 a healthy Magic Number?
It is an assumption on this page, not a benchmark. The labeled bands are under 0.5 inefficient, 0.5 to 0.75 ok, and above 0.75 strong. The fictional example uses a 0.75 target so the $60,000 ARR gap and the $320,000 S&M cut are visible. Use your own target.
Same-period S&M or lagged S&M?
The headline uses S&M from the same period as the net-new. Some board packs divide this quarter's net-new by last quarter's S&M because spend comes before the ARR. In the fictional example that lagged line is 0.80 against Q2 S&M of $1,200,000. Show it as a second definition, not as a replacement.
How much net-new ARR would hit the target?
Net-new at the target = target x S&M / 4. In the fictional example 0.75 x $1,600,000 / 4 = $300,000, so $60,000 more net-new this quarter at today's spend, or S&M of $1,280,000 at today's net-new. Those are sizing numbers, not a forecast of what more spend would produce.

Keep going

View all Finance/FP&A

Need help implementing a playbook?

Our team builds custom Clay workflows and AI automations for revenue teams.

Get it built for you