Volta Neobank — Product Analytics
Business Context
«Volta» is a fictional neobank. Four projects drive a single product loop discover → validate → measure → optimize: where the leak is, whether the fix works, whether the effect holds, and how to monetize it. All data is synthetic, generated deterministically (seed), and reproduced from code.
The Narrative
| # | Project | Question | Key finding |
|---|---|---|---|
| 1 | Funnel Analysis | Where does onboarding leak? | KYC is the critical bottleneck |
| 2 | A/B Testing | Does a progress bar fix KYC? | +6.24pp lift, p<0.0001 → ship |
| 3 | Retention & Cohort | Did the effect hold? | +9.2pp M3 retention, +€227K/yr LTV |
| 4 | User Segmentation | Who are the users, how to monetize? | 4 segments, per-segment strategy |
Data & Method
Data: synthetic, seeded generators (generate_*.py) → reproducible CSVs. The funnel dataset is committed; the rest are generated on demand.
Per-project methodology:
- Funnel — step conversion, absolute/relative drop-off, Chi-square test across channels. Registration loses the most users in absolute terms (2,682, 73.2% step conv); KYC Complete has the largest relative drop-off (56.6% step conv). Referral converts 11.7pp better than paid social; iOS beats Android at every step (13.6% vs 11.7% end-to-end).
- A/B (KYC progress bar) — sample size calculation, SRM check (p=1.00), bootstrap CI, multiple-comparison correction (Bonferroni/Holm/BH), AA-test under H₀ (type-I = 0.050), CUPED (control-only θ), sensitivity at MDE. Control 55.8% → treatment 62.1%, +6.24pp, 95% CI [+4.26%, +8.16%], exceeds the +5pp MDE. Ship-gate: p<0.05 ∧ lift≥MDE ∧ no SRM → ship. 9/11 naively-significant segments, 4/11 after Bonferroni.
- Retention — cohort curves, pre/post Welch t-test + Cohen’s d, plan-specific LTV (ARPU × retention decomposition). M1 retention +10pp step-change, M3 +9.2pp.
- Segmentation — StandardScaler + KMeans, data-driven K (marginal-gain elbow, silhouette plateau K=2–4, collapse at K=5). Segments: Power 12% / Growth 24% / Casual 32% / Dormant 32%. Lorenz: 12% of users → 41% of revenue; 68% → 92%. Migration scenarios: +€26K/mo (€310K/yr).
Code structure: shared utils/common.py (setup(), print_section(), CONSTANTS, data_path()), functions + main() — importing a module does not run the analysis. Excel reports via openpyxl.
Insight
The four-project loop is more valuable than isolated analyses: the KYC fix found in the funnel is validated in the A/B test, confirmed in retention, and monetized through segmentation. The key is a ship-gate with three conditions (significance ∧ lift≥MDE ∧ no SRM) that protects against rolling out statistically-significant but business-insignificant changes; CUPED and the AA-test cut variance and verify the error rate before launch.
Impact
- KYC conversion +6.24pp (p<0.0001, exceeds MDE) → business impact €716K/yr (48× ROI on €15K dev cost).
- M3 retention +9.2pp → +€227K/yr incremental LTV from the KYC fix.
- 4 segments with per-segment strategy and up to +€310K/yr monetization via migration.
- Reproducible methodology — CUPED, AA-test, Bonferroni, sensitivity at MDE; 4 recommended A/B tests to validate the strategy.