Weekly subscription plans now account for the majority of app subscription revenue, up sharply from under half just a few years ago. That’s not a small optimisation win for the apps riding the trend — it’s a structural shift in how subscription revenue is earned, and it breaks any LTV model still built around monthly or annual cohorts as the default.
The problem is that weekly-plan revenue looks completely different in shape from monthly or annual revenue. It arrives in smaller, more frequent instalments, churns faster per-transaction, and is far more sensitive to trial-to-paid conversion timing in the first few days. A revenue dashboard that blends weekly, monthly and annual subscribers into one LTV number will systematically misread what’s actually happening — a growing weekly cohort can inflate near-term revenue while quietly carrying a much shorter average lifetime than your historical monthly baseline suggests.
Data Points to Track
plan_interval— weekly, monthly, or annual, captured at the point of purchase and on every renewal eventtrial_length_daysandtrial_to_paid_conversion— segmented separately by plan interval, since weekly trials convert and churn on a much faster clockrenewal_sequence_number— which renewal cycle a subscriber is on, since weekly-plan churn is heavily front-loaded in the first few cyclesplan_priceandeffective_weekly_rate— normalising annual and monthly prices to a weekly-equivalent rate makes cross-plan comparison meaningfulcohort_ltv_by_interval— lifetime value calculated and reported separately per plan interval, never blendedpaywall_variant_id— which paywall configuration a subscriber converted through, since plan-interval mix is often driven by paywall design rather than organic preference
Setup Steps
- Tag every subscription event with
plan_interval. This needs to sit on purchase, renewal, cancellation and refund events alike, not just the initial purchase. - Split your LTV model by interval. Stop calculating a single blended LTV number; build separate cohort curves for weekly, monthly and annual subscribers so each can be compared on its own terms.
- Normalise pricing to a common unit. Convert every plan price to an effective weekly rate so you can compare a $7.48/week plan against a $38.42/year plan on equal footing.
- Track early-renewal churn specifically. Build a funnel for the first three to four renewal cycles of weekly plans, since that’s where the bulk of weekly-plan churn concentrates.
- Attribute plan-interval mix back to paywall design. Join subscription events to
paywall_variant_idso a shift toward weekly plans can be traced to a specific paywall test rather than assumed to be organic demand.
Actionable Insights
Reporting LTV separately by plan interval usually reveals that a growing weekly-plan cohort is masking a real change in your revenue mix rather than adding pure upside — a weekly subscriber with a much shorter expected lifetime can still show healthy short-term revenue while quietly dragging down your true blended LTV. Tracking renewal-sequence churn tells you whether a weekly plan’s economics hold up past the first month, which is the only way to know if a shift toward weekly pricing is sustainable or is being propped up by an aggressive intro offer. Linking plan-interval mix to paywall_variant_id closes the loop: if a specific paywall variant is systematically steering users toward weekly plans, that’s a pricing-strategy decision your team should be making deliberately, not discovering after the fact in a revenue report.
Related Resources
Need help tracking this in your app?
Our team sets up analytics pipelines for mobile and web teams every day. Talk to us and get your first events flowing in under an hour.
Talk to an expert