The Churn Spike
Monthly churn nearly tripled in June at a subscription app, a week after a price rise. Product wants to roll the price back. Work out whether the price is actually what happened — and say whether to roll it back.
The brief
You have joined Fernway, a subscription app for home cooking — weekly meal plans and an auto-built grocery list — as an analyst.
Your manager forwards a thread from the weekly product review:
"Churn on the dashboard went from about 4.5% in May to nearly 17% in June. We put the monthly plan up from ₹399 to ₹449 on 1 June. That is the only thing that changed. Proposal is to roll the price back on 1 September and take the revenue hit. Can someone sanity-check this before we commit?"
Nobody has checked the 17%, and nobody has looked at churn any way other than blended month over month. You have eleven months of subscription data.
What you are asked to do: establish what actually drove June, and give a straight answer on the price rollback.
All timestamps in the data are UTC, and there is no other timezone to reconcile. Report by UTC calendar month.
Three notes from the team, worth reading before you start:
The 14-day free trial writes its own subscription row. So does a trial that converts.
cancelled_at is when someone clicked cancel in the app. ended_at is when their access actually stopped, at the end of the period they had already paid for.
Marketing ran an acquisition campaign in March. Nobody on the call mentioned it.
Treat this as you would any first week on a new dataset: check the shape of the data before you trust a number, and be ready to show how you got every figure you report.
What to submit
- 1Your five verified answers, entered on the submission form.
- 2A one-page recommendation in your repo README — what happened, how you know, and whether to roll the price back. One page, not five.
- 3The SQL, Python or R you used to get your five answers, in the same repo.
- 4Optional: a chart, a dashboard link, or a three-minute Loom. None of these are required and none of them earn marks on their own.
How it is scored
| Area | Weight |
|---|---|
Data accuracyauto-graded The five verified answers. Graded automatically against the dataset, so this half of your score is arithmetic, not opinion. | 40 |
Problem framingreviewed Did you test the price-rise assumption rather than confirm it — and did you check the 17% you were handed? Restating the brief scores low. | 15 |
Analysis and methodreviewed Did you split churn by cohort rather than only month over month, and did you decide explicitly which subscriptions belong in the base? Correct numbers with no visible method score low. | 20 |
Insight qualityreviewed Naming the cohort is not the finding. Why that cohort churned in that month, with evidence, is — and so is being honest about the part the price rise did play. | 15 |
Recommendationreviewed A clear answer on the price rollback, argued from your own numbers, plus what you would do instead. Hedging scores low. | 10 |
The data
Three files, about 2 MB total.
subscriptions.csv — one row per subscription. Columns: subscription_id, user_id, plan, is_trial, started_at, price_inr, promo_code, cancelled_at, ended_at, status.
users.csv — user_id, signup_date, acquisition_channel, country.
plans.csv — plan, billing_period, list_price_inr, effective_from. Two rows per plan, because list prices changed on 1 June 2026.
Subscriptions start between August 2025 and June 2026, and the lifecycle data runs to the end of July 2026 — so you can see what happened after June as well as during it. The data is synthetic, generated for this challenge, and contains the kind of mess real billing tables contain. No subscriber in it is a real person.
Prizes & recognition
The top 2 submissions share the prize pool
The top 2 submissions share the prize pool — 70% to first place, 30% to second. Free and verified entries are equally eligible; a verified entry only wins a tie. The pool is announced with the results.
Everyone is scored against the same rubric, everyone is ranked on the public leaderboard, and everyone gets written feedback. Verified entrants also get:
- Priority placement when scores tie
- A verified score and certificate you can link on a CV
- Badges on your analyst record
Enter free now — you choose free or verified when you submit.
Rules
- Scoring follows the published rubric below: 40% verified answers, graded automatically, and 60% your recommendation, scored against the rubric
- Scoring is automated. The top 10 submissions and any disputed score are reviewed by a human before prizes
- Your repository must be public and its commit history must show the work happening before the deadline
- Work individually. You may use any tool, including AI assistants — but you must be able to explain every number you submit
- One submission per person. You can update it any time before the deadline
- Everyone who submits is ranked by name on the public leaderboard when results are published
- Your repo has to be public for us to read it — but do not promote your solution on LinkedIn, X or Discord until judging closes, so others can still attempt it
