Customer Retention

Practical ways to use NPS and behavioural signals together to predict churn risk

Practical ways to use NPS and behavioural signals together to predict churn risk

I often get asked by founders and marketing leads: “Should we keep asking NPS, or focus on behavioural data — and can we combine them?” The short answer from my work with SMEs is: you need both. NPS gives you a direct line to customer sentiment; behavioural signals tell you what customers are actually doing. When you align them, you get a far better early-warning system for churn risk than either source alone.

Below I share practical, hands-on ways I use NPS together with behavioural signals to predict churn. These are methods I've applied with retail, hospitality and e‑commerce clients — simple enough for small teams and designed to deliver measurable outcomes quickly.

Why combine NPS and behavioural signals?

NPS is a powerful indicator of loyalty intent: promoters are more likely to repurchase and recommend, detractors can spread negative word-of-mouth. But NPS is noisy, infrequent and sometimes disconnected from recent customer actions. Behavioural signals — purchase frequency, visit cadence, product usage, basket size, email engagement — are objective and continuous. When a customer’s sentiment (NPS) and actions (behaviour) diverge, you get valuable early-warning signals. For example:

  • If a promoter's active sessions drop by 60% in 30 days, their churn risk rises even though their last NPS was high.
  • If a detractor maintains frequent purchases, sentiment may be transient and churn risk is lower than expected.
  • Combining both lets you prioritise interventions and personalise outreach so you spend retention budget where it actually prevents losses.

    Core framework: Layer sentiment on top of behaviour

    I use a simple three-layer framework that’s easy to implement in any analytics stack (Google Analytics + CRM, Segment + GA/BI tool, or even a spreadsheet for early-stage businesses):

  • Collect — Gather regular NPS responses and maintain a behavioural feed with defined signals (purchases, sessions, cart abandonments, returns, customer support tickets, coupon redemptions).
  • Enrich — Join NPS responses to customer behavioural timelines. If you can’t join at user level for privacy reasons, use cohort-level joins (by email hash or cohort bucket).
  • Score — Build a churn-risk score that weights both sentiment and behaviour. Use rules-based models first, then iterate to probabilistic models as you collect more labelled churn outcomes.
  • What behavioural signals matter most

    Not all metrics are equally predictive. Focus on signals with high signal-to-noise ratio. These are the ones I prioritise:

  • Recency — days since last purchase or last active session.
  • Frequency — purchases or sessions over the last 90 days vs previous 90 days.
  • Monetary — average order value (AOV) trend or drop in basket size.
  • Engagement — email open/click rates, app opens, loyalty program activity.
  • Friction — returns rate, refund requests, complaint tickets.
  • Migration signals — decreased product category diversity, downgrades in subscription tiers.
  • These map well to business outcomes and are generally easy to extract from order systems, CRMs or analytics tools.

    Simple rule-based churn score to get started

    Before you build ML models, create a rules-based score you can explain to stakeholders and act on immediately. Here’s a template I give to clients. You can implement it in a spreadsheet or your CRM.

    Signal Trigger Points
    Recent NPS Detractor (0–6) +30
    Recent NPS Passive (7–8) +10
    Recent NPS Promoter (9–10) -10
    Recency No purchase in 60+ days (for monthly buyers) +25
    Frequency Purchase frequency down >50% vs prior period +20
    Engagement No email opens in 30 days +15
    Friction Return or refund in last 30 days +20

    Score thresholds are business-specific, but a typical approach:

  • 0–29: Low risk
  • 30–59: Medium risk — needs targeted retention campaign
  • 60+: High risk — high-touch intervention (phone call, personal coupon, win-back package)
  • How to label and validate your predictions

    Validation is essential. You should track whether customers flagged as high risk actually churn within a defined horizon (30/60/90 days depending on purchase cadence). I recommend:

  • Create a labelled dataset: label customers as churned if no purchase in X days.
  • Backtest your rules-based score on historical data and measure precision/recall — how many flagged customers actually churn, and how many churned customers were flagged.
  • Iterate weights: increase weight for signals that improve true positive rate.
  • When you have sufficient volume (thousands of customers), move to a simple logistic regression or tree model using NPS bucket and the behavioural features above. This typically improves discrimination and gives you probability scores you can prioritise by expected revenue at risk.

    Practical activation ideas tied to risk bands

    Not all interventions cost the same or have the same ROI. Match the action to the risk band and expected customer value.

  • Low risk: Use automated, low-cost nudges — personalised product recommendations, loyalty points reminders, content emails.
  • Medium risk: Offer behavioural incentives — targeted discount on a product category they previously bought, free shipping for next order, or a short survey to understand the drop in activity.
  • High risk: High-touch outreach — a phone call from a CS rep, bespoke offers, win-back packs, or invitation to a VIP feedback session.
  • Example: with a boutique skincare brand I worked with, passives with a 25% drop in purchase frequency received a tailored 20% off personalised bundle. That single action lifted 35% of the cohort back to previous frequency within 60 days, and almost all had high NPS later.

    Small-team implementation checklist

  • Decide your churn definition (no purchase in X days) based on purchase cadence.
  • Set up automated NPS collection linked to customer records (post-purchase email or in-app trigger).
  • Track the behavioural signals listed above and build the join between NPS and behaviour.
  • Implement the rules-based score in a CRM or Google Sheet and run a 90-day backtest.
  • Define actions per risk band and set up automated journeys where possible (e.g., Klaviyo, HubSpot, or your email provider).
  • Measure lift: % churn reduction, revenue retained, campaign cost vs CLTV saved.
  • If you’d like, I can share a downloadable CSV template for the scoring table above or a simple SQL snippet to join NPS responses to order histories — things I often give to clients to speed up implementation.

    You should also check the following news:

    The psychology behind surprise rewards and exactly when to send them in the customer journey
    Loyalty Programs

    The psychology behind surprise rewards and exactly when to send them in the customer journey

    I still remember the first time a small coffee chain I was advising surprised me with a free pastry...

    Dec 02 Read more...
    Using LTV:CAC ratios to decide whether to increase acquisition incentives this quarter
    Growth Strategies

    Using LTV:CAC ratios to decide whether to increase acquisition incentives this quarter

    I remember one spring when a client of mine—an independent apparel brand—asked whether they...

    Dec 02 Read more...