Public source · official-data local holdout
KKBox customer churn baseline
Churn predictions that respect the snapshot date.
Subscription churn decisions require customer-level features without future-data leakage.
Feature construction → holdout evaluation
Conceptual diagram · measured results in case studyThe problem
A churn model can look strong for the wrong reason if its features include events that happened after the prediction date.
What mattered
Start with a snapshot-date baseline before comparing more complex models.
What was built
The public Python and DuckDB baseline aggregates transactions and listening events through 2017-02-28, audits source coverage, and trains logistic regression on a fixed stratified split.
Where it stands
The public repository contains source, synthetic future-event exclusion tests, input hashes, aggregate audit counts, and official-data local holdout metrics. The third-party academic reference is credited separately.
What is not yet proven
The 0.217324 log loss and 0.819295 ROC AUC are within-cohort holdout metrics, not an out-of-time or Kaggle leaderboard score. No retention impact is claimed; raw competition data is not redistributed.