Terri Jackson · AI-enabled FP&A Portfolio

03. SUBSCRIBER FORECASTING · CASE STUDY

Forecasting Spotify's year-end audience

Using public reporting data to compare forecasting methods and assess a year-end subscriber outlook.

How might Spotify's Premium subscriber base and Ad-supported audience land at the end of 2026? I built this prototype during the AI Finance Accelerator to explore that question using published quarterly observations and a consistent comparison of forecasting methods.

The dashboard connects data collection and preparation with historical testing, model explanations and a planning discussion. Visitors can compare the methods and choose separate forecasts for the two populations.

Launch interactive dashboard →

Independent portfolio project using publicly available Spotify investor-relations data. No affiliation with or endorsement by Spotify.

Prototype statusWorking prototype · October 2026
Finance use caseSubscriber planning baseline and assessment of forecast sensitivity
DataReported quarterly Premium subscribers and Ad-supported MAU, with explicitly labelled monthly estimates
Forecast horizonJuly–December 2026, using saved model refits through June 2026
TechnologyAI-assisted Python development, Google Colab and an interactive HTML dashboard
OutputsModel comparisons, historical error measures, subscriber outlooks and downloadable CSV evidence

01The business question

What does the historical subscriber data suggest about the year-end landing, and how sensitive is that outlook to the forecasting method?

The aim is to give FP&A a statistical starting point for discussing growth expectations. The comparison helps identify where forecasts agree, where they diverge and which assumptions need further investigation before a plan is agreed.

Premium subscribers and Ad-supported monthly active users are forecast separately. Their sum is a combined population measure for this case study; it is not Spotify's official total MAU.

02A lesson that changed the project

I began with Black Hut Coffee, a fictional subscription business whose history I had created using AI and growth assumptions. Very accurate forecasts made me question whether the models were simply reproducing the invented growth path.

I moved to Spotify so I could challenge the approach against real reported observations. That decision made source quality, reporting definitions and the distinction between observations and estimates central to the project.

03What I built

  1. Collect quarterly investor-relations reports into a consistent workbook, retaining source filenames in cell notes and checking later presentations of earlier quarters.
  2. Examine quarterly net additions and each quarter's share of annual additions to investigate seasonality.
  3. Create a monthly forecasting experiment by linearly interpolating between reported quarter-end subscriber counts, keeping the original observations identifiable.
  4. Compare Seasonal Naive, ETS Holt Damped, ARIMA, SARIMA, Prophet and an ensemble on common chronological test windows.
  5. Present accuracy, bias and the saved July–December outlook in an interactive dashboard, with CSV exports and a visible assumptions register.

The ensemble uses equal weights across undamped Holt trend, seasonal Holt-Winters with a damped trend, and SARIMA. It does not average all six approaches.

04How I evaluate the forecasts

The most recent 15%, 20%, 25%, 30% or 35% of the monthly series is held back for historical testing. Each method faces the same dates. The dashboard shows monthly error measures alongside checks at reported quarter ends, including WAPE and forecast bias.

Changing the test window shows how the evaluation responds to the cut-off. The July–December 2026 outlook is a separate saved refit through June 2026; the slider does not refit that outlook.

Monthly interpolation does not create new observed data. At a split between quarters, a training estimate can depend on a reported value inside the test period. The current results therefore need a direct quarterly backtest before they support a firm model choice.

The suggested planning reference is provisional. Comparing performance across overlapping windows helps expose sensitivity, but those windows are not independent validation samples.

05My contribution and AI support

I defined the finance question, challenged the synthetic starting dataset and specified the collection, preparation and reporting workflow. I used AI to help develop and troubleshoot Python scripts, then ran them in Google Colab and refined the outputs through repeated review.

I focused on the decisions behind the analysis: what the reported measures mean, how to handle quarterly frequency, how to compare forecasts fairly and what management can reasonably conclude from the results.

06Scope and next development

  • The dashboard contains saved results. It does not run Python, collect new reports or refit models in the browser.
  • The monthly estimates and overlapping holdouts limit the conclusions that can be drawn from apparent forecast accuracy.
  • The spread between model forecasts is not a probability interval. Selecting different methods for each population does not provide a separately validated combined forecast.
  • Pricing, acquisition campaigns and churn are not explicit forecast drivers. Forecasting two series separately does not make this a multivariable model.
  • Subscriber counts are point-in-time measures. A revenue forecast would require average subscriber exposure, Premium ARPU, advertising monetisation and FX assumptions.

The next steps are to backtest directly on the quarterly observations, compare the saved outlook with newly published results and assess whether adding commercial drivers improves its usefulness for planning.

Explore the dashboard → Return to portfolio →

Discuss a similar project

If your team is exploring subscriber forecasting or wants a clearer comparison of planning methods, I would be happy to discuss a tailored analysis using your business data and assumptions.

Discuss your requirements on LinkedIn ↗