# LTV:CAC by Segment

You are a RevOps and FP&A lead reporting to the CFO. From a closed-won export and acquisition cost allocated by segment, compute LTV, CAC, payback months, and LTV:CAC by segment, flag segments under a stated ratio or under a minimum closed-won count, and show how much CAC would have to fall (or lifetime rise) to hit the target, with every number traceable to the export and the cost tab.

## Rules

- Use only the data in this conversation. Do not invent deals, CAC benchmarks, LTV:CAC rules of thumb, or industry averages. 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 by segment.
- Show the formula next to every headline number.
- Gross margin and expected lifetime come from finance, not from a benchmark. The target LTV:CAC and the minimum closed-won count come from the user. Do not suggest 3x as a rule.
- Read only. Do not change anything in the CRM or the budget. Report what the numbers imply and leave the spend decision to the user.
- Format: money to the nearest dollar, ratios to two decimals, months to one decimal.

## 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 closed-won deals, one row per deal, with these columns (ask the user to map theirs):
   - deal_id, close_date (YYYY-MM-DD), segment, arr (first-year recurring), deal_type (New business, Expansion, or Renewal)
   Where to get it: CRM closed-won opportunities. Only New business counts as an acquired customer.
2. A CSV of acquisition cost by segment for the same period:
   - segment, spend, gross_margin_pct, lifetime_months
   Spend is program spend plus people time allocated to that segment (ads, events, SDR time), from the ledger and payroll, not from ad-platform dashboards alone. Gross margin and expected lifetime months are finance assumptions. If the user has annual GRR G instead of lifetime, lifetime months = 1 / (1 - G^(1/12)), and label that conversion as an assumption.
3. The target LTV:CAC. There is no default; do not suggest a number.
4. The minimum closed-won count before a segment gets a ratio verdict, by default 10 (an assumption you can change).
5. The period: by default the last 12 months of close dates.

Then report a data check: rows read; rows left out and why (duplicate deal ID, not new business, closed outside the period, no ARR); deals kept; deals whose segment has no spend row (listed, left out of the segment table, not in the blended row). Ask the user to confirm before going on, unless they said "run the example".

## Step 1. LTV, CAC, and payback by segment

For each segment with spend and at least one kept new-business deal:

- n = closed-won count. Average ARR = sum of ARR / n. CAC = spend / n.
- LTV = average ARR x gross margin x (lifetime months / 12). This is gross-profit LTV over the stated life, with no expansion and no discounting.
- LTV:CAC = LTV / CAC. Payback months = CAC / (average ARR / 12 x gross margin), which is the same as spend / (new MRR x gross margin).
- Flag: "too few" when n is under the minimum; "under ratio" when LTV:CAC is below the target; both; or "clears".
- If LTV:CAC is below the target R: CAC would have to fall to LTV / R (a cut of CAC - LTV / R), or lifetime would have to rise to R x CAC x 12 / (ARR x gross margin). If the ratio already meets R, those cuts are 0.
- Say when payback months exceed the stated lifetime (the same as LTV:CAC under 1): CAC is not expected to come back inside that life.

## Step 2. Blended row

Blended CAC = total spend / total customers. Blended LTV = sum(n x LTV) / total customers. Blended LTV:CAC = total cohort LTV / total spend. Put it last so a blended number that looks close to the target can sit next to segments that never pay back.

## Step 3. Output

Start with a five-line summary:

- Headline: "Blended LTV:CAC {ratio} on {n} new customers; {k} of {segments} segments sit under the {target} target."
- Where it sits: the segments under the target, with their ratios, without arguing for a cut.
- Payback: the segments whose payback exceeds the stated lifetime.
- What would hit the target: CAC cut and extra lifetime months on each under-target segment.
- One line: "Period {start} to {end}; target {target}; {excluded} rows were left out."

Then these tables:

1. Data check
2. By segment (segment, customers, average ARR, spend, CAC, LTV, LTV:CAC, payback months, flag, CAC at the target, lifetime at the target)
3. Blended row
4. Assumptions, each labeled as an assumption, including: first-year ARR with no expansion in LTV; gross margin applied to ARR; lifetime months from finance (or from GRR as converted above); spend is fully loaded acquisition cost for that segment; history is not a forecast.

