Product · Agents
An agent per player. Inspectable, replayable, explainable.
Cohort campaigns blur the player. Canon spins up an agent per player, with their own elasticity, lifecycle stage, and risk profile — and shows you exactly what it's doing, why, and what it would do next.
What an agent sees
Every signal that produced every decision.
Open any player and Canon shows the full timeline — every event consumed, every signal extracted, every decision shipped. Hover a decision to see the policy that fired and the alternatives that were ranked beneath it.
- Per-player timeline of consumed events
- Signal trace: what the agent inferred from each event
- Decision log with shipped action + ranked alternatives
- RG check trace: which guardrails fired and why
- Lifetime value and lift vs. control
- Day 14 · 14:32MissionStreak 3 · £2.50
- Day 14 · 09:14BonusLapse-prevention · £5.00
- Day 13 · 22:08CooldownLoss streak detected
- Day 12 · 15:40F2PSession greeting
- Day 9 · 11:22MissionActivation streak · £1.50
- Day 7 · 19:12RG HoldSession length signal
- Day 5 · 14:08BonusRe-engagement · £4.00
- Day 1 · 09:10Sign-upNew player
Six things every agent does, every day.
Pull the player's full event history, lifecycle stage, and risk profile from your PAM and CDP.
Evaluate the current event against the active strategies, ranked by expected lift.
Bonus, mission, cashback, cooldown, hold, or no action — sized to the player and the moment.
RG checks (loss-chasing, stake escalation, session, deposit decline) can downgrade or block the chosen action.
Send the decision to your fulfilment system. Log every signal, score, and override that produced it.
Update the per-player elasticity prior on the observed outcome. Carry it forward to the next decision.
FAQ
Agents, in detail.
No. The decisioning policy is a compact bandit-style model trained on operator data. LLMs are not in the decision path — latency and cost rule them out at scale.
See an agent reason in real time.
A demo on a synthetic player walks through 14 days of decisions, signal-by-signal.