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 # | Result | Stake | Balance | Bank 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 marginThe 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
| Market | Bank units | Flat |
|---|---|---|
| Draw | 10 | −4.04% / 70.94% |
| Draw | 25 | −3.79% / 41.72% |
| Draw | 50 | −3.71% / 16.16% |
| Draw | 100 | −3.68% / 2.21% |
| Draw | 250 | −3.67% / 0.00% |
| Draw | 1,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.