Freeze limits before kickoff
Set maximum match loss, total live-session loss, maximum open positions, and permitted markets before the event. Operator account limits remain an external control; Great Britain's RTS 12 describes current customer-set financial-limit tools.
Do not increase these limits because the match started, a pre-match bet lost, or a price appears briefly available.
Record the live state
For every attempted decision, store:
- record the official match clock and score;
- event-feed timestamp and receipt timestamp;
- broadcast source and known delay where available;
- cards, substitutions, penalties, and market status;
- displayed price, accepted price, and accepted stake;
- every existing position on the match;
- model version and state transformation;
- rejection, suspension, and cash-out response.
Peer-reviewed in-play football work models probabilities conditional on defined match states and checks those updates against data (Barboza et al.). It does not support reacting to an unverified television impression or generic momentum label.
Scenario-level exposure example
Suppose a match has two open positions:
| Scenario | Position A | Position B | Combined result |
|---|---|---|---|
| Home wins | +GBP 6 | -GBP 4 | +GBP 2 |
| Draw | -GBP 4 | +GBP 3 | -GBP 1 |
| Away wins | -GBP 4 | -GBP 4 | -GBP 8 |
The worst listed result is -GBP 8. Adding another position requires recalculating every relevant scenario. Simply saying each stake is GBP 4 misses the combined away-win exposure.
Price and latency checks
Live markets can suspend around incidents and selected prices can change before acceptance. Confirm the receipt rather than the click. Rules for abandonment, extra time, VAR, and market settlement are product-specific; Betfair's soccer rules provide one current example.
Reject a decision when the model state is older than the market state, the broadcast delay is unknown and material, or the accepted price changes the EV sign.
Stop conditions
Stop adding positions when any of these occurs:
- maximum match or session loss is reached;
- feed ordering or clock reconciliation fails;
- state-changing events cannot be confirmed;
- repeated rejection or price movement prevents execution;
- the decision is intended to recover a prior loss;
- attention, emotion, or substance use impairs the process.
If live betting feels difficult to stop or is affecting finances or wellbeing, the NHS gambling support guide should take priority over position management.
Replay the complete live decision path
After the match, replay event messages in their original arrival order and reconstruct the model state, displayed price, attempted stake, and accepted receipt at each decision. A final event file can contain corrections or timestamps that were not available live. Keep delayed, duplicate, and out-of-order events in the test because those are operational risks, not rows to clean away silently.
Compare the replay with the live journal. Any state mismatch, missing suspension, or receipt difference should invalidate performance attribution until reconciled. Publish decisions rejected by the exposure rule as well as accepted bets. Otherwise a review cannot tell whether the control actually prevented risk or was added retrospectively after seeing the outcome.
Next step
Use In Play Bankroll for the next part of this topic.
Continue learning
- Next guide: When to Increase Betting Stakes
- Related guide: Accumulator Bankroll Management
Assumptions and limitations
The scenario table is illustrative and omits commission, partial cash-out, pushes, and additional score states. Latency varies by feed, market, location, and broadcast. No universal in-play stake percentage is supported, and a live model requires separate validation and replay testing.

