Business Metrics and Unit Economics Questions
The economics of how a business makes money, computed at the per-customer and per-unit level. Covers customer acquisition cost (blended and by channel, including which spend to include and how to allocate shared costs), customer lifetime value (simple, cohort-based, discounted, and probabilistic or censored-data estimates such as Pareto/NBD and Monte Carlo uncertainty), LTV:CAC ratio and CAC payback period, ARPU and ARPPU, gross, contribution and operating margin, and cost allocation across units. Includes subscription revenue metrics (MRR, ARR, expansion, contraction, customer versus revenue churn and net revenue retention, and how revenue recognition, discounts and refunds affect reported figures), marketplace and delivery economics (take rate, GMV, per-order contribution, supply-side value, break-even), cohort revenue curves, and sensitivity analysis on churn, price and acquisition cost. Reasons about what moves these numbers and whether growth is efficient: diagnosing a falling LTV, a rising CAC or a shrinking margin, deciding whether to scale a channel or segment, and presenting unit economics to executives. Includes SQL and spreadsheet implementations of these calculations. Also covers the growth-metric vocabulary and its arithmetic: AARRR metric mapping, activation-rate definitions, viral coefficient (K-factor) and referral conversion math, and churn and retention rate formulas, defined and computed as inputs to unit economics rather than as growth interventions. Metric governance, dashboard and pipeline engineering, attribution, experimentation, forecasting method and pricing strategy are covered elsewhere.
What does an LTV:CAC ratio of 3:1 tell you? What risk would a ratio of 10:1 raise, and what would you do in each case when the ratio is below 1, around 3, and far above 3?
Sample Answer
Direct answer
LTV:CAC compares what a customer is worth (lifetime gross profit, LTV) with what it cost to acquire them (CAC). A 3:1 ratio means each $1 of acquisition returns $3 of lifetime gross profit, a commonly quoted rule of thumb for an efficient business: it leaves room to pay for overhead, product and error in the estimate. A 10:1 ratio is not simply "great": it raises the risk that you are under-investing in growth, or that LTV is overstated or CAC understated. Action by band: below 1, stop scaling and diagnose; around 3, scale while watching payback and marginal CAC; far above 3, audit the inputs, then test spending more.
What 3:1 tells you and what it does not
It says the average acquired customer is profitable over its lifetime after serving costs. It does not say how fast cash comes back (payback), whether the next customers cost the same (marginal CAC), or whether LTV was measured on a mature cohort or projected from a few months. 3:1 is a convention, not a measured constant, and it moves with business type, margins and the cost of capital.
What the risk of 10:1 is
- Under-investment. If each dollar returns ten, you could likely spend more until returns fall toward a lower ratio. Leaving growth on the table is costly when competitors are buying the same customers.
- Measurement flattery. LTV may use churn from a young, loyal cohort, revenue instead of gross profit, or no discount. CAC may leave out salaries, credits or brand.
- Tiny, saturated pool. A 10:1 channel may only exist for a few hundred customers (people who already wanted you); scaling it may collapse the ratio.
Worked check and action by band
Take CAC = $200. LTV $150 gives 0.75, LTV $600 gives 3.0 and LTV $2,000 gives 10.
| Ratio | Example | Meaning | What I would do |
|---|---|---|---|
| Below 1 | LTV $150, CAC $200 | Each customer loses $50 over their life | Stop scaling the channel; find out if CAC is too high, margin too low or churn too high; fix the worst driver before spending more |
| Around 3 | LTV $600, CAC $200 | Healthy on average | Keep scaling, with payback and marginal CAC as guardrails; invest in retention if it is the cheaper lever |
| Far above 3 | LTV $2,000, CAC $200 | Suspiciously good or under-invested | Audit LTV and CAC definitions first; then run a spend test to see whether the ratio holds as spend rises |
Three caveats to verify before raising acquisition spend
- Marginal versus average CAC. The right test for spending more is incremental. Illustration: $100k buys 500 customers ($200 each), and the next $20k buys only 50 more, so marginal CAC is $20k / 50 = $400 and the marginal ratio at an LTV of $600 is 1.5, well below the 3.0 average.
- Payback and cash. A 3:1 ratio with a 30-month payback may be unaffordable if you cannot fund it.
- How LTV was measured. Mature cohorts, gross profit, a stated discount rate and a stated horizon.
Pitfalls
Treating the ratio as a target to maximise (that starves growth), comparing ratios built on different bases, and applying the rule of thumb across business models without checking.
A cohort model projects revenue over the next 12 months. The product manager asks how sensitive projected revenue is to a one percentage-point improvement in month-3 retention. How would you compute that quickly, and what would you show?
Sample Answer
Direct answer
Treat retention as a curve (the share of a signup cohort, meaning all customers who signed up in the same month, still paying at each month of age), raise the month-3 point by one percentage point, propagate that change to later months, re-run the 12-month revenue projection, and report the revenue difference in dollars and percent against the baseline. Because "propagate" is an assumption, show a range: later retention scales proportionally (the saved customers then leave at the same rate as everyone else) versus the one extra percentage point never leaving. Then show how much more leverage the same point has earlier or later on the curve.
Method
- Fix definitions. Month-3 retention is the share of a cohort still paying at age 3 (age 0 is the signup month). One percentage point is an absolute change, from 60% to 61%, which is a relative lift of 1/60, about 1.7%. Confusing absolute and relative changes is the commonest error in this question.
- Write revenue as a sum over cohorts. Revenue in month m = sum over cohorts of signups x retention at age (m minus signup month) x ARPU (average revenue per paying user per month).
- Perturb. Change only the age-3 point, then decide how later ages respond. Proportional scaling by 61/60 is the central case, the "saved customers never leave" case is the upper bound.
- Re-run and difference. The sensitivity is the new projection minus the baseline.
- Compare with other points on the curve so the product manager sees whether month 3 is where effort pays.
Worked example (illustrative curve and volumes)
1,000 signups a month for 12 months, ARPU $20, retention at ages 0 to 11 of 100%, 80%, 68%, 60%, 55%, 51%, 48%, 45%, 43%, 41%, 39%, 37.5%.
ARPU = 20.0
SIGNUPS = 1000
# share of a signup cohort still paying at age 0..11 (illustrative)
r = [1.00, 0.80, 0.68, 0.60, 0.55, 0.51, 0.48, 0.45, 0.43, 0.41, 0.39, 0.375]
def revenue(curve):
total = 0.0
for m in range(12): # projection months 0..11
for c in range(m + 1): # cohort signed up in month c
total += SIGNUPS * curve[m - c] * ARPU
return total
def bump(curve, k, pp=0.01):
f = (curve[k] + pp) / curve[k] # later ages scale by the same factor
return [x if i < k else x * f for i, x in enumerate(curve)]
base = revenue(r)
print(f"baseline 12-month revenue: ${base:,.0f}")
for k in (1, 3, 6):
new = revenue(bump(r, k))
print(f"+1pp at month {k}: ${new - base:,.0f} ({(new - base) / base:.2%})")
# upper bound: the extra 1pp never churns afterwards
ub = [x if i < 3 else x + 0.01 for i, x in enumerate(r)]
print(f"month 3, saved users never churn: ${revenue(ub) - base:,.0f} ({(revenue(ub) - base) / base:.2%})")
# analytic check: only revenue from ages >= 3 is scaled, by 0.61/0.60
affected = sum(SIGNUPS * r[m - c] * ARPU for m in range(12) for c in range(m + 1) if m - c >= 3)
print(f"revenue earned at age 3 or later: ${affected:,.0f}; times (0.61/0.60 - 1) = ${affected * (0.61/0.60 - 1):,.0f}")
baseline 12-month revenue: $1,004,100
+1pp at month 1: $9,551 (0.95%)
+1pp at month 3: $7,535 (0.75%)
+1pp at month 6: $3,848 (0.38%)
month 3, saved users never churn: $9,000 (0.90%)
revenue earned at age 3 or later: $452,100; times (0.61/0.60 - 1) = $7,535
Which cells a month-3 change reaches
A cohort that signed up in month c reaches age 3 in month c + 3, so only cohorts 0 to 8 (nine of the twelve) ever show an age-3 point inside the window. Cohort 0 is affected in months 3 to 11 (9 months), cohort 1 in 8 months, and so on down to cohort 8 in 1 month, while cohorts 9, 10 and 11 are not affected at all. That is 9 + 8 + ... + 1 = 45 affected cohort-month cells. In the code, revenue() loops over projection months and, inside each, over the cohorts that exist by then, reading the curve at age m minus c; bump() leaves ages below the changed one untouched and multiplies the rest by 0.61/0.60. The upper bound is therefore 45 cells x 1,000 signups x $20 x 0.01 = $9,000, exactly what the code prints.
What to show
- The headline: +1 percentage point at month 3 adds $7,535 over 12 months on a $1,004,100 baseline (+0.75%), and at most $9,000 (+0.90%) if the saved customers never churn.
- A small table, or a tornado chart (horizontal bars sorted from largest effect to smallest), of the same one-point change at months 1, 3 and 6 ($9,551, $7,535 and $3,848), showing that earlier retention gains are worth more because more months of the window sit after them.
- A line of baseline versus improved monthly revenue so the shape (the gap widens as more cohorts reach month 3) is visible. With this curve the monthly gap is $0 through month 2, $200 in month 3, $713 in month 6 and $1,398 in month 11, and the twelve monthly gaps sum to the $7,535 headline.
The effect is small within 12 months because only cohorts old enough to reach month 3 inside the window benefit: signups in the last three months of the window never reach age 3. Run-rate effects (the ongoing monthly revenue level once the change has fully worked through) beyond month 12 are larger, so say that the 12-month figure understates the steady-state value and give the horizon.
The analytic check matches the code: revenue earned at age 3 or later is $452,100, and scaling it by 61/60 adds $7,535.
Pitfalls
Reporting relative lift as absolute, assuming the improvement survives to every later age without saying so, ignoring that a measured month-3 retention of 60% carries a confidence interval (the range the true value plausibly lies in, so a one-point change on a few thousand users may be within noise), and mixing logo retention (the share of customers who stay, counted by head whatever they pay) with revenue retention if customers expand or contract.
A product earns recurring subscription revenue plus a one-time setup fee. When computing LTV:CAC, should the setup fee be added to LTV or netted against CAC? Recommend an approach and justify it.
Sample Answer
Direct answer
Keep CAC (customer acquisition cost) gross and add the setup fee's contribution (fee minus the cost of delivering the setup) to the customer's cash flows at month zero. Do not net the fee against CAC. Report LTV:CAC (lifetime value divided by acquisition cost) both with and without the setup contribution, and show payback net of it, so that nobody confuses a one-time fee with durable recurring value.
Why not net it against CAC
- CAC is a cost-of-acquisition measure that has to be comparable across channels, products and quarters. A fee that varies by deal, is discounted or waived, makes netted CAC non-comparable.
- Netting hides the fee's own economics. A setup fee is often smaller than the cost of delivering the setup (implementation hours), so a "net" figure can flatter the deal.
- It distorts the ratio: LTV:CAC explodes when the denominator approaches zero, creating false confidence.
- Exception: a genuinely separate reimbursement of costs incurred to acquire (rare) can be shown as an offset, labelled as such.
Why add it to LTV, as a month-zero cash flow
LTV is the sum of gross profit a customer produces. A setup fee is real gross profit, just not recurring. Count it once at t = 0, net of delivery cost, and keep it as a separate line so recurring and one-time value stay visible.
Worked example (illustrative)
- Subscription $100 a month, 80% gross margin, 4% monthly churn, so expected lifetime is 1 / 0.04 = 25 months.
- Subscription LTV = $100 x 0.80 / 0.04 = $2,000 (gross profit basis).
- CAC = $600. Setup fee $500, delivery cost $350, contribution $150.
| Treatment | Calculation | Result |
|---|---|---|
| Recurring only (baseline) | 2,000 / 600 | 3.33 |
| Fee contribution added to LTV (recommended) | (2,000 + 150) / 600 | 3.58 |
| Fee netted against CAC (full fee) | 2,000 / (600 - 500) | 20.0 |
| Fee contribution netted against CAC | 2,000 / (600 - 150) | 4.44 |
Payback: baseline 600 / 80 = 7.5 months; recommended view (600 - 150) / 80 = 5.6 months. The netted full-fee version reports 20:1, which is the number that would mislead a decision, because it ignores the $350 cost of delivering setup.
Sensitivity that matters
If the fee is waived on 40% of deals but delivery still costs $350, expected setup contribution is 0.6 x 500 - 350 = -$50. The fee's value depends on the waive rate, so LTV:CAC becomes (2,000 - 50) / 600 = 3.25, below baseline. Use the actual realised fee and cost data.
What I would report
LTV:CAC two ways (recurring-only; with setup contribution), payback net of contribution, and the waive rate. Make the same-basis rule explicit: both sides gross profit, same horizon.
Pitfalls
- Counting fee revenue without delivery cost.
- Mixing bases: recurring LTV on gross profit but fee on revenue.
- Letting the fee rationalise a high CAC; ratios that need the fee to look healthy are a warning sign.
MRR is growing 5% a month, but churn has risen from 2% to 4% and CAC is up 25% year over year. You have 30 days to present prioritised actions. What do you analyse first, what experiments do you start, and what short-term and strategic moves do you recommend?
Sample Answer
Direct answer
The headline (MRR, monthly recurring revenue, up 5% a month) is hiding a leaking bucket that is getting more expensive to refill. I would spend the first week proving the churn jump is real and finding where it sits, and in the same week recompute unit economics at the new churn and CAC (customer acquisition cost, sales and marketing spend per new customer won). From there I would launch four small experiments, make four short-term moves that need no proof and no experiment, and frame the strategic move around acquiring and keeping fewer, better-fit customers.
Terms: logo churn is the share of customers lost; MRR churn is the share of revenue lost (they differ when large accounts leave). A cohort is customers who signed up in the same period. Activation is a new customer's first valuable action. Involuntary churn is customers lost to failed payments rather than a decision. Paid CAC counts only spend and customers from paid channels; blended CAC counts all new customers, including organic. Marginal CAC is the cost of the next customers (the last dollar spent); average CAC is total spend over all customers. Channel saturation is a channel running out of cheap audience, so each extra dollar buys less. LTV:CAC is lifetime value divided by CAC. A guardrail is a metric that must not get worse while you chase the primary metric. A holdout is a comparable group left unchanged so you have something to compare against, and treatment is the group that gets the change. Save rate is the share of customers who started to cancel and stayed. A pause plan lets a customer freeze billing for a month or two instead of cancelling.
What the numbers already say (illustrative bridge on $500k MRR)
| Before (churn 2%) | Now (churn 4%) | |
|---|---|---|
| MRR lost to churn per month | $10k | $20k |
| Net growth (5%) | $25k | $25k |
| Gross adds (new plus expansion) needed | $35k | $45k (+29%) |
If all gross adds came from new customers of the same size, and CAC is 25% higher, the sales and marketing spend to hit 5% grows by about 1.29 x 1.25 = 1.6 times. At a constant 4% monthly churn, 38.7% of customers are gone after 12 months (1 - 0.96^12) versus 21.5% at 2% (1 - 0.98^12).
Unit economics at ARPA (average revenue per account) $200 per month and 80% gross margin (illustrative):
| Before | Now | |
|---|---|---|
| LTV (lifetime value) = 200 x 0.80 / churn | $8,000 | $4,000 |
| CAC | $2,000 | $2,500 |
| LTV:CAC | 4.0 | 1.6 |
| Payback = CAC / 160 | 12.5 months | 15.6 months |
| Share of a cohort still paying at payback (0.98^12.5 and 0.96^15.6) | 78% | 53% |
LTV halves and CAC grows 25%, so the ratio falls to 0.5 / 1.25 = 0.4 of its old value. Nearly half of each new cohort is gone before it earns back its acquisition cost. This assumes constant churn, which is a simplification.
What I analyse first, in order
- Is the churn number trustworthy? Check the definition (logo churn vs MRR churn, same window), billing-system or plan migrations, and whether 4% is an average of one bad cohort or a lasting shift. Cut: weekly churn series, logo and MRR side by side. Result decides whether this is a data issue or a business issue.
- Voluntary vs involuntary. Split cancellations into customer-chosen and failed-payment lapses. A big involuntary share means the cheapest fix is payment recovery, not product.
- Where it concentrates. Cut churn by signup cohort and tenure, plan, segment and acquisition channel. Concentrated in recent cohorts points to acquisition quality or onboarding; spread across all cohorts points to product, price or a competitor.
- Why CAC rose. Separate paid CAC from blended, split by channel, and check funnel conversion by stage. Rising spend with flat conversion means channel saturation; falling conversion means worse targeting or a worse offer. Compare marginal CAC (the last dollar) with average.
- Join 3 and 4. Compute LTV:CAC and payback by channel. The common story is a new, cheap-to-scale channel buying customers who churn faster, which explains both signals at once.
Experiments to start inside 30 days
| Experiment | Hypothesis | Primary metric | Guardrail | Readout |
|---|---|---|---|---|
| Payment retry schedule and card-update reminders | Failed payments are a large share of churn | Recovered MRR share | Support tickets | 2 to 4 weeks |
| Day-1 to day-14 onboarding nudge for unactivated accounts | Activation drives retention | 14-day activation rate (leading indicator, since churn cannot read in 30 days) | Unsubscribe rate | 3 to 4 weeks |
| Pause the lowest-payback channel in a randomly chosen half of campaigns or regions | The channel adds cost without incremental customers | New MRR and blended CAC, treatment vs holdout | Pipeline volume | 3 weeks |
| Cancel flow with reason capture and a pause-plan offer | Some cancellations are temporary or price-driven | Save rate and reason mix | Discount cost, repeat cancels | 4 weeks |
Reading the pause experiment (illustrative numbers): split 40 campaigns or regions at random into 20 paused and 20 running. After three weeks, compare average new MRR per region and blended CAC between the two groups. If regions vary by about $4k of new MRR (standard deviation), the random wobble in the difference of two group averages is 4 x sqrt(2 / 20) = about $1.3k, so a gap under about $2.5k (two standard errors) is noise. A paused group that loses little new MRR while saving the spend shows the channel was not adding customers. Check the guardrail (pipeline volume) at the same time.
Recommendations
Short-term (no proof needed): fix payment recovery, stop adding discounts to close deals, cap spend in channels whose payback exceeds what cash allows, and personally contact the highest-MRR at-risk accounts.
Strategic: narrow to the customer profile whose cohorts retain, rebuild onboarding around the behaviour that predicts retention, offer annual plans to shift churn decisions from monthly to yearly, and make LTV:CAC by channel (not blended CAC) the budget rule.
On day 30 present one page: the bridge, the cohort finding, results to date, and three ranked actions with owner and metric.
Pitfalls and what would change my call
- Do not read one month of churn as a trend until step 1 is done.
- Churn experiments cannot finish in 30 days, so judge them on leading indicators and say so.
- If churn started the week after a price change or a release, the first action is a rollback test, not a growth programme.
A cohort of 1,000 users signs up and retention over months 1 to 6 is 80, 70, 60, 55, 52 and 50 percent. Calculate the cohort's median customer lifetime in months. How does median lifetime differ from the average lifetime implied by one over churn, and which is more robust when a few customers stay for years?
Sample Answer
Direct answer
The median customer lifetime is 6 months: it is the first month at which the share of the cohort still active falls to 50% or below (500 of 1,000 at month 6). The "average lifetime = 1 / churn" figure is a different quantity, an assumed mean under constant churn, and here it gives 9.2 months if you choose the churn that matches the 6-month survival, and anywhere from 5.0 to 26.0 months depending on which month's churn you plug in. When a few customers stay for years, the median barely moves while the mean can swing, so the median is the more robust summary.
Terms: retention is the share of the original cohort still active at a month; churn is the share of customers lost in a month; median lifetime is the time by which half the cohort has left; mean lifetime is the average across all customers, including long-stayers; LTV (lifetime value) is the total gross profit a customer generates before leaving; Kaplan-Meier is a method for estimating survival that, at each month, divides departures only by the customers still being observed.
Calculation
Survival starting at 100% at month 0: 80, 70, 60, 55, 52, 50%. The median is the first month where survival is 50% or less: month 6 (exactly 50%). Monthly churn is the fall from one month to the next as a share of the previous: 20.0%, 12.5%, 14.3%, 8.3%, 5.5%, 3.8%.
import math
surv = [1.0, 0.80, 0.70, 0.60, 0.55, 0.52, 0.50] # month 0..6, share of the 1,000 still active
n = 1000
print("month active survival monthly churn")
for t in range(1, 7):
print(f"{t:>5} {n*surv[t]:>6.0f} {surv[t]:>7.0%} {1-surv[t]/surv[t-1]:>8.1%}")
# median: first month where survival <= 50%
median = next(t for t, s in enumerate(surv) if s <= 0.5)
print("median lifetime (months):", median)
# average implied by 1/churn under three ways of picking one churn rate
avg_churn = 1 - surv[6] ** (1 / 6)
print(f"constant churn matching 6-month survival: {avg_churn:.2%} -> 1/churn = {1/avg_churn:.1f} months")
last = 1 - surv[6] / surv[5]
print(f"month-6 churn only: {last:.2%} -> 1/churn = {1/last:.1f} months")
first = 1 - surv[1]
print(f"month-1 churn only: {first:.2%} -> 1/churn = {1/first:.1f} months")
# restricted mean lifetime within 6 months (area under curve, trapezoid)
rmst = sum((surv[t] + surv[t + 1]) / 2 for t in range(6))
print(f"restricted mean lifetime in first 6 months: {rmst:.2f} months")
# robustness: 20 of the 500 retained customers stay 5 years (60 months) instead of leaving at month 7 (assumed)
extra = 20 * (60 - 7) / n
print(f"adding 20 of 1,000 customers staying to month 60 instead of leaving at month 7 adds {extra:.2f} months to the mean; median stays 6")
month active survival monthly churn
1 800 80% 20.0%
2 700 70% 12.5%
3 600 60% 14.3%
4 550 55% 8.3%
5 520 52% 5.5%
6 500 50% 3.8%
median lifetime (months): 6
constant churn matching 6-month survival: 10.91% -> 1/churn = 9.2 months
month-6 churn only: 3.85% -> 1/churn = 26.0 months
month-1 churn only: 20.00% -> 1/churn = 5.0 months
restricted mean lifetime in first 6 months: 3.92 months
adding 20 of 1,000 customers staying to month 60 instead of leaving at month 7 adds 1.06 months to the mean; median stays 6
Where the 10.91% comes from: if churn were the same rate c every month, the share left after 6 months would be (1 - c)^6. Setting that equal to the observed 50% gives 1 - c = 0.5^(1/6) = 0.8909, so c = 10.91% and 1 / c = 9.2 months. The restricted mean lifetime is the average number of months a customer was still active within the first 6 months. On a chart of survival against month it is the area under the curve; the trapezoid rule averages each month's starting and ending survival: (1.00 + 0.80) / 2 = 0.90, then 0.75, 0.65, 0.575, 0.535 and 0.51, which sum to 3.92. It is only a floor for the true mean, because it ignores everything after month 6, so 3.92 is not an estimate of mean lifetime.
Which 1 / churn is "the" one? The usual reading is a single average churn rate for the whole period, so 9.2 months is the like-for-like comparison with the 6-month median. The 5.0 and 26.0 figures show what happens if you plug in one month's churn instead.
Median versus 1 / churn
| Measure | Value | What it assumes |
|---|---|---|
| Median lifetime | 6 months | Nothing about the shape of the curve; reads directly from the data |
| 1 / churn, using month 1 churn (20.0%) | 5.0 months | Churn stays at its first-month level forever |
| 1 / churn, using constant churn that reproduces 6-month survival (10.91%) | 9.2 months | Churn is constant, which the data contradicts |
| 1 / churn, using month 6 churn (3.85%) | 26.0 months | Late churn lasts forever; this extrapolates far beyond the data |
| Restricted mean, first 6 months (area under the curve) | 3.92 months | Counts only time observed |
The spread from 5.0 to 26.0 months shows why one-over-churn is fragile: churn falls with tenure here (a few high-risk customers leave early, the rest are stickier), so the constant churn assumption fails and the answer depends on which month you pick. In one line: the median asks only whether a customer is before or after the half-way mark, so extreme stayers do not move it, while the mean adds up how long everyone stayed, so one 5-year customer pulls it up. The mean lifetime is also dominated by the tail: if 20 of the 500 customers still active at month 6 stay for 5 years rather than leaving at month 7 (an assumed illustration), the mean rises by 1.06 months and the median stays 6.
Caveats
- The median sits exactly on the last observed point (50% at month 6). Had month 6 been 51%, the data alone would not yield a median; you would need a curve fit or more months.
- This treats the retention vector as complete for the cohort. If some customers signed up recently enough to be unobserved at month 6, they are right-censored (their outcome is not known yet); use a survival estimator such as Kaplan-Meier (which only counts a customer as at risk for the months they have actually been observed) instead of counting them as retained.
- For revenue questions, a median lifetime understates the value of the long-stayers who pay most; use the median to describe the typical customer and a capped or discounted mean for LTV.
Unlock Full Question Bank
Get access to all Business Metrics and Unit Economics interview questions and detailed answers.
Sign in to ContinueJoin thousands of developers preparing for their dream job.