Fernway Invest is a commission-free investing app. To improve retention, its growth team wants to understand why users withdraw their money and which users are likely to do so.
The team considers a user churned when their equity value (the amount of money in their Fernway account) falls below $10 for a period of 28 consecutive calendar days or longer.
The data
user_features— one row per user, mostly what they reported when they opened the account:risk_tolerance,investment_experience,liquidity_needs,time_horizon: self-reported by the user.platform: iOS or Android.time_spent: amount of time spent in the app.first_deposit_amount: dollar value of the user’s first deposit.instrument_type_first_traded: the type of instrument the user traded first.
equity_values— one row per user per day on which the user’s equity was $10 or more:timestamp(UTC) andclose_equity, the account’s equity value in dollars at the close. Days on which equity was below $10 have no row, so churn has to be read from the gaps.
Your task
-
Turn the churn definition into a precise rule you can apply to
equity_values, and use it to label every user. Decide and justify how you treat:- days with no row that may not mean equity below $10 (check which days of the week and year appear at all);
- users whose records stop less than 28 days before the end of the data;
- users who meet the definition and later come back.
What share of users churned, and how much does that figure move under the reasonable alternatives you considered?
-
Before modeling, explore how churned and retained users differ. Which differences look meaningful, and which could be artefacts of how a field was measured? Say when each feature is known (at sign-up, or accumulated over time like
time_spent) and whether it would be available at the moment the team wants to predict churn. -
Build a classifier that assigns every user a churn probability, and classify each user as churned or not. Explain your choice of model, how you validated it, which metrics you report given how common churn is, and how you chose the classification threshold.
-
Which features matter most for churn, and how confident are you in that ranking? Separate what the model finds predictive from what you would expect to cause churn, and say how the growth team could tell the two apart.
-
How should the growth team use the scores? Propose one or two interventions, who they would target, what they would cost if aimed at the wrong users, and how you would test whether they reduce churn. What other data would most improve the model?
What to deliver
A short report for the growth team: your churn definition and its checks, the model and how well it works, the main drivers, and your recommendations. Include a table of churn probabilities and predicted labels keyed by user_id, and an appendix with the queries or code behind each number.
All company names in this question are fictional.