Matched Betting Spreadsheet UK: Track Profits Properly

A practical matched-betting spreadsheet template: the 8 columns that matter, why each earns its keep, and how the data diagnoses gubbing and ROI.

Spreadsheet tracking ROI on a laptop
Updated How we review →
By Rob Griffiths2 June 2026 · 12 min read

If you matched-bet seriously for more than a couple of months, you reach a point where the mental running tally stops working - too many offers, too many bookies, too many lay legs in flight at once. A spreadsheet solves that, and it does more than just tell you what you've earned. The right columns also diagnose gubbing, surface ROI-per-hour so you know which offers to skip, and give you a clean record if HMRC ever asks about deposits into your bank account.

Why a spreadsheet beats memory or a bookie's account balance

The three reasons people start tracking properly are usually the same: they want to know real net profit (not the bookie balance, which excludes the lay legs sat on Smarkets or Betfair), they want a paper trail for tax questions (matched betting is generally non-taxable in the UK, but evidencing that the deposits are gambling proceeds is much easier with a log), and they want to spot which bookies are about to gub them before it happens - gubbing is a slow drift, not a sudden event, and it shows up in the data weeks before the email arrives.

The fourth reason creeps in once you've been doing this for a while: ROI per hour. An offer that nets £8 isn't worth doing if it took 45 minutes to set up across bookie + exchange + reload checks. With the column structure below, you can sort by £/hour and skip the dross.

The 8 columns every matched-betting tracker needs

These are the columns to put in row 1 of your sheet. The order matters slightly - date first, profit last - but otherwise it's about getting them all in, not optimising the layout.

1. Date
The day you placed the qualifier (not the day the bet settled). YYYY-MM-DD keeps it sortable.
2. Bookie
Standardised name - pick a spelling and stick to it. "William Hill" not "WH", "Sky Bet" not "Skybet". Filtering on bookie later only works if the names are consistent.
3. Offer type
Qualifier, Free Bet, Risk-Free, Acca Refund, Reload, Casino, Bingo - short tags so you can group by offer category later.
4. Qualifying stake (£)
What you staked at the bookie. For a sign-up qualifier, this is the back-bet that earns the free bet.
5. Back odds
The decimal odds you took at the bookie.
6. Lay stake (£)
What you risked on the exchange to cover the back bet.
7. Lay odds
The decimal odds you laid at on Smarkets / Betfair / Matchbook.
8. Net profit (£)
Bookie outcome minus lay outcome minus commission. This is the column that matters.

That's enough to run the basic analyses. The net-profit column carries the financial truth; the others give you everything you need to slice it later. If you're using a calculator (OddsMonkey, Outplayed, or any free oddsmatcher), all of these fields are already there during the bet - you just need to copy them over.

Three optional columns worth adding

Once you've used the core columns for a couple of weeks, three more start earning their keep:

Exchange used - Smarkets, Betfair, or Matchbook. Lets you check commission costs are matching what you think they are, and reconcile per-exchange balances at month-end.

Time spent (minutes) - rough is fine, 5-minute buckets. Without this you can't compute ROI per hour, and without ROI per hour you can't tell good offers from bad.

Notes - free text. "Got promo on second qualifier", "event abandoned, refunded", "second lay leg failed - placed manually". The notes column is where the real lessons live and where you'll find the gubbing patterns when you go back through six months later.

Three example rows to show the shape

The fastest way to grasp the format is to see filled rows. Here's how a sign-up qualifier, a free-bet leg, and an acca-refund offer look:

Date
2026-05-10
Bookie
Sky Bet
Offer type
Qualifier
Qualifying stake (£)
10.00
Back odds
2.40
Lay stake (£)
9.58
Lay odds
2.46
Net profit (£)
-0.42 (qualifying loss, expected)
Date
2026-05-11
Bookie
Sky Bet
Offer type
Free Bet
Qualifying stake (£)
30.00 (SNR free bet)
Back odds
5.50
Lay stake (£)
26.10
Lay odds
5.20
Net profit (£)
22.45
Date
2026-05-14
Bookie
Paddy Power
Offer type
Acca Refund
Qualifying stake (£)
10.00
Back odds
12.50 (combined)
Lay stake (£)
0.96 (per leg, dutched)
Lay odds
varies per leg
Net profit (£)
8.20 (free bet refund minus lay losses)

Two takeaways from the examples. First: net profit being negative on row 1 is fine and expected - that's a qualifying loss, the cost of unlocking the free bet, which converts to row 2's £22.45 profit. Sum across both rows and you have your real position on the offer. Second: row 3 shows why "Offer type" is more than cosmetic. Acca refunds have a different risk profile to standard free bets (you can lose more on a bad day, you can win more on a good day), and you'll want to filter by offer type later when you're deciding whether the variance is worth it for your bankroll.

What the data tells you once you have 30+ rows

The first month of tracking feels like admin. The third month is where it pays off. Three analyses that need at least 30 rows of data to be meaningful:

ROI per hour by offer type - divide total net profit by total time spent, grouped by offer type. Almost everyone discovers that bingo offers and casino wagering are a much lower hourly rate than they assumed. If your ROI per hour on a category is below your local minimum wage and you have other things to do, skip the category.

Profit per bookie, last 30 days vs prior 30 days - a bookie that was offering you regular promos and stops doing so is gubbing you. The pattern shows up as a profit drop weeks before the formal restriction email. Filter by bookie, compare the two periods, and you'll spot it.

Net profit by month, year to date - the simplest one and the one that motivates continuation. A monthly total chart on the second sheet of the workbook turns the tedious row-entry into something that visibly compounds.

Sheets vs Excel vs Notion - where to actually put it

Google Sheets is the right default. It's free, syncs to your phone for on-the-go bet logging, and the QUERY function is genuinely useful for slicing the data later. The downside is that if you're tracking a substantial bankroll you may want the file off Google's servers - in which case Excel or LibreOffice locally is a sensible answer.

Notion databases work but are slower for the analyses above. Notion's strength is rich notes, not numerical filtering. If you want a hybrid setup, keep the bet log in Sheets and use Notion for the longer write-ups on which offers you're working through.

Dedicated apps exist (the matched-betting platforms have built-in trackers), but vendor lock-in is a real cost. If you move away from the platform, you usually lose the historical data with it. A spreadsheet under your own ownership survives any platform change.

Frequently asked questions

Q01Do I need a spreadsheet from day one, or can I wait until I'm a few weeks in?
Start it from the first qualifier. Retrofitting two weeks of bets from bank statements and bookie email confirmations is genuinely awful, and you'll get the column layout wrong without the live experience of using it. Three columns scribbled in a notebook for the first day is better than zero.
Q02Should the lay-side commission be a column or a formula?
Formula. Hard-coding the commission (typically 2% on Smarkets, 2-5% on Betfair depending on Premium Charge status) means you have to remember to update it if it changes, and you'll forget. Put the commission rate per exchange in a small reference table at the top of the sheet and have the net profit formula reference it.
Q03Is this enough for HMRC if they ask about my deposits?
It's a strong starting point - a contemporaneous log of dates, bookies, stakes, and net outcomes is exactly the evidence that matters. Pair it with bank-statement screenshots and bookie account statements you can pull on request. We covered the tax question in detail in our matched betting and tax guide; the short version is that matched-betting winnings are not currently taxable in the UK, but the burden of proving the deposits are gambling proceeds (not undeclared income) sits with you, and a clean spreadsheet is most of that proof.
Q04What about tracking lay liabilities and exchange balances?
A second sheet in the same workbook works well - one row per exchange, showing current balance and total open lay liability. Update it weekly. The main bet log doesn't need this column; the lay stake is enough to reconcile by month-end when you cross-check the exchange's statement.
Q05Will this help me spot when I'm being gubbed?
Yes - that's one of the highest-value uses. Compare the last 30 days of profit per bookie against the prior 30 days. A drop is rarely random; it usually means stake restrictions or fewer promos hitting your account. Spot the trend a few weeks early and you can switch your activity to a different bookie before that account becomes useless.