Feature windows that respect billing cycles, not calendar months
Monday-aligned recency is a convenience for the notebook, not a fact about the customer. Finance already knows this. Data science sometimes pretends otherwise.
If your invoice closes on the 12th, a feature that counts “usage in the last 30 days as of month-end” is mixing two different economic periods. It will look stable in aggregate and lie about individuals whose anniversary sits near the cut. The Cohort Retention Lab spends almost a full week on this because it is the most common self-inflicted wound we see.
Draw the window on paper first
Before SQL, students sketch: label timestamp, last invoice date, next invoice date, and the last moment a feature may look. If a field can only exist after the label, it is out. If a field straddles two invoices without a reason, it is out until someone from revenue operations initials the sketch.
This feels slow. It is slower than copying a 28-day recency snippet from a blog. It is faster than explaining to a CRO why the score panicked every 1 January.
Prepaid is not “just a shorter month”
Top-up cycles are irregular. A 7-day window on a customer who tops up every 11 days is a random coin. We prefer drought states and gap-versus-own-median, as argued in the March journal piece. Forcing prepaid into a postpaid-shaped 30-day recency is how you manufacture noise.
Grace days and pauses
Streaming and education subscriptions in our teaching extract include pause products. If you freeze the clock incorrectly, pause looks like death. If you keep the clock running, pause looks like healthy low usage. The window diagram must say which. Survival Curves for Product Teams exists because PMs and DS leads routinely disagree here without noticing.
A test you can run this afternoon
Compute your current recency feature twice: once aligned to calendar month-end, once aligned to each account’s billing anniversary. Rank disagreement. The accounts that jump are not “outliers to winsorize.” They are the ones whose economic time was never Monday.
Bring that disagreement list to a clinic if you sit Cohort Bench. It is a better artefact than another ROC overlay.