A sportsbook can take 20% more in stakes and finish the week with less money. Before anyone cuts a promotion or changes a trading limit, someone has to explain the difference. Perhaps customers backed a run of winning favourites. Perhaps more of the business moved into lower-margin markets. Perhaps the comparison includes bets accepted this week whose results will not be known until next month.
Sportsbook analytics is the analysis of betting, settlement, player and promotional data to understand revenue, exposure and customer value. Its usefulness depends on being able to follow a number back to the bets and decisions behind it. A trading director reviewing open positions and a finance director reviewing last week’s revenue need different views, even when both start with the same transactions.
The numerical examples below use illustrative data. They show how to work from a change in revenue back to the bets, prices and costs that produced it, without assuming that a winning week proves good pricing or that a losing week proves the opposite.
Which bets belong in this week’s revenue?
Suppose a customer places a tournament outright in June and it settles in July. The stake belongs in June’s accepted-bet activity. Its contribution to a report built on settled bets belongs in July. Dividing July’s settled revenue by July’s newly accepted stakes mixes two populations. That ratio can move sharply even if nothing has changed in pricing or customer behaviour.
Maintain an accepted-bet view for demand and an open-bet view for exposure, alongside a settlement view for realised revenue. The date filter should say which event it uses. DraftKings describes sportsbook gross gaming revenue as settled handle less the payouts for resolved betting markets. A dashboard that uses another basis needs to make that basis equally clear.
For a cash-funded bet population, a starting definition of GGR is settled stakes minus total customer returns on those same bets, including returned stake. Define the treatment of pushes, voids and partial settlements before calculating the ratio. Returning a voided stake creates no betting revenue, but retaining that stake in the denominator will dilute hold compared with a report that excludes voids from both sides.
Corrections also need a place in the report. Sportradar’s feed documentation explicitly provides for rolling back an earlier settlement. Keep the original event and the correction linked, and decide whether the business view restates the original period or shows an adjustment in the current period. Finance may need both. A replayed message must not become a second payout, and a correction should not silently overwrite the evidence used in yesterday’s report.
Promotional accounting deserves the same precision. Free-bet face value, cash stakes and promotional cost are different quantities. Under the UK Gambling Commission’s GGY reporting guidance, treatment depends in part on whether a bonus has an unrestricted cash equivalent; cashback is addressed separately. Those are specific regulatory rules, not a universal definition of management revenue. Document the conversion between your operational metrics, regulatory returns and financial reporting before comparing them.
Read sportsbook KPIs together
A weekly report should let the reader distinguish demand, betting result and the costs of generating that result. The following measures cover that sequence. Each needs a defined population and time basis; displaying them together does not make their denominators interchangeable.
| Measure | Reporting basis | What to investigate |
|---|---|---|
| Accepted stakes / handle | Stakes accepted during the period; identify cash and promotional stakes separately | Whether volume changed because of customers, frequency, stake size or the event calendar |
| Settled stakes | Stakes belonging to the bets included in the settlement report | Whether revenue and its denominator cover the same bets |
| GGR and realised hold | GGR divided by the corresponding settled stakes | Whether the result reflects pricing, mix, sporting outcomes or settlement adjustments |
| Expected GGR | Modelled expected result for a specified bet population | Whether the accepted business had the expected economics, subject to model quality |
| Active bettors | Distinct customers meeting an explicit activity rule | Whether growth is broad or concentrated in a small number of accounts |
| Promotional cost | Recognised cost under the agreed accounting policy | Whether additional activity produces enough contribution to justify the offer |
| Contribution | Revenue less a named set of costs | How much remains after the costs included in this particular view |
| Open-position exposure | Possible outcomes for unsettled bets at a stated time | Where losses could concentrate before those bets settle |
For hold percentage, aggregate the money before calculating the percentage. A market with €1,000 in stakes should not carry the same weight as one with €1 million. Taking a simple average of their hold percentages can turn a small, unusual result into an apparent change in the whole sportsbook.
NGR needs an explicit definition of deductions. Teams sometimes use the name for different combinations of bonus costs, gaming taxes and other adjustments. Even a consistently defined NGR figure may exclude costs needed to understand profitability. A report labelled “contribution after promotional costs, gaming taxes and payment fees” is easier to interpret than one labelled “profit” when platform fees, salaries and overheads remain elsewhere.
Separate expected margin from the week’s results
Realised hold records what happened. Expected margin estimates the economics of a specified set of bets under a probability model. Keeping both lets a team distinguish an unusually expensive weekend of results from a persistent change in the business it accepts. Public operator reporting makes this distinction too: Flutter’s Q4 2025 results discuss structural margin, sports results and promotional investment separately. Its percentages are company-specific, so they should not become targets for a different sportsbook.
For a simple cash bet with stake S, decimal odds d and modelled win probability p, expected GGR is S × (1 − p × d), assuming no push, void, cash-out or other settlement adjustment. A €100 bet at 1.91 with a modelled 50% chance of winning has expected GGR of €4.50. If the customer wins, the sportsbook’s realised result is a €91 loss; if the customer loses, it is a €100 gain. Neither outcome, on its own, proves that the probability estimate was wrong.
The overround in the displayed prices is another quantity. Two mutually exclusive, exhaustive outcomes both priced at 1.91 give an overround of approximately 4.71%. If their true probabilities are each 50%, expected hold on a bet at either price is 4.5%. The difference comes from the arithmetic. More generally, overround alone cannot tell you the expected return on the stakes actually accepted, particularly when the book is uneven or your probability estimates are inaccurate.
Save the probabilities, prices and model version used for the expectation. A model fitted after the results are known cannot provide an honest reconstruction of what the operator expected when the bets were accepted. Closing prices may offer a useful comparison, provided you account for their margin and market quality, but they are not observed true probabilities. For bet builders, the model must also account for dependence between selections. Multiplying standalone probabilities is valid only under an independence assumption that related selections may violate.
In the report, show realised GGR minus expected GGR as a variance to investigate. That residual can contain sporting outcomes, model error, incomplete data and settlement differences. Calling all of it “bad luck” makes the model impossible to challenge. Where there are enough observations, review probability calibration and results by market and odds range. An uncertainty estimate should reflect shared exposure to events; thousands of bets on the same match are not thousands of independent tests of pricing quality.
A worked example: more stakes, less contribution
Consider two weeks measured on settled cash bets, with consistent settlement and currency policies. For this example, the weighted modelled margin is 7.5% in both weeks. Promotional costs are separately recognised costs that have not already been deducted from the GGR shown. The final line subtracts only those promotional costs and the named variable costs; it is not operating profit.
| Measure | Week A | Week B | Change |
|---|---|---|---|
| Settled cash stakes | €1,000,000 | €1,200,000 | +€200,000 |
| Expected GGR at 7.5% | €75,000 | €90,000 | +€15,000 |
| Realised GGR | €80,000 | €72,000 | −€8,000 |
| Realised hold | 8.0% | 6.0% | −2.0 percentage points |
| Realised less expected GGR | +€5,000 | −€18,000 | −€23,000 |
| Separately recognised promotional costs | €20,000 | €35,000 | +€15,000 |
| Gaming taxes and payment fees | €15,000 | €18,000 | +€3,000 |
| Contribution after the costs shown | €45,000 | €19,000 | −€26,000 |
The additional settled volume would have added €15,000 of expected GGR at the assumed margin. The change in the realised-versus-expected result took away €23,000, leaving GGR €8,000 lower. Higher promotional costs then removed another €15,000, and the remaining costs increased by €3,000. Those movements explain the €26,000 fall in contribution exactly.
The €23,000 swing against expectation belongs in a review of events, markets and customer concentration. The additional €15,000 of promotional cost needs campaign evidence. Finance first needs to confirm that the settlement and cost definitions are consistent. There may be a good reason for each movement, but they require different evidence. Cutting the promotion because hold fell would combine two separate questions before either had been answered.
In a real comparison, expected margin will often change too. To separate volume from expected-margin change, first apply Week A’s expected margin to the increase in stakes, then apply the change in expected margin to Week B’s stakes. This decomposition adds back to the total change in expected GGR. Splitting that margin movement further into product mix and pricing requires more detail, including comparable groups of bets and an agreed order of calculation.
The same caution applies to promotional costs. If the revenue metric already deducts a particular bonus expense, subtracting it again will understate contribution. Reconcile the report to the ledger before interpreting the movement, especially when comparing suppliers whose treatment of promotional stakes and returns differs.
A lower margin can start with a different mix of bets
A sportsbook’s overall hold can fall while every underlying category performs exactly as expected. Imagine €200,000 of stakes split equally between two categories with expected margins of 2% and 12%. The weighted expected margin is 7%. If the split changes to €180,000 in the first category and €20,000 in the second, it becomes 3%. No deterioration within either category is needed to explain the fall.
Start the comparison with sport, competition, market type, pre-match versus in-play, and singles versus multiples. Then examine customer cohort, channel and jurisdiction where the data supports it. A football tournament can alter several dimensions at once. Comparing a tournament week with an ordinary week without accounting for that shift can make a predictable change in demand look like a pricing problem.
The categories must also add up. A multiple can contain selections from several sports, so crediting its full stake to every leg inflates the total. Keep an unduplicated ticket-level view and make any allocation to legs explicit. This matters when deciding which sports or markets deserve more product investment: the biggest bar on a chart may otherwise reflect the attribution rule rather than the business.
For product decisions, pair margin with volume, acceptance and customer outcomes. A market can show a higher hold after restrictions while producing less total contribution because substantially fewer bets are accepted. Review rejected, repriced, partially accepted and timed-out requests separately. Calculate acceptance on a defined request population, accounting for retries, and examine technical failures alongside trading decisions. An acceptance-rate change should prompt an explanation before it becomes a verdict on either the trading team or the customer.
Open exposure: payout obligations and possible losses
Yesterday’s GGR does not describe today’s unsettled book. A report of open sportsbook liability needs to distinguish the total amount payable to customers from the operator’s net loss under a particular outcome. Different systems use “liability” for different measures, so the label should include the definition.
Suppose a closed set of open cash bets contains €100,000 in stakes already received. If a particular outcome would require total customer returns of €250,000, the gross payout obligation is €250,000 and the betting result is a €150,000 loss before promotions and other costs. Treasury may care about funding the payout; trading may care about the loss and the probability of that scenario. Both figures are useful, but they answer different questions.
Aggregate positions across singles, multiples and related markets before deciding that the book is diversified. Several tickets can depend on the same team, player or match event. Equally, adding the worst possible loss from every market may produce a total that no feasible set of results could cause. Scenario analysis should respect which outcomes can occur together, while retaining a clearly labelled conservative bound if that is useful for control purposes.
Cash-out changes the remaining position. Once a bet is fully cashed out, the analytical view should reflect its settled return and remove the closed exposure; a partial cash-out requires a corresponding split. A cash-out payment already included in customer returns must not be deducted a second time as a separate loss. Show the timestamp of the underlying feed as well as the dashboard refresh time, because a recently refreshed screen can still contain an old position.
Retention depends on the sporting calendar
A customer who bets on one national team’s fixtures may return reliably whenever that team plays and remain inactive between matches. A fixed seven-day retention measure will describe that behaviour differently depending on the schedule. Keep calendar-based retention for consistency, but add a view of return at the next relevant fixture or competition stage when it suits the cohort.
Define that cohort using information available at entry, such as the acquisition event or first competition bet on. Choosing “Champions League customers” because they later returned to bet on the Champions League selects for the behaviour the analysis is supposed to measure. Cohorts also need equal observation windows. Customers acquired yesterday have not yet had the same opportunity to return as those acquired a month ago.
Customer value needs a longer view than the last result. A player who won a large bet this week may still have a positive modelled contribution over time, while a temporarily profitable player may have been expensive to acquire and retain. Separate realised contribution from forecasts, state which costs are included, and test forecasts against later cohorts. Where players use both products, reconcile sportsbook and casino analytics at account level so acquisition costs and shared incentives are not charged twice.
For CRM and retention analysis, useful segments connect an observable behaviour to a specific question: whether newly acquired customers return without a second offer, whether a promotion changes the timing of bets, or whether activity is concentrated around a single competition. Save cohort membership at the start of an evaluation. A customer moving into a different behavioural segment next week should not disappear from the original comparison.
Eligibility for marketing must remain a separate control. Great Britain’s remote customer interaction requirements require operators to prevent marketing and new bonus take-up where strong indicators of harm have been identified. A retention model’s recommendation cannot override those restrictions. Record the applicable eligibility rules before assigning a campaign, and keep required protective actions in place for every experimental group.
What did the promotion actually change?
Offer redeemers are a selected group. Comparing their revenue with that of non-redeemers confounds the offer’s effect with their existing inclination to respond and bet. A promotion can appear successful because it attracted customers who would have been active anyway. The relevant question is how contribution changed because the offer was available.
Where feasible, randomly assign eligible customers to an offer group and a control group during the same fixture window. Analyse customers according to their original assignment, including those who never redeem. This follows the logic of properly designed randomised controlled experiments. Define the observation period, contribution measure and primary outcome before reading the result. Check assignment integrity and overlapping campaigns; randomisation cannot rescue a test whose groups receive materially different unrelated treatments.
Suppose the offer group contributes €12 per assigned customer and the control group €10, after the same defined costs. The estimated incremental contribution is €2 per customer. It is not €12, and it is not yet a reliable forecast without uncertainty estimates and sufficient observation. Betting returns can be dominated by a few large outcomes, so inspect concentration and use an analysis that reflects the experimental design and dependence in the data. Extending the observation window can also reveal whether the offer merely moved next week’s activity into this week.
When a randomised test is unavailable, matched cohorts and historical comparisons can help, but document their limitations. A change in fixtures, prices, market availability or acquisition mix can imitate a promotional effect. Label the result as an observational estimate and show the assumptions needed to use it. That leaves a reader able to judge the evidence rather than relying on a confident uplift percentage.
Build the dashboard around the investigation
A daily revenue view should open with settled stakes, GGR, expected GGR and the costs included in contribution. Beside the current figures, show the comparison period and the largest sources of change. The first drill-down should reveal whether the difference sits in a competition, market type, event, customer cohort or settlement correction. A total without that route to the underlying records creates another reporting request.
Trading needs a separate view of open positions, outcome scenarios, concentration, acceptance and data freshness. CRM needs cohorts, eligibility, promotional cost, retention and experiment results. Finance needs reconciled revenue, adjustments and the mapping to its ledger. The definitions should be consistent across those views, while the refresh frequency and level of detail follow the decisions each team makes.
Choose alert thresholds with the same care. A minimum volume threshold, an expected range and the monetary effect make a margin alert more useful than a rule that fires whenever a small market turns negative. Name the person who reviews it and retain the result of the investigation. Otherwise the same harmless exception can interrupt the team every week while a settlement problem remains unexplained.
Gamblitude’s Business Intelligence Platform brings dashboards and analysis onto shared metric definitions, while the Sportsbook solution applies that analysis to betting performance and player behaviour. The useful test is a specific one: take a week in which contribution moved, trace the change to its component bets and costs, and establish what the team should investigate. If the explanation still depends on an unexplained spreadsheet adjustment, that adjustment is the next piece of work.

