Streamly uses a binary classification model to predict whether a subscriber will cancel in the next 30 days. The model outputs a churn probability, and the retention team offers a $12 discount to users predicted as high risk. The current threshold of 0.50 was chosen during development, but finance believes the team may be overspending on discounts while still missing too many churners.
Validation set size: 100,000 users, with an observed 12% churn rate.
| Threshold | Precision | Recall | F1 | Users Flagged | Estimated TP | Estimated FP |
|---|---|---|---|---|---|---|
| 0.30 | 0.28 | 0.82 | 0.42 | 35,143 | 9,840 | 25,303 |
| 0.40 | 0.36 | 0.71 | 0.48 | 23,667 | 8,520 | 15,147 |
| 0.50 | 0.46 | 0.55 | 0.50 | 14,348 | 6,600 | 7,748 |
| 0.60 | 0.58 | 0.39 | 0.47 | 8,069 | 4,680 | 3,389 |
| 0.70 | 0.69 | 0.24 | 0.36 | 4,174 | 2,880 | 1,294 |
Additional model metrics: AUC-ROC = 0.81, log loss = 0.41, calibration slope = 0.88.
You need to recommend an operating threshold for converting probabilities into churn labels. The answer should reflect business costs, not just maximize a single metric.