The systems sandbox

Flat: the honest baseline

The idea, in the seller’s words

The honest promise is control: stake the same unit each time, without chasing a loss. It makes results easy to compare, but it never promises to turn a bad price into a good bet.

The stake sequence

Illustration: 8 scheduled bets on a draw at decimal odds of 3.40, starting with 10 units. These are chosen example inputs, not historical results.

The same stake and bust rules as the historical replay are used. Once the next stake cannot be funded, the replay stops this bank and counts its unbet remainder as lost for ROI accounting only; the bettor still holds that money. The first blocked stake is shown but is not placed; later results cannot rescue this bank. This example adds no fresh bank.

Bet #ResultStakeBalanceBank status
1 Loss 1.00 9.00 Open
2 Loss 1.00 8.00 Open
3 Win 1.00 10.40 Open
4 Loss 1.00 9.40 Open
5 Loss 1.00 8.40 Open
6 Loss 1.00 7.40 Open
7 Loss 1.00 6.40 Open
8 Win 1.00 8.80 Open

Eight bets are not the long-run result; see the history table below.

Why it does not work

Staking does not change the price

If the price pays less than the true chance warrants, every unit staked loses money on average. Changing the stake cannot remove that margin. A realised ROI is history, not a measurement of the true expected return.

In the indexed Draw replay with 10 units, this system’s ROI was −4.04%.

The bookmaker’s margin

The losses change shape

Flat does not concentrate the stakes after losses. It is the baseline, not a recovery system: a long losing stretch can still exhaust a finite bank.

For that same cell, 2,675 of 3,771 banks busted (70.94%). These are banks, not individual bets.

The bank and the bookmaker have limits

The bank is finite. Compare the indexed bank sizes below: more money can postpone a funding failure, but it also puts more money at risk. Bookmakers can cap or reject the required stake. Those bookmaker limits are not modelled here.

The worked example starts with 10 units; its balance column shows when this bank can no longer continue.

What the history says

Each cell shows ROI / bust share. All systems face the same eligible matches; stakes and the timing of fresh banks differ.

Historical rankings can differ: changing stakes changes the weight of each result. A positive cell selected from many combinations is an in-sample result, not evidence of a repeatable edge.

All prices

MarketBank unitsFlat
Draw10 −4.04% / 70.94%
Draw25 −3.79% / 41.72%
Draw50 −3.71% / 16.16%
Draw100 −3.68% / 2.21%
Draw250 −3.67% / 0.00%
Draw1,000 −3.67% / 0.00%
Team wins (home or away)10 −4.87% / 69.89%
Team wins (home or away)25 −4.61% / 37.78%
Team wins (home or away)50 −4.53% / 11.81%
Team wins (home or away)100 −4.51% / 0.36%
Team wins (home or away)250 −4.51% / 0.00%
Team wins (home or away)1,000 −4.51% / 0.00%

ROI is net return divided by committed stakes, including forfeited balances. Bust share is busted banks divided by all banks, including unfinished banks. Each team has its own stream, so a match appears in both teams’ histories and observations are not independent.

Returns stay in the bank. In the historical replay, the next eligible match after a bust starts a fresh bank. Closing prices use Pinnacle where available, otherwise the market average; unpriced matches are skipped. Price coverage is incomplete. This is descriptive, in-sample history, not a forecast.

Source: matches and match_odds → system_replays. Window: 2012-03-02 to 2026-09-28. Priced matches: 170,818 (distinct matches with at least one eligible market, before band selection). Computed 2026-09-30 08:58:43.