Back to blog
Next-Best-ActionDecisioningGuide

What is Next-Best-Action? A practical guide to real-time decisioning

Next-Best-Action decides the single best thing to show a customer at each touchpoint. Here is how a real-time decisioning pipeline works — eligibility, fit filters, contact policies, match scoring, and ranking — grounded in an open-source implementation.

The KaireonAI Team9 min read

A customer lands on a page, opens an email, or reaches a checkout. In that moment you could show them any number of things — a discount, a cross-sell, a loyalty nudge, a plain product recommendation, or nothing at all. Next-Best-Action is the discipline of deciding, in real time and per person, which single one of those is the best thing to do right now.

It is a deceptively simple idea with a lot underneath it. This guide explains what Next-Best-Action (NBA) means in practice and walks through the stages a real-time decisioning pipeline runs on every request — grounded in how an open-source implementation actually does it.

Recommendation vs. decision

A recommendation engine answers "what is this person likely to engage with?" A decisioning engine answers a harder question: "of everything I am allowed to do, and everything I shoulddo given business goals and constraints, what is the single best action for this person at this touchpoint?"

That difference matters. The item a shopper is most likely to click is not always the one you are permitted to show them (they may have opted out of a channel), or the one that serves the business (a high-propensity offer with thin margin), or the one that respects fatigue rules (you already messaged them three times this week). NBA folds propensity, eligibility, policy, and value into one ordered decision.

The pipeline: five stages on every request

A useful way to picture NBA is as a pipeline that every incoming request flows through. Each stage narrows or scores the set of candidate actions, and the last stage picks a winner. In the KaireonAI platform the stages are:

1. Inventory

Start with the full set of candidate actions — every offer, message, or recommendation that could conceivably be served at this touchpoint. This is the raw material; nothing has been filtered or scored yet.

2. Eligibility (fit filters)

Remove anything the customer is not eligible for. Fit filters are the hard yes/no rules: audience conditions, product availability, geographic or regulatory constraints, and any qualification logic you define per offer. An offer that fails a fit filter is out of consideration entirely — it never reaches scoring.

3. Contact policy

Apply the rules that protect the customer relationship. Contact policies enforce channel-level frequency caps, global suppression windows, and cooldown periods so you do not fatigue people. This is where "don't contact this person on this channel right now" is honored, across email, push, SMS, and in-app surfaces — independent of how attractive an action's score is.

4. Match scoring

For each surviving candidate, produce a score for this specific customer. This is the machine-learning core: a model estimates the probability the customer responds, which is then combined with business signals like relevance and impact. Scoring happens inside the pipeline, per candidate, per request.

5. Ranking

Order the scored candidates and select the best one (or the top few). Ranking is multi-objective — it balances the raw propensity to convert against relevance, business impact, and emphasis, so the winner is the action that is genuinely best rather than simply the most clickable. When multiple placements are involved, ranking is also where allocation across surfaces is resolved.

The result of the pipeline is a decision: a single ranked action, plus the trace of how it was chosen. Outcomes are then fed back so the scoring models improve over time — the customer's response to today's action becomes training signal for tomorrow's.

Nine ways to score

The scoring stage is not one algorithm — it is a choice. Different problems call for different models, and the platform ships nine scoring engines you can assign to a decision:

The bandit and online-learning options matter for cold starts: early on, you have little data, so a model that explores deliberately and updates continuously learns which actions work far faster than one that waits for a scheduled retrain.

Why real-time changes everything

Batch decisioning — scoring everyone overnight and shipping a list — is always working from yesterday's picture. Real-time NBA decides at the moment of the touchpoint, using the freshest signal available: what the customer just did, which surface they are on, and what the models have learned up to this second. The decision and the context are the same moment.

That is why the pipeline is designed to run inside a live request. Eligibility, policy, scoring, and ranking all execute per call, and the winning action comes back through a Recommend API. The customer's response flows back through a Respond API, closing the loop so the next decision is a little smarter.

Open-source and self-hostable

None of this needs to be a black box. The platform is open-source under Apache 2.0 and self-hostable, so it is built to be inspectable: you can run the whole pipeline on your own infrastructure and keep your customer data inside your own environment. Decisioning that affects real customers should be something you can understand and control — the stages, the models, and the decision traces are all meant to be visible rather than hidden behind a service.

Next-Best-Action, stripped to its essence, is disciplined choice: gather the candidates, remove what does not fit, respect the customer, score what remains, and rank to one answer — over and over, in real time, for every person.