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.
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:
- Scorecard — transparent, weighted rules. Ideal when you need an explainable, auditable score with no training data.
- Bayesian / Naive Bayes — fast, probabilistic, and well-suited to learning continuously from outcomes as they arrive.
- Logistic Regression — a dependable calibrated baseline for binary response prediction.
- Gradient Boosted Trees — captures nonlinear feature interactions when you have richer data and want accuracy.
- Thompson Bandit — Bayesian exploration that balances learning about new actions against exploiting known winners.
- Epsilon-Greedy — a simple, robust bandit that reserves a slice of traffic for exploration.
- Neural Collaborative Filtering — learns latent customer/offer affinities for recommendation-style problems.
- Online Learner — updates incrementally on every outcome, so the model tracks shifting behavior without a batch retrain.
- External Endpoint — call your own model over an API when you already have one you trust.
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.