Skip to main content
NeoLoyal home
Menu

AI in loyalty programs, and what it can do at two hundred customers

Most of what is sold as AI in loyalty software is a filtered list. What needs a model, what needs a WHERE clause, and the scale each starts working at.

By NeoLoyalPublished

In brief

A shop with two hundred customers does not have enough data for a model to beat a rule. Churn scoring at that size is a date comparison. Two things a language model genuinely does help with, and both are writing, not predicting.

The short answer

Most AI in loyalty software is a filtered list with a confident label on it. At two hundred customers there is not enough signal for a model to outperform a rule you could write in one sentence, and “customers who have not visited in forty days” is that rule. The two places a language model earns its place for a small merchant are drafting message copy and reading free-text feedback — both of which are writing tasks, not prediction tasks.

That is not a reason to dismiss the category. It is a reason to know which column a feature is in before paying for it.

Sold as AI, actually a query

Sold as What it usually is Worth it from about
Churn prediction last_visit < today - 40 days Never below a few thousand customers
Smart segments Filters on visit count and recency Immediately, as filters — just do not pay extra
Next-best-offer The one offer you have, shown to everyone Tens of thousands of transactions
Optimal send time The hour your best-performing send happened to go out Thousands of sends per segment
Predicted lifetime value Average spend times a guessed lifespan Not a model at any small-business size
Anomaly detection A threshold on a daily count Useful at any size, and it is a threshold

None of that is fraudulent. Filters are genuinely useful, and a tool that gives you good filters is a good tool. The point is narrower: they are filters, and a filter does not get better because the pricing page calls it intelligent.

Why the data is not there

A model earns its keep by finding a pattern a person would not think of. That requires enough examples of the pattern to separate it from noise.

Two hundred customers, each visiting weekly, produce roughly ten thousand visits a year. That sounds like a lot until you split it: to learn who churns, the model needs churn examples, and if forty customers lapse in a year, the model is learning from forty events, described by perhaps five variables you actually record — visit count, recency, average gap, join date, redemption count.

Forty events and five variables is a table you can read yourself. Any pattern in it will be one you can see, and the two you will see are “people with long gaps stop coming” and “people who never got a reward stop coming”. Both were knowable without a model, and both are already the rule.

This is not a criticism of machine learning. It is arithmetic about sample size, and it stops applying somewhere around the scale of a small chain rather than a single shop.

The rule that does the job

Here is the entire churn model a local business needs:

A customer is at risk when the gap since their last visit is more than twice their own normal gap.

Per-customer, not global. Someone who comes every day is at risk after four days. Someone who comes every six weeks is not at risk until twelve. A single global threshold flags the daily customer far too late and the six-weekly one constantly.

That rule needs no training data and no vendor. It needs a ledger that records visits with dates, which is the actual prerequisite everything in this post depends on. There is a worked version of what to do once someone is flagged in winning back customers who stopped coming.

Where a language model actually helps

Two places, both real, neither of them prediction.

Drafting the message. Writing a win-back message that does not read like a coupon is genuinely hard, and most owners write three and then stop. A language model produces a first draft in seconds, and the draft is usually mediocre and always better than the message that never got sent. Edit it. The editing is the part that makes it sound like you, and skipping the editing is how it ends up sounding like everyone.

Reading free-text feedback. If you collect open comments, summarising two hundred of them into recurring themes is exactly the sort of tedious reading a model is good at. The output is a starting point for you to check, not a conclusion.

Notice what both have in common: the model is doing language work on text, where it is strong, rather than statistical work on forty events, where it is not.

The risks, stated plainly

A prediction is not a reason to discount. If a system says a customer will churn, the reflex is to send them an offer. But the customers most likely to accept a discount are the ones who were going to come back anyway, so a discount aimed at predicted churn often just funds retention you already had. This is the subsidy problem from do loyalty programs actually work, arriving through a different door.

Automated messages that read as automated damage the thing the program is for. A loyalty program in a local business trades on being personal. A generated message with the customer’s first name pasted in reads worse than no message, because it makes the relationship feel administered.

Frequency creep. Automation makes sending cheap, and cheap sending gets over-used. The constraint on messaging should be whether you have something to say, not whether the system can send it.

Data you now hold for a purpose you did not state. Feeding customer records to a third-party model is a processing activity, and the consent you collected at a counter probably did not describe it. Worth checking before rather than after.

What to ask a vendor

Four questions, and the answers are usually short:

  1. Is this a model or a filter? A vendor who cannot say is telling you.
  2. What data was it trained on? If it is a model trained across other merchants, ask what your data contributes and whether it leaves your account.
  3. Can I see the rule? If a customer is flagged, you should be able to see why. A flag you cannot interrogate is a flag you cannot act on confidently.
  4. What does it cost, and what does it replace? If the answer to “what does it replace” is a filter you already have, that is the whole evaluation.

The honest summary

At the size this site is written for, the intelligence in a loyalty program is in the design — the threshold, the qualifying event, the reward — not in the software’s analytics. A well-set threshold moves more behaviour than any model available to a two-hundred-customer business.

The things worth automating are the boring, reliable ones: flag the lapsed, remind the near-complete, and give the owner a number they can read on a Monday. Those are rules, they work at any size, and they do not need a new category name.

Run the program these posts are about.

A digital stamp card your staff control, your customers keep in the browser, and you can read from your own dashboard.