Forecasting Subscription Revenue with Retention and Cohort Lifecycle Models
Summary
The document presents methods for forecasting revenue from subscriptions that can be canceled at any time. Revenue in a future period comes from both existing subscribers who remain active and new customers, so a simple forecast of total historical revenue may miss differences in retention across acquisition cohorts.
Three model levels are proposed. A benchmark tracks starting customers, cancellations, and new acquisitions by year. A lifecycle model estimates cancellation probabilities by customer age, allowing cohorts to decay as they mature. A more detailed trending lifecycle model estimates retention patterns separately by acquisition year and can extend an observed trend to future cohorts. The answer recommends building the simpler models first: the cohort-specific version may overfit, especially with sparse data or little observable trend. These are forecasting frameworks rather than validated results, and the document gives no comparison of predictive accuracy.
Key ideas
- Forecast revenue by combining expected payments from retained subscribers with revenue from new acquisitions.
- A benchmark forecast can track starting customers, annual cancellations, and new customers.
- A lifecycle model estimates cancellation rates by subscription age and applies them to aging cohorts.
- A cohort-specific lifecycle model can capture changing retention patterns across acquisition years.
- More detailed cohort trends can overfit when observations are sparse or trends are unclear.
Tags
Full text
# Subscription Based Revenue Prediction # Subscription Based Revenue Prediction My dataset is on revenues from subscription-based (no commitment, can cancel any time). We have people signing up every year, continue paying for a few years and then gradually cancel the subscription. Total revenue for a year comes partially from subscribers who joined in the previous years (and are still active) and also from those who joined this year. In this scenario, how can I forecast the revenue for a coming couple of years? In the sample data shown below, we can see how those who joined in FY2003/04 & FY2004/05 are contributing towards revenue for years till FY2017/18. One possible method I could think of is to add revenues for each Revenue Year and then do a simple time series forecasting for years FY2018/19 & FY2019/2020. But we might be missing valuable information like people who joined very early (during FY2003/04s) tend to stay longer than those who joined in the recent past. I would appreciate if anyone can suggest any appropriate method to handle this. I am comfortable with Excel, R & Python and most generic machine learning algorithms. Thank you ## Answer by Attack68 (score 1, accepted) https://quant.stackexchange.com/a/51012 #### Benchmark Model As @Luck has commented the very basic of statistics would be to use your data to predict what proportion of existing customers cancel subscriptions each year, and how many customers you can acquire each new year. This method takes no account of the original year of acquisition, nor does it account for customer lifecycle. To calculate these figures you will need to restructure your data so that you have: ``` Year Customers At Start Cancelled New Customers 2003 100 10 20 2004 110 13 21 2005 118 etc.. ``` Use this model to forward forecast the next few years. #### Lifecycle Model You can use aggregate data to determine the probabilities of cancellation if you believe there is a different structure based on life. This method takes no account of trends in subscriber profiles over the years. You will need to restructure your data to: ``` Customer Acquistions Cancel in 1Y Cancel in 2Y Cancel in 3Y etc.. 10000 1000 150 125 ``` Use this model to forward forecast over the next few years accounting for aging and newly acquired customers. #### Trending Lifecycle Model If you use the data as structured you can derive a lifecycle model essentially for each starting year. Now the data will be more scattered (if you have small samples) and you may not have an observable trend. If you do have an observable trend you can use it to forward forecast a lifecycle model for future customers. Personally I would definitely construct the above two models first from the data you have. There is danger this model overfits whereas the first two are likely to more generalist.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.