Most customer segmentation frameworks look sophisticated, but they fail a simple test; Do they actually influence operational decisions that drive user behaviour(retention)?

If your segmentation does not alter:

…then it is descriptive, not operational.

Let’s look at few methods of tackling customer segmentation

  1. Basic Segmentation

    1. Demographic for example user attributes like gender, language, race, geography etc
    2. Device for example Device FW, Device Model, Device Age etc
    3. Acquisition Source for example geoharsh, sales agent, mother dealership etc
  2. Advanced Segmentation

    1. Feature segmentation - do they use a certain feature(s) in the product?
    2. X in Y time segmentation - do they use certain feature(s) within their first X days?
      1. Useful to discover what combination of behaviours leads to desired output
      2. But,
        1. Mistaking causation for correlation, eg we cannot make claims that forcing a user to have 7 app log ins in their first 7 days will drive long term retention - it’s not casual
        2. Falling into Tautology, true in both directions - we have ‘power users’ but they are very few from the entire user base and have prior experience with the app and are most likely already going to be retained.
    3. Multi-variable segmentation; combination of (a) and (b)

    But, basic and advanced segmentations provide more complex correlations and doe not answer operational treatment questions around lifecycle marketing, prioritisation for support, and personalised/dynamic rewards program design.

  3. Recency, Frequency, Monetisation

    The OG, RFM segmentation is a simple way to group customers based on their recent behaviour. It looks at three dimensions:

    1. Recency (how recently a customer engaged or transacted),
    2. Frequency (how often they do so given a time window), and
    3. Monetary value (how much revenue they generate).

    By combining these, you can distinguish between, for example, active high-value customers, inconsistent users, and dormant accounts. The strength of RFM is its practicality. It is easy to compute, easy to interpret, and directly useful for prioritisation and lifecycle actions. In a more advanced representation, it is combined with empirically deduced weights on each of the attributes to yield stronger explainable separation.

    Its main limitation is that it is backward-looking, describing what customers have done rather than predicting what they will do next, which is why it is often paired with predictive models.

  4. Predictive Segmentation: RFM & Trajectory Segmentation Vs Desirable Behaviour (the target)

    For example we start to measure P(Customer making X Value Payments via App | Recency-Frequency-Monetisation) allowing us to automate Lifecycle Marketing efforts based on this calculated score. The score is a probability deduced using predictive ML methods eg xgboost’s SHAP or a simple regressive baseline to build an RFM score card and assess our user base using the same.

    We can take this a step further and combine trajectory data eg how fast or slow do we expect a user to have “0” events X weeks after onboarding eg zero log in, or payment_successful events in the app.

    So then the final segmentation system becomes: Segmentation = f(state, trajectory, prediction) and perfectly captures the following questions in our segmentation: How might we move users from Transient → Loyal? Should we invest in this user? should we intervene now or later? Is this user structurally recoverable?

    An example from the prospective of an MDF Company(current context given watu)

    1. We can model RFM From App Perspective:

      1. Recency - Last App Log In or session (with a value event)
      2. Frequency - Number of Sessions in last 28d
      3. Monetisation - Sum of revenue collected in App in last 28d
    2. We can model RFM From Perspective of other channels merged(USSD, Whatsapp etc):

      1. Recency - Last Seen Date by Knox
      2. Frequency - Number of days paid for in last 28d
      3. Monetisation - Sum of revenue collected in last 28d
    3. Or we can take a hybrid approach combining all channels:

      We can look at joint state built from two behavioural surfaces:

      1. In app activity: what the customer does inside the app
      2. Other channel activity: what the customer does outside the app but still within the repayment journey

      Then estimate:

      $$ P\left(Y_{i,t} = 1 \mid RFM^{\text{app}}{i,t},\ RFM^{\text{other}}{i,t},\ Z_{i,t}\right) $$

      Where app focuses on in app signals and other captures RFM from other channels and Z is other important customer context encoded from customer attributes in basic segmentation. Y can be a static or dyamic target eg Y = 1 if number of app payments in the app > X or a shared target channel target (now getting into the reigns of portfolio management) to predict not just repayment but also repayment channel.

      This estimates the probability that a customer will make meaningful payments via the app, conditioned on:

      • their recent behaviour inside the app
      • their recent behaviour outside the app
      • and their broader context eg age, sex, predicted churn trajectory etc

      And as such, users can be segmented on this RFM score. This approach estimates channel propensity conditional on a behavioural state for example: Given what this customer has recently done in app and outside app, how likely are they to make at least X value of repayments via app next? The model is not just predicting payment, but payment routing behaviour.

      Recommended models:

      1. Logistic Regression baseline for good Explainability & Interpretability while initialising with a simple to explain score card.
      2. XGBoost/lightGBM to handle non-linearities and capture interaction effects

    ⚠️ My Disclaimer: Predictive RFM/Trajectory segmentation is still mostly a state and not casual. We still can only say that customers with the predicted RFM state/score have higher observed propensity to pay through the app and then answer casual questions through experimentation eg:

    1. Send payment reminder through app
    2. Simplify payment funnel
    3. Add incentive for first in app payment
    4. Compare treatment vs control within the same RFM band
                **Thank you for getting this far! 👋**