← Back to Glossary
Customer Lifetime Value

LTV
Calculation.

Updated

LTV calculation sounds technical, but the everyday version is one division operation. The complexity comes from choosing which inputs to use and which assumptions to make. For most Shopify subscription stores, a simple formula handles 80% of the work, and a cohort-based check validates the rest.

The simple LTV calculation

LTV = ARPU ÷ Monthly Churn Rate

Step 1: Calculate ARPU. Sum recurring revenue in the period, divide by active subscriber count. $300,000 monthly revenue across 10,000 subscribers = $30 ARPU.

Step 2: Calculate monthly churn rate. Divide subscribers who cancelled in a month by subscribers who started the month. 500 cancellations on 10,000 starting subscribers = 5% monthly churn.

Step 3: Divide. $30 ÷ 0.05 = $600 LTV. That's the average customer's lifetime value.

The margin-adjusted LTV calculation

For comparison to CAC (which is fully loaded spend), use gross profit basis:

LTV = (ARPU × Gross Margin) ÷ Monthly Churn Rate

Same $30 ARPU, 5% churn, but with 60% gross margin: ($30 × 0.6) ÷ 0.05 = $360 LTV in gross profit. This is the version that goes into the LTV:CAC ratio.

The cohort-observed LTV calculation

For accuracy, observe a real cohort:

  1. Pick a cohort (everyone who signed up in March 2024).
  2. Track their cumulative revenue at 30, 90, 180, 365 days.
  3. Sum the curve. The total is observed LTV for that cohort.
  4. Continue until the curve flattens (usually 18–24 months for most subscription categories).

This version is the most accurate, but it requires patience. For ongoing decisions, the simple formula is faster and usually close enough.

Common LTV calculation mistakes

  • Treating churn as constant. Early-tenure subscribers churn faster than tenured ones. A blended monthly churn rate often understates actual early churn and overstates LTV.
  • Excluding involuntary churn. Failed-payment cancellations are still churn. If your churn rate counts only voluntary cancellations, LTV will be inflated.
  • Mixing plan tiers. Averaging a $20/month entry tier and a $100/month premium tier produces a misleading midpoint. Calculate by tier and weight.
  • Comparing revenue LTV to fully-loaded CAC. Apples to oranges. Either compare gross revenue LTV to gross revenue CAC, or (better) compare margin LTV to fully-loaded CAC.

How often to recalculate

Monthly is typical. Quarterly is the minimum cadence for any business serious about unit economics. After major changes (price increases, channel mix shifts, retention initiatives), expect 3–6 months before the new LTV stabilizes in cohort data. See CLV calculation and CLV formula for related methods.

Frequently Asked Questions

What's the easiest LTV calculation?

Divide average monthly revenue per user (ARPU) by monthly churn rate. $30 ARPU ÷ 5% monthly churn = $600 LTV. Most subscription dashboards calculate both inputs automatically, so the math is one division operation.

Why does my LTV calculation differ from my finance team's?

Usually a difference in inputs. They may use net revenue (post-refund, post-discount), you may use gross. They may apply a discount rate (NPV-style), you may not. They may use a different margin assumption. Reconcile the inputs before debating the output.

How do I check if my LTV calculation is accurate?

Validate against real cohort data once a quarter. Track an old cohort's actual cumulative revenue and compare to what your formula predicted. If they differ by more than 20–30%, something in your inputs (usually churn calculation) is off.

Should I use blended or paid LTV?

For unit economics on paid acquisition, paid LTV (customers from paid channels) is the honest comparison. For overall business health, blended LTV (all customers) is the right view. Track both — paid LTV almost always under-performs blended LTV in subscription categories.

Start Growing Your Subscription Revenue

Join 5,000+ Shopify merchants using Joy Subscriptions. Free to install, no credit card required.

  • Free 14-Day Trial
  • No Credit Card Required
  • Cancel Anytime