Skip to content
Bach.ai

Paid Acquisition Cohort Value: A Realized Model

Updated August 27, 2026

For the surrounding account decisions, compare Paid Acquisition Retention: An Experiment Design and use Value vs Purchase Optimization: Which Bid Goal Holds Margin as the next diagnostic.

In short

Calculate realized cohort value before forecasting. Make that decision from cohort age, recognized revenue, variable costs, churn, refunds, and payback, not a category benchmark, a vendor promise, or a diagnostic label.

Cohort value is realized over time; it is not a multiple attached to a category. Keep acquisition cohort, order age, recognized revenue, refunds, variable costs, and cancellation states visible.

Evidence System of record Window Required exception log
Cohort age Customer acquisition and order-occurrence ledger Declared cohort or observation window Missing, late, excluded, or unmatched rows
Recognized revenue Commerce order and refund ledger Declared cohort or observation window Missing, late, excluded, or unmatched rows
Variable costs Product, fulfilment, payment, service, and return ledgers Declared cohort or observation window Missing, late, excluded, or unmatched rows
Churn Subscription or customer-status ledger Declared cohort or observation window Missing, late, excluded, or unmatched rows
Refunds Commerce refund ledger joined to original orders Declared cohort or observation window Missing, late, excluded, or unmatched rows
Payback Cohort contribution model built from reconciled ledgers Declared cohort or observation window Missing, late, excluded, or unmatched rows

The worksheet is deliberately blank. Populate it with the operator’s records. A missing value remains missing; it cannot be replaced by a favorable benchmark.

Apply the cohort age record

Cohort age in this decision

For the decision to calculate realized cohort value before forecasting, record cohort age before comparing periods or cells. Use the system that owns the record, state which rows qualify, select the timestamp that assigns each row to the window, and list the exceptions that remove a row. Explain how a change in cohort age would alter the branch—and which contrary evidence would leave the decision unchanged. An unavailable cohort age field stays unavailable rather than becoming a guessed benchmark.

Recognized revenue in this decision

For the decision to calculate realized cohort value before forecasting, record recognized revenue before comparing periods or cells. Use the system that owns the record, state which rows qualify, select the timestamp that assigns each row to the window, and list the exceptions that remove a row. Explain how a change in recognized revenue would alter the branch—and which contrary evidence would leave the decision unchanged. An unavailable recognized revenue field stays unavailable rather than becoming a guessed benchmark.

Variable costs in this decision

For the decision to calculate realized cohort value before forecasting, record variable costs before comparing periods or cells. Use the system that owns the record, state which rows qualify, select the timestamp that assigns each row to the window, and list the exceptions that remove a row. Explain how a change in variable costs would alter the branch—and which contrary evidence would leave the decision unchanged. An unavailable variable costs field stays unavailable rather than becoming a guessed benchmark.

Churn in this decision

For the decision to calculate realized cohort value before forecasting, record churn before comparing periods or cells. Use the system that owns the record, state which rows qualify, select the timestamp that assigns each row to the window, and list the exceptions that remove a row. Explain how a change in churn would alter the branch—and which contrary evidence would leave the decision unchanged. An unavailable churn field stays unavailable rather than becoming a guessed benchmark.

Refunds in this decision

For the decision to calculate realized cohort value before forecasting, record refunds before comparing periods or cells. Use the system that owns the record, state which rows qualify, select the timestamp that assigns each row to the window, and list the exceptions that remove a row. Explain how a change in refunds would alter the branch—and which contrary evidence would leave the decision unchanged. An unavailable refunds field stays unavailable rather than becoming a guessed benchmark.

Payback in this decision

For the decision to calculate realized cohort value before forecasting, record payback before comparing periods or cells. Use the system that owns the record, state which rows qualify, select the timestamp that assigns each row to the window, and list the exceptions that remove a row. Explain how a change in payback would alter the branch—and which contrary evidence would leave the decision unchanged. An unavailable payback field stays unavailable rather than becoming a guessed benchmark.

Branching procedure for calculate realized cohort value before forecasting

  1. Capture cohort age. Freeze its definition before the read, retain the raw extract, and note the evidence that would invalidate this step.
  2. Reconcile recognized revenue. Freeze its definition before the read, retain the raw extract, and note the evidence that would invalidate this step.
  3. Inspect variable costs. Freeze its definition before the read, retain the raw extract, and note the evidence that would invalidate this step.
  4. Declare churn. Freeze its definition before the read, retain the raw extract, and note the evidence that would invalidate this step.
  5. Segment refunds. Freeze its definition before the read, retain the raw extract, and note the evidence that would invalidate this step.
  6. Audit payback. Freeze its definition before the read, retain the raw extract, and note the evidence that would invalidate this step.

After those checks, write the proposed action and its leading alternative explanation side by side. The approver should be able to reject the action without losing the evidence record.

Filled decision matrix

Cohort row Numerator Denominator / state Reporting rule
Acquisition Recognized first-order revenue − first-order variable costs − acquisition spend All newly acquired customers in cohort Keep customers no older than the same acquisition window together
Renewal at age m Recognized renewal revenue − renewal variable costs Customers eligible to reach age m Separate successful renewal, churn, pause, failure, and refund
Cumulative contribution Sum of realized contribution through age m Original acquired cohort or eligible-customer basis, labelled explicitly Never insert forecast months into realized value
Payback First age where cumulative cohort contribution is at least zero Cohort observation ages actually reached If zero is not reached, report “not reached”

