Purchase Propensity

One ratio you can read

No black box. The model asks a single question of every customer: how far round your own cycle are you? The answer is a ratio, the ratio picks a status, and the status picks the play.

The ratio, in plain English

1

Read the personal gap

Take each customer's own history and measure the typical days between one purchase and the next. That gap is their cycle: a weekly regular has a 7-day cycle, a monthly one has 30. No global average involved.

2

Divide by days since

Days since their last purchase, divided by their cycle, gives the cycle ratio. 0.5 means halfway round; 1.0 means they are exactly on their rhythm; 1.5 means half a cycle overdue.

3

Readiness peaks at 1.0

Readiness is highest when the ratio sits at 1.0 and falls away either side. A climbing trend brings the peak forward a little; a fading one softens it. Subscription customers run on their own track: the renewal date, not a gap read.

Readiness runs 0 to 100 and always carries its reasons, so a marketer sees why someone is due, not just that a number crossed a line. Illustrative thresholds; the production model calibrates them on your data.

The four statuses

Early
cycle ratio under 0.6

Well inside their normal gap. Hold: a message now is noise.

Approaching
cycle ratio 0.6 to 0.9

The window is opening. Prepare the nudge; do not send yet.

Due now
cycle ratio 0.9 to 1.3

On their rhythm. This is the moment the timely nudge lands.

Overdue
cycle ratio beyond 1.3

Past their usual gap. Recover gently, before it becomes a lapse.

What feeds it in your world

No new tracking to invent. These are events you already capture; the model reads them as they are.

  • ·Timestamped purchases, per customer
  • ·Purchase gaps, the personal cadence
  • ·Trend of recent purchases (climbing or fading)
  • ·Subscription status, their own track
How it sharpens over time

Models are tuned, not installed. Each step is earned on evidence, and the previous step keeps running until the next one beats it.

  1. v0
    Heuristic, day one
    Transparent rules on the data you already have. Live in Braze in weeks, and everyone can see why it fired.
  2. v1
    Calibrated to your history
    Thresholds and weights re-fit to your own base and vertical, backtested against what actually happened.
  3. v2
    ML where it earns it
    A trained model replaces the rules only when it beats them on holdout data. Explainability stays a requirement.
  4. v3
    Monitored and re-tuned
    Drift watched, thresholds reviewed on a cadence, and every change proven with holdouts before it ships.

Propensity starts as a median-gap heuristic, calibrates to each segment's real gap distribution, then graduates to a survival model when the history earns it. Verticals with a strong seasonal cadence get the season folded into the cycle read, so a quiet summer does not read as overdue.