Measurement / calculator / Free to use
Observed CAC Payback Path and Reversal Calculator
Trace cumulative cohort contribution, the first observed recovery of acquisition cost and later refund reversals. No projected LTV or interpolated payback date.
Growthcraft Editorial · 2026-10-05. AI-assisted research and implementation. Examples are synthetic; Akshay's personal review is not claimed.
Enable JavaScript to change inputs in the interactive calculator. The complete formulas, default example and limitations are available below.
Prepare a fixed cohort
Supply total allocated acquisition cost, the original number of customers and 1–60 chronological, completed, equal-length customer-age buckets. Every bucket concerns the same cohort, including customers with no further purchases. Use one currency and the same tax and cost conventions throughout. The tool cannot validate source completeness or attribution.
Each row contains revenue before refunds but after discounts, refund amounts and net variable costs, all nonnegative. Costs can include product cost, fulfillment, shipping and payment fees under your declared boundary. Do not deduct refunds twice by also using already-net revenue. Do not include acquisition cost in these rows. If net costs or revenue require negative corrections, prepare a reconciled representation or use a richer ledger; the input model intentionally rejects them.
What is calculated
Bucket contribution = revenue − refunds − variable costs. Cumulative contribution is the sum through the bucket. A covered endpoint has cumulative contribution at least equal to allocated acquisition cost. CAC is total acquisition cost divided by starting customers. Coverage is cumulative contribution divided by acquisition cost; zero spend makes that ratio undefined.
The first crossing is the earliest covered endpoint, including the initial zero-cost state when spend is zero. The calculator separately reports whether a later endpoint falls below cost, whether the final endpoint covers it, and the start of the final uninterrupted run of covered observed endpoints. This last label says nothing about the future or what happened inside a bucket.
Reproduce the synthetic fixture
With acquisition cost 5,000 and 100 customers, the default rows yield contributions 1,500, 3,500, −600 and 1,200. Cumulative contribution is 1,500, 5,000, 4,400 and 5,600. CAC is 50; the first crossing is bucket 2; there is a reversal; the final balance is 600 and coverage 1.12×. The final covered run begins at bucket 4.
Delete the fourth row to see why a historical first crossing is not enough: the endpoint now has 600 remaining to recover. A refund-only bucket can legitimately have refunds greater than revenue. Zero contribution is valid, while a blank or missing row is not.
Interpretation and export
This is observed contribution accounting, not a causal test, cash-flow model, LTV forecast or budget optimizer. No unobserved future period is extrapolated and no fractional-bucket date is interpolated. Equal-age inputs are your responsibility. Use a finance-approved policy for delayed refunds and restatements.
Amounts accept up to two decimal places, at most 1,000,000 per field; customers are whole counts from 1 to 1,000,000. Integer cents keep the bounded arithmetic exact. These are implementation limits, not business targets. Copy/download contains the local inputs, scope and results; free-form values are not sent to analytics. Editing clears stale results; Reset example restores the fixture.