BanditBuzz research

How to make customer choices that learn.

Practical notes on action choice, timing, delayed results, context, and proof. We show the method we use, the research behind it, and the limits that still matter.

Implementation

Building a learning loop with two API calls

Wire BanditBuzz with POST /decide and POST /events. Cover idempotency, a local fallback, reward maturity, mismatched identifiers, and what to add after the base loop works.

Market

The customer decisioning market in 2026

Customer decisioning products split by what they already own. Compare setup, context, reward truth, identity, execution, control, and proof by starting point, not by a winner grid.

Policy design

What happens when yesterday stops predicting tomorrow

Full-history bandit posteriors can adapt too slowly when reward rates shift. How seasonality, wear-out, sliding windows, and discounting change the history rule, and what BanditBuzz does today.

Policy design

Language models need a policy for exploration

Language models can help name actions and draft setup, but current bandit tests do not support relying on them alone to balance exploration and exploitation.

Context

How Faraday adds context to BanditBuzz

Faraday resolves a person and returns a small decision-time vector. BanditBuzz snapshots it, encodes a few fixed features, and lets replay decide whether that context helps.

Measurement

Checking a contextual policy before it goes live

How person-level cross-fitting and a doubly robust estimator turn logged randomized traffic into a guarded preview of a per-person policy, including the evidence gates, overlap checks, and limits that keep the preview honest.

Engineering

The decision log is part of the model

What to store at choice time so a future policy can be checked fairly, including offered sets, propensities, context snapshots, and why a reward table alone is not enough.

Estimands

The timing estimand comes before the timing model

Send-time optimization can mean whole-policy lift, timing lift conditional on acting, or repeated act-or-wait pacing. These are different questions. BanditBuzz answers the first two with nested controls and does not yet run the third.

Measurement

A live holdout and a range you may inspect each day

How BanditBuzz measures whole-policy lift with a stable person holdout, matured decision units, absolute and relative effects, and a 95% confidence sequence built for repeated dashboard viewing.

Attribution

Delayed rewards and identity-resolved attribution

How BanditBuzz joins a choice made on one identifier to a result that arrives days later on another, using pending windows, nightly identity stamps, and latest-eligible-decision attribution.

Policy design

Thompson sampling as a useful first policy

Why BanditBuzz’s free tier uses Beta-Bernoulli Thompson sampling: no training set, no exploration-rate knob, matured counts, Monte Carlo propensities, and the limits that come with the choice.

Policy design

Why “do nothing” belongs in the action set

Without a no-action choice, a learner can rank messages while never learning whether contact helps. How BanditBuzz treats nothing, holdout, cooldown, frequency, and timing as different jobs.

Decision design

What “next best action” should mean

A next-best-action system should own one bounded choice among approved actions, including no action, tied to one business result. Strategy, content, consent, and execution stay with you.