Formulas used in this Paid Acquisition Cohort Value — A Realized Model review

  • Realized value per acquired customer at age m = (recognized cohort revenue − product, fulfilment, payment, refund, service, and acquisition costs through age m) ÷ (customers acquired in the original cohort). Source/window: the named first-party systems of record, reconciled for the exact eligible population and declared observation window. Limitation: This is observed contribution per acquired customer, not forecast LTV.

  • Cohort retention at age m = (customers in the acquisition cohort still active at age m) ÷ (customers in that cohort eligible to reach age m). Source/window: first-party customer and order cohorts restricted to customers eligible to reach age m. Limitation: Exclude younger customers and state how pauses and reactivations are treated.

  • Forecast LTV per acquired customer = (sum of forecast recognized revenue − forecast variable costs across declared future ages) ÷ (customers in the acquisition cohort). Source/window: the named first-party systems of record, reconciled for the exact eligible population and declared observation window. Limitation: Keep this forecast column separate and disclose retention, margin, horizon, and discount assumptions.

  • Payback attainment rate at age m = (acquired customers whose cumulative individual contribution reached zero by age m) ÷ (acquired customers old enough to reach age m). Source/window: first-party customer and order cohorts restricted to customers eligible to reach age m. Limitation: If cumulative contribution stays negative, report payback not reached.

  • Gross margin = (recognized revenue − COGS) ÷ (recognized revenue). Use a decimal. Break-even ROAS = (1) ÷ (gross margin as a decimal). This gross-margin floor excludes other variable costs. MER is never called blended ROAS.

Filled six-field card for calculate realized cohort value before forecasting

  • Hypothesis: completing calculate realized cohort value before forecasting changes the declared economic decision when its reconciled numerator or denominator crosses the reader’s frozen decision boundary; no crossing falsifies the action case.
  • Controlled variables: hold recognized revenue, variable costs, churn, refunds, payback fixed, along with attribution definitions and calendar treatment.
  • Budget allocation: record $0 incremental media spend; log the engineering, analysis, and approval time used by this review.
  • Window: use the reader’s observed delivery and purchase lag plus the applicable cancellation and return-maturity window; assign no universal number of days.
  • Primary metric: Realized value per acquired customer at age m using the explicit numerator and denominator above; the applicable matured contribution formula is the economic tie-breaker.
  • Stop/read rule: stop for integrity, consent, policy, inventory, or cash risk; read only after the declared window matures.
  • Inconclusive rule: report inconclusive when the eligible population, controlled comparison, source reconciliation, or maturity condition is absent.

Limits of this offer-pricing-retention-ltv read

Forecasts belong in a separate column with explicit assumptions and sensitivity cases. Scaling from an unmatured projection converts uncertainty into spend risk.

Attribution assigns credit under a method; incrementality estimates what changed because of exposure. A matched-period read is observational. Use a suitable controlled design for a causal claim and state interference, compliance, and statistical limitations.

Where Meta platform behavior matters, re-check the current Meta Business Tools Terms and linked product documentation before implementation; link accessed 2026-08-27. Use consented data, minimum necessary fields, restricted access, and documented deletion handling.

Can software help?

Bach.ai audits your connected Meta account against 100+ checks, ranks what it finds by estimated impact, and proposes specific fixes. It stays read-only until you approve a change, then executes the approved change on Meta; connected Google Ads data is used for intelligence only. Think of it as an automated audit layer that surfaces issues and proposed fixes for your review — not a replacement for your team’s judgment, and it does not generate your creative.

Common mistakes

  • Reading cohort age without its declared source and window.
  • Treating payback as a causal verdict rather than one input to the decision.
  • Changing eligibility or the primary denominator after seeing the result.
  • Acting before purchase, cancellation, or return evidence has matured.

FAQ

What records belong in the Paid Acquisition Cohort Value: A Realized Model review?

Begin with cohort age, recognized revenue, variable costs, churn, refunds, and payback. Record the eligible population, owner, timestamps, exclusions, maturity window, and primary denominator so another operator can reproduce the read.

Which Paid Acquisition Cohort Value: A Realized Model branch follows a failed cohort age check?

Stop the performance interpretation and repair or classify the failed record first. A missing or unreconciled cohort age input cannot support the calculate realized cohort value before forecasting decision.

Can Paid Acquisition Cohort Value: A Realized Model establish incremental revenue?

No. Paid ROAS is (Meta-attributed revenue) ÷ (Meta spend). Incrementality asks what changed because of exposure and needs a suitable comparison design.

When is the Paid Acquisition Cohort Value: A Realized Model test inconclusive?

Use that label when cohort age cannot be reconciled, a required control changed, the eligible population misses the declared read condition, or the outcome window remains open.

See what your Meta ads are really costing you.

Connect your account and Bach ranks every revenue leak in minutes — each with the money it costs and a one-tap fix. Free for 7 days, no credit card.

Start Free Audit
Start your free audit