Mobile LTV & ROAS Modeler

Fit a retention curve from D1-D30, project LTV & ROAS to D720, and reverse-solve the early ROAS you need to break even. Zero dependencies, nothing leaves your browser.

Part of the UA suite · Lift Lab

Quick start — load a profile

Retention (%)

Monetization & UA

Model

Growth models payer concentration: survivors' ARPDAU often rises over a cohort's life.

Long-horizon anchor (optional)

Pin the tail with a real D60 / D90 / D180 retention point so the curve isn't extrapolating blind. Leave empty to fit on D1-D30 only.
D30 LTV
D180 LTV
D360 LTV
Payback day

Retention curve — fitted (line) vs your inputs (dots)

fitted   D1–D30 anchors   long-horizon anchor

Cumulative LTV vs eCPI — break-even where the curve crosses the dashed line

LTV / ROAS table

DayCum. active daysLTVROAS

Reverse solver — what do I need to break even?

Required early ROAS comes purely from curve shape (LTV-unlock ratio), independent of eCPI or ARPDAU level.

Project from a live campaign

Scales your observed early ROAS by the model's maturation multiple: ROAS(Y) = ROAS(X) × LTV(Y)/LTV(X).
Model & assumptions — read before trusting a D720 number

Retention fit. Anchor points D1/D3/D7/D14/D30 (plus an optional long-horizon point) are fit by least-squares regression. Power-law: R(d) = A·d^b (log-log regression). Exponential: R(d) = A·e^(b·d) (semi-log). Blended averages the two predicted curves. Day 0 (install day) retention = 1.0.

Active days. ActiveDays(N) = 1 + Σ R(d) for d = 1…N (sum of fitted daily retention, plus the install day).

LTV. LTV(N) = Σ ARPDAU(d)·R(d), where ARPDAU(d) = ARPDAU₀·(1+g)^(d/30) and g is the growth/30d input (0 = constant ARPDAU).

ROAS. ROAS(N) = LTV(N) / eCPI × 100%. Payback day = first day LTV ≥ eCPI.

Reverse solver. Required ROAS at day E to hit target T% by day H: T × LTV(E)/LTV(H). Required ARPDAU: ARPDAU₀ × (eCPI·T/100) / LTV(H). Max viable eCPI: LTV(H)·100/T.

Campaign projection. Projected ROAS at day Y from an observed ROAS at day X: ROAS_obs × LTV(Y)/LTV(X) (assumes the modeled curve shape matches the live cohort).

Caveat. Without a long-horizon anchor the fit is built on ≤30 days, so D360/D720 are pure extrapolation. Real long-tail retention usually flattens (power-law can under-count survivors) and ARPDAU drifts up. Add a real D60/D90/D180 point, use the growth input, and treat far-horizon numbers as a band, not a point.

Single-file, no dependencies, no data leaves the browser. Built for game producers & UA teams.