Data Transparency: Preventing Margin Decay Through Systematic Spreadsheet Records
I did not start tracking my NBA bets seriously until my third season. Those first two seasons are a black hole in my records — I know I bet, I think I was roughly breakeven, but I have no data to confirm it. No win rate by market type, no CLV history, no record of which strategies worked and which bled money. I was making decisions in the dark, and I did not even know it.
Only about 3% of sports bettors generate consistent profit over time. I am convinced that a disproportionate share of that 3% tracks every bet meticulously. Not because tracking itself creates edge — it does not — but because tracking makes edge visible. Without records, you cannot distinguish between a strategy that is working and one that is running hot. You cannot identify which market types produce your highest CLV, which bookmakers give you the best prices, or which days of the week your analysis is strongest. You are guessing about your own performance, and guessing is how you stay in the 97%.
The tracking system I describe here is a spreadsheet. Not an app, not a subscription service, not a paid tracker with social features. A spreadsheet that you control, that you update after every bet, and that you review on a fixed schedule. It takes two minutes per bet and produces the most valuable dataset in your entire operation.
Essential Columns: Date, Market, Odds, Stake, CLV, Result
A calibration-focused approach to NBA modelling has shown average ROI of +34.69%, while accuracy-focused models produced -35.17%. The bettors who produced positive returns were not necessarily smarter — they measured the right things. Your tracking spreadsheet needs to measure the right things too. Here are the columns I consider non-negotiable.
Date and time of bet placement. Not the game date — the time you placed the wager. This matters because it lets you calculate how far in advance of tip-off you are betting. Early bets tend to capture more CLV; late bets capture less. If your data shows you consistently bet in the final hour before tip-off, you have identified a process problem.
Market type. Spread, total, moneyline, player prop (specifying which stat), team total, quarter, half, or live. This is the most important segmentation column in your spreadsheet. Your win rate and ROI will vary dramatically by market type, and you need to know which markets carry your edge and which ones drain it.
Your odds at bet placement. The decimal price you received. Not the opening line, not the closing line — the price you actually got. This is one half of the CLV calculation.
Closing odds. The price at the same bookmaker at tip-off (or as close to it as you can record). This is the other half. Without closing odds, you cannot calculate CLV, and without CLV, you are measuring results rather than process.
Stake in units. Not pounds — units. Tracking in units normalises your data across stake sizes and makes ROI calculations meaningful regardless of your bankroll size.
Result. Win, loss, push, or void. Simple binary (or ternary) outcome. From this column and the odds column, you calculate profit or loss per bet.
I also track three optional but valuable columns: the bookmaker used (to compare performance across operators), a one-sentence reasoning note (to review my logic during audits), and a tag for the primary analytical factor that motivated the bet (schedule edge, model divergence, prop mismatch, CLV capture). Those tags become powerful filters during monthly reviews.
Metrics to Calculate: ROI, Yield, CLV Average, Win Rate by Market
Raw data is useless without derived metrics. The spreadsheet needs a summary section — I place mine on a separate tab — that auto-calculates the following.
Overall win rate. Total wins divided by total resolved bets (excluding pushes and voids). This is the headline number, but it is the least useful in isolation. A 53% win rate on moneyline underdogs is a completely different result from 53% on -110 spreads, because the average odds are different.
ROI by market type. For each market segment (spread, total, moneyline, player prop), calculate total profit divided by total units wagered. This tells you where your edge lives. When I first segmented my data, I discovered my spread ROI was +4.1% while my player prop ROI was -2.3%. I was subsidising prop losses with spread gains and would never have known without the segmentation.
Average CLV. The mean of your CLV values across all bets. Positive average CLV is the strongest indicator that your process is sound. I calculate this on a rolling 50-bet basis to catch trends early. If my rolling CLV turns negative for more than 100 consecutive bets, I pause and review my entire approach before placing another wager. The CLV tracking guide explains the formula and interpretation in detail.
Yield. Profit divided by turnover (total amount wagered, not total number of bets). Yield adjusts for stake size, which is useful when you vary units. A 3% yield means you are keeping three pence of every pound wagered — thin but sustainable.
Win rate by day of week. This sounds trivial, but it is not. NBA games on Monday and Tuesday tend to be lower-profile, with thinner prop markets and less sharp-money influence. My win rate on Tuesday NBA props is 4% higher than my win rate on Saturday NBA props. The market is softer on low-profile nights, and the data confirmed what I suspected.
Weekly and Monthly Review Protocols
Tracking data is only as valuable as the reviews you run against it. I follow a fixed cadence: a quick weekly check and a deeper monthly audit.
The weekly check takes ten minutes. I review the rolling 50-bet CLV, check my overall win rate for the week, and flag any bets where my reasoning note contradicts the outcome in an instructive way. I am not looking for errors — I am looking for patterns. Did I deviate from my model on three bets this week and lose all three? Did I bet a market type I know is negative-ROI for me? The weekly check is about process adherence, not results.
The monthly audit is more thorough. I filter by market type and compare each segment’s ROI to my full-season average. If a segment has diverged by more than 5% from its historical norm, I investigate. I review my average bet timing — am I getting bets in earlier or later than usual? I check my bookmaker distribution — am I concentrating too much volume at one operator, risking an account restriction? And I compare my closing-line accuracy to my model’s predictions, looking for systematic biases.
One mistake I made early on was reviewing results too frequently. Checking P&L after every individual bet creates emotional noise without informational value. A single bet tells you nothing about your process. Twenty bets tell you very little. A hundred bets begin to whisper. Five hundred bets speak clearly. The review cadence exists to prevent you from over-reacting to small samples while ensuring you catch process problems before they compound across an entire season.
The spreadsheet is not glamorous. It is not fun to update at midnight after a loss. But it is the difference between knowing what you are doing and hoping you know. Every professional bettor I have met maintains one. Every recreational bettor I have met does not. That correlation is not coincidental.