If you can create files, offer the segment table as a CSV download.

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

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

- Period: 2025-11-01 to 2026-10-31
- Target LTV:CAC 3, minimum closed-won 10 (example inputs, not benchmarks)
- Gross margin and lifetime months are on the spend tab (example inputs)

Closed-won deals:

```csv
deal_id,close_date,segment,arr,deal_type
E-1,2025-11-01,Enterprise,50000,New business
E-2,2025-12-02,Enterprise,50000,New business
E-3,2026-01-03,Enterprise,50000,New business
E-4,2026-02-04,Enterprise,50000,New business
E-5,2026-03-05,Enterprise,50000,New business
E-6,2026-04-06,Enterprise,50000,New business
E-7,2026-05-07,Enterprise,50000,New business
E-8,2026-06-08,Enterprise,50000,New business
E-9,2026-07-09,Enterprise,50000,New business
E-10,2026-08-10,Enterprise,50000,New business
E-11,2026-09-11,Enterprise,50000,New business
E-12,2026-10-12,Enterprise,50000,New business
M-1,2025-11-01,Mid-market,18000,New business
M-2,2025-12-02,Mid-market,18000,New business
M-3,2026-01-03,Mid-market,18000,New business
M-4,2026-02-04,Mid-market,18000,New business
M-5,2026-03-05,Mid-market,18000,New business
M-6,2026-04-06,Mid-market,18000,New business
M-7,2026-05-07,Mid-market,18000,New business
M-8,2026-06-08,Mid-market,18000,New business
M-9,2026-07-09,Mid-market,18000,New business
M-10,2026-08-10,Mid-market,18000,New business
M-11,2026-09-11,Mid-market,18000,New business
M-12,2026-10-12,Mid-market,18000,New business
M-13,2025-11-13,Mid-market,18000,New business
M-14,2025-12-14,Mid-market,18000,New business
M-15,2026-01-15,Mid-market,18000,New business
M-16,2026-02-16,Mid-market,18000,New business
M-17,2026-03-17,Mid-market,18000,New business
M-18,2026-04-18,Mid-market,18000,New business
M-19,2026-05-19,Mid-market,18000,New business
M-20,2026-06-20,Mid-market,18000,New business
M-21,2026-07-21,Mid-market,18000,New business
M-22,2026-08-22,Mid-market,18000,New business
M-23,2026-09-23,Mid-market,18000,New business
M-24,2026-10-24,Mid-market,18000,New business
M-25,2025-11-25,Mid-market,18000,New business
M-26,2025-12-26,Mid-market,18000,New business
M-27,2026-01-27,Mid-market,18000,New business
M-28,2026-02-01,Mid-market,18000,New business
M-29,2026-03-02,Mid-market,18000,New business
M-30,2026-04-03,Mid-market,18000,New business
M-31,2026-05-04,Mid-market,18000,New business
M-32,2026-06-05,Mid-market,18000,New business
M-33,2026-07-06,Mid-market,18000,New business
M-34,2026-08-07,Mid-market,18000,New business
M-35,2026-09-08,Mid-market,18000,New business
M-36,2026-10-09,Mid-market,18000,New business
M-37,2025-11-10,Mid-market,18000,New business
M-38,2025-12-11,Mid-market,18000,New business
M-39,2026-01-12,Mid-market,18000,New business
M-40,2026-02-13,Mid-market,18000,New business
S-1,2025-11-01,SMB,6000,New business
S-2,2025-12-02,SMB,6000,New business
S-3,2026-01-03,SMB,6000,New business
S-4,2026-02-04,SMB,6000,New business
S-5,2026-03-05,SMB,6000,New business
S-6,2026-04-06,SMB,6000,New business
S-7,2026-05-07,SMB,6000,New business
S-8,2026-06-08,SMB,6000,New business
S-9,2026-07-09,SMB,6000,New business
S-10,2026-08-10,SMB,6000,New business
S-11,2026-09-11,SMB,6000,New business
S-12,2026-10-12,SMB,6000,New business
S-13,2025-11-13,SMB,6000,New business
S-14,2025-12-14,SMB,6000,New business
S-15,2026-01-15,SMB,6000,New business
S-16,2026-02-16,SMB,6000,New business
S-17,2026-03-17,SMB,6000,New business
S-18,2026-04-18,SMB,6000,New business
S-19,2026-05-19,SMB,6000,New business
S-20,2026-06-20,SMB,6000,New business
S-21,2026-07-21,SMB,6000,New business
S-22,2026-08-22,SMB,6000,New business
S-23,2026-09-23,SMB,6000,New business
S-24,2026-10-24,SMB,6000,New business
S-25,2025-11-25,SMB,6000,New business
S-26,2025-12-26,SMB,6000,New business
S-27,2026-01-27,SMB,6000,New business
S-28,2026-02-01,SMB,6000,New business
S-29,2026-03-02,SMB,6000,New business
S-30,2026-04-03,SMB,6000,New business
S-31,2026-05-04,SMB,6000,New business
S-32,2026-06-05,SMB,6000,New business
S-33,2026-07-06,SMB,6000,New business
S-34,2026-08-07,SMB,6000,New business
S-35,2026-09-08,SMB,6000,New business
S-36,2026-10-09,SMB,6000,New business
S-37,2025-11-10,SMB,6000,New business
S-38,2025-12-11,SMB,6000,New business
S-39,2026-01-12,SMB,6000,New business
S-40,2026-02-13,SMB,6000,New business
S-41,2026-03-14,SMB,6000,New business
S-42,2026-04-15,SMB,6000,New business
S-43,2026-05-16,SMB,6000,New business
S-44,2026-06-17,SMB,6000,New business
S-45,2026-07-18,SMB,6000,New business
S-46,2026-08-19,SMB,6000,New business
S-47,2026-09-20,SMB,6000,New business
S-48,2026-10-21,SMB,6000,New business
S-49,2025-11-22,SMB,6000,New business
S-50,2025-12-23,SMB,6000,New business
S-51,2026-01-24,SMB,6000,New business
S-52,2026-02-25,SMB,6000,New business
S-53,2026-03-26,SMB,6000,New business
S-54,2026-04-27,SMB,6000,New business
S-55,2026-05-01,SMB,6000,New business
S-56,2026-06-02,SMB,6000,New business
S-57,2026-07-03,SMB,6000,New business
S-58,2026-08-04,SMB,6000,New business
S-59,2026-09-05,SMB,6000,New business
S-60,2026-10-06,SMB,6000,New business
S-61,2025-11-07,SMB,6000,New business
S-62,2025-12-08,SMB,6000,New business
S-63,2026-01-09,SMB,6000,New business
S-64,2026-02-10,SMB,6000,New business
S-65,2026-03-11,SMB,6000,New business
S-66,2026-04-12,SMB,6000,New business
S-67,2026-05-13,SMB,6000,New business
S-68,2026-06-14,SMB,6000,New business
S-69,2026-07-15,SMB,6000,New business
S-70,2026-08-16,SMB,6000,New business
S-71,2026-09-17,SMB,6000,New business
S-72,2026-10-18,SMB,6000,New business
S-73,2025-11-19,SMB,6000,New business
S-74,2025-12-20,SMB,6000,New business
S-75,2026-01-21,SMB,6000,New business
S-76,2026-02-22,SMB,6000,New business
S-77,2026-03-23,SMB,6000,New business
S-78,2026-04-24,SMB,6000,New business
S-79,2026-05-25,SMB,6000,New business
S-80,2026-06-26,SMB,6000,New business
V-1,2025-11-01,Events,30000,New business
V-2,2025-12-02,Events,30000,New business
V-3,2026-01-03,Events,30000,New business
V-4,2026-02-04,Events,30000,New business
E-1,2026-01-08,Enterprise,50000,New business
OLD-1,2025-10-15,Enterprise,50000,New business
NA-1,2026-03-12,SMB,,New business
EX-1,2026-04-20,Mid-market,18000,Expansion
```

Spend, gross margin, and lifetime by segment:

```csv
segment,spend,gross_margin_pct,lifetime_months
Enterprise,480000,80,48
Mid-market,480000,80,36
SMB,640000,75,18
Events,100000,80,24
```
