Chips & Truths No spin. Just the math.

Reconciling Drop, Handle, and Hold

A research-style paper on reconciling drop, handle, and hold through expected-value modeling, anomaly detection, and evidence-led investigation.

By H. Omer Aktas

Reconciling Drop, Handle, and Hold: A Forensic Econometric Approach to Table Game Leakage

Abstract

Most table game audits follow the same accounting routine. An auditor verifies opening inventory, records fills and credits, counts the drop, reconciles closing inventory, and then tries to explain any odd hold figure once the shift is over. That routine catches recording errors, but it struggles with the harder problem: table games are financially noisy. A weak hold can come from ordinary gambling variance, sloppy player ratings, a skilled player, thin supervision, a dealer’s mistake, a marker problem, collusion, or nothing more than bad paperwork. One symptom, many possible causes.

This paper sets out a forensic econometric approach to table game leakage. It keeps drop separate from handle, accounting hold separate from house edge, and a statistical anomaly separate from proof. The method draws on expected-value modeling, variance-adjusted discrepancy analysis, regression residuals, statistical process control, Benford-type screening, and surveillance triangulation. A simulated dataset illustrates how normal variance, rating error, dealer error, marker failure, and collusion leave different traces in audit data.

The argument here is cautious by design. Statistical models have no business accusing employees or players. Their job is narrower and more useful: telling auditors, surveillance teams, and floor managers where to look harder. A finding becomes strong only when the financial anomaly, the operational pattern, and independent documentary or visual evidence all point the same way.


1. Introduction

Reconciling table game revenue sits where accounting, probability, human observation, and internal control overlap. Slot machines usually leave a detailed electronic trail of coin-in, coin-out, outcomes, and machine events. Table games still lean heavily on supervisor estimates, dealer procedure, chip inventory, marker paperwork, fill and credit slips, cage records, and count-room controls. Even where a modern table-management system is in place, the audit record rarely lets anyone reconstruct every wager with certainty.

That gap is what makes the work difficult. A table may show weak hold because the players genuinely won. Or because the average bet was understated, the player’s time was logged wrong, the game pace was misjudged, a marker was mishandled, a dealer overpaid, a supervisor skipped a verification, or a relationship between staff and a player quietly compromised the game. The accounting result on its own does not say which story is true.

Casino control systems have long handled this through reconciliation and exception review. Minimum internal control standards require segregation of duties, documented fills and credits, count controls, approval trails, access controls, and independent verification of revenue transactions (Nevada Gaming Control Board, 2026a; Nevada Gaming Control Board, 2026b). Those controls are indispensable, but they are built mainly to confirm that transactions get recorded and reconciled. They leave the deeper forensic question open:

Given the game, the handle, the volatility, the staff assignment, the player mix, and the operating conditions, was this table’s financial performance reasonable?

That is the question the paper takes up. The goal is to sharpen traditional audit work rather than replace it. A variance-adjusted model can tell an audit where to start. It cannot establish guilt, stand in for surveillance review, or prove intent, but it can help separate ordinary volatility from patterns worth a closer look.

A note on terminology. Leakage is used broadly here. It can involve fraud, but often does not. It covers losses from procedural failure, rating error, weak control design, dealer mistakes, thin supervision, advantage play, irregular chip movement, marker documentation gaps, and deliberate misconduct alike. Reading every instance of leakage as fraud is analytically sloppy and legally risky; reading every low hold as bad luck is just as dangerous from a control standpoint.


2. Literature Review

2.1 Casino Internal Controls

Casino internal controls rest on a single principle: gaming revenue has to be independently observed, documented, protected, and reconciled. Table games are particularly exposed because cash, chips, plaques, markers, fill slips, credit slips, and player ratings pass through several departments before a final win figure reaches accounting. The standards therefore stress dual custody, independent verification, restricted access, recorded approvals, audit trails, and separation among operations, cage, count, and accounting (Nevada Gaming Control Board, 2026a; Nevada Gaming Control Board, 2026b).

These controls narrow the opportunity for loss without removing the ambiguity. A table can reconcile perfectly on paper and still underperform mathematically, and it can fall short of theoretical expectation for entirely innocent reasons. A forensic approach has to keep both possibilities in view.

2.2 Forensic Accounting and Fraud Theory

Forensic accounting has always used anomaly detection as a starting point rather than a verdict. Ratio analysis, digit analysis, trend analysis, control charts, and residual testing all flag transactions or periods that deserve review; none of them proves fraud by itself.

Cressey’s study of embezzlement still matters because it framed fraud as a behavioral and opportunity problem rather than a purely accounting one (Cressey, 1953). The later “fraud triangle” — pressure, opportunity, rationalization — became standard in fraud examination. In casino operations, opportunity is the element management can actually control. Poor marker control, weak fill verification, inconsistent inventory procedures, surveillance blind spots, and informal approval habits all manufacture opportunity even when motive is unknown.

This shapes how findings should be worded. A statistical anomaly can be “consistent with a control weakness” or “consistent with a pattern requiring investigation.” Calling it proof of theft, absent supporting evidence, overstates what the numbers can carry.

2.3 Gambling Mathematics

Expected value is the mathematical floor of table game auditing. Games are designed with a house advantage, but results scatter around that expectation, and the shorter the window, the wider the scatter. High-limit baccarat, blackjack with concentrated betting, craps, and side-bet-heavy games can swing hard while staying entirely within normal mathematical bounds.

A recurring operational error is to treat hold percentage and house edge as the same thing. House edge is figured against total wagers; hold percentage is usually figured against drop. Because the same chips can be wagered many times after one buy-in, handle often dwarfs drop. Hold can therefore move sharply with no change in the underlying edge.

2.4 Statistical Process Control

Statistical process control gives auditors a way to tell ordinary process variation from genuine drift. Shewhart charts suit large single-period deviations; EWMA and CUSUM charts are better for small, persistent shifts (NIST, 2026a; NIST, 2026b). The distinction matters because leakage rarely arrives as one dramatic loss. More often it shows up as a recurring two-hour soft spot, a repeated dealer error, a small marker exception that keeps reappearing, or a pattern that tracks a particular staff pairing across shifts.

End-of-day exceptions alone will miss most of that. Rolling measures usually tell the auditor more than a single-period hold figure.

2.5 Econometric Modeling and Conditional Variance

Regression lets an auditor estimate expected performance after controlling for game type, shift, handle, player mix, table limit, promotion, and staffing. What is left over — the residual — becomes the object of forensic interest.

The complication is that table game variance is not constant. It moves with handle, average bet, game type, side-bet exposure, table limit, and how concentrated the play is. Engle’s ARCH model and Bollerslev’s GARCH model were built for time series whose volatility changes over time (Engle, 1982; Bollerslev, 1986). Casino win data is not financial-return data, but the warning transfers cleanly: a model that assumes constant variance will tag some normal events as suspicious and wave through some events that genuinely are not.

2.6 Benford’s Law and Digit Screening

Benford’s Law holds that in many naturally occurring datasets, smaller leading digits turn up more often than larger ones. The probability of first digit $d$ is

$$P(d) = \log_{10}!\left(1 + \frac{1}{d}\right)$$

for $d$ from 1 to 9 (Benford, 1938). Nigrini later worked out its practical use in forensic accounting and auditing (Nigrini, 2012).

Benford testing can surface fabricated records, but it needs a light touch in a casino. Table game figures are constrained by chip denominations, table limits, marker thresholds, rounding conventions, fill procedures, and minimum buy-ins — constraints that can bend digit distributions away from Benford even when nothing has been manipulated. Treat it as a weak screen, not a primary fraud test.

2.7 Surveillance and Game Protection

The surveillance and game protection literature is blunt about one thing: a financial anomaly means little until it can be tied to something observable — a false payout, past-posting, chip theft, a card-handling irregularity, a suspicious staff-player interaction, a fill or credit problem, or a procedural breach (Boss and Zajic, 2011). Game protection specialists also stress the difference between cheating, advantage play, dealer weakness, and plain operational error (Zender, 2008).

Technology has widened the field of view. RFID chips help with high-denomination authentication, inventory monitoring, cage verification, and movement analysis. Optical recognition and AI-supported table systems can capture card movement, chip placement, and game pace. Useful as these are, they do not retire human judgment. A technology alert stays an alert until someone reconciles it against records, video, and procedure.


3. Accounting and Mathematical Foundations

A forensic audit starts with clear definitions, because in practice many table game disputes trace back to loose terminology.

Drop is the value deposited into the drop box: cash, cash equivalents, markers, and approved instruments.

Handle is the total amount wagered. In table games it is usually estimated:

$$\widehat{Handle}{i,t} = AverageBet{i,t} \times DecisionsPerHour_{i,t} \times PlayerHours_{i,t}$$

Actual win is the accounting result:

$$ActualWin = Drop + ClosingInventory + Credits - OpeningInventory - Fills$$

Accounting hold is

$$Hold% = \frac{ActualWin}{Drop}$$

Win-to-handle is

$$WinToHandle = \frac{ActualWin}{\widehat{Handle}}$$

and theoretical win is

$$TheoreticalWin = \widehat{Handle} \times AdjustedHouseAdvantage$$

The adjusted house advantage should account for game rules, bet mix, player skill, side-bet exposure, commission rules, promotions, and any known advantage-play risk.

The distinction that does the most work is this one: hold percentage is an accounting ratio, while theoretical win is a mathematical expectation. Hold is easier to compute, but theoretical win is usually the more meaningful number for forensic purposes.


4. Research Questions

Five questions organize the analysis. How can a casino tell ordinary negative variance from a real leakage signal? Does variance-adjusted discrepancy analysis outperform a conventional low-hold review? How should a model handle rating error, handle uncertainty, and shifting volatility? What evidence has to exist before a statistical anomaly can justify an operational investigation? And how far can back-testing and simulation push down the false-positive rate?

All five are practical rather than theoretical. A model that produces beautiful statistics while burying surveillance in false alerts is no help, and a model that stays quiet but sleeps through slow leakage is no help either. The objective is disciplined prioritization, not mathematical elegance.


5. Methodology

5.1 Research Design

The audit runs as a sequence. Estimate handle and theoretical win, then estimate variance by game type and exposure. Compare actual win against theoretical win, and pull out standardized discrepancies and regression residuals. Review rolling patterns with EWMA or CUSUM charts, run a data-quality check, and localize any anomaly by table, shift, staff, player, and transaction type. Only then triangulate against surveillance, cage records, count-room documentation, and operational logs.

Order is not incidental here. Jumping straight from a statistical anomaly to an accusation skips the two steps most likely to dissolve the anomaly — data quality and normal variance.

5.2 Required Data

A credible model pulls from several departments. Table operations supply game type, table number, limits, opening and closing inventory, fills, credits, drop, actual win, open and close times, dealer, and supervisor. Player tracking supplies average bet, time played, player hours, buy-ins, chip-in, chip-out, marker activity, and rating notes. The cage and count room supply fill slips, credit slips, marker documents, redemption records, count variance, and approval logs. Surveillance supplies incident reports, video timestamps, camera coverage, and observed procedural issues.

The data need not be flawless, but its weaknesses have to be understood. Bad average-bet ratings produce bad theoretical win estimates. A model blind to side bets misstates expected performance. A model that treats high-limit baccarat like low-limit blackjack will cry wolf.

5.3 Key Variables

The core discrepancy is the gap between actual and theoretical win:

$$D_{i,t} = ActualWin_{i,t} - TheoreticalWin_{i,t}$$

Standardizing it gives

$$Z_{i,t} = \frac{ActualWin_{i,t} - TheoreticalWin_{i,t}}{\widehat{\sigma}_{i,t}}$$

where $\widehat{\sigma}_{i,t}$ is the estimated standard deviation for the game, handle, average bet, and exposure level.

Regression residuals enter as well:

$$Residual_{i,t} = ActualWin_{i,t} - \widehat{ActualWin}_{i,t}$$

A large negative residual says the table did worse than expected once the known variables are accounted for. It says nothing about why.

5.4 Model Specification

A workable regression is

$$ \begin{aligned} ActualWin_{i,t} = \ &\beta_0 + \beta_1 \widehat{Handle}{i,t} + \beta_2 GameType_i + \beta_3 Shift_t \ &+ \beta_4 DayOfWeek_t + \beta_5 TableLimit_i + \beta_6 PlayerMix{i,t} \ &+ \beta_7 Promotion_t + \beta_8 StaffPair_{i,t} + \epsilon_{i,t} \end{aligned} $$

Estimate it separately by game type, or adjust carefully across types, since blackjack, baccarat, roulette, craps, and carnival games carry different variance structures.

When residual variance moves with handle or table limit, robust standard errors, weighted least squares, or an explicit volatility model are the appropriate fixes. Which one depends on the data and on how much technical capacity the casino has.

5.5 Alert Thresholds

Thresholds belong to each property, but a reasonable opening structure looks like this:

LevelStatistical ConditionAudit Response
GreenWithin expected varianceNo action beyond normal monitoring
YellowMild negative discrepancyData-quality review
OrangeRepeated discrepancy or $Z \leq -2.0$Audit review and cage reconciliation
RedSevere discrepancy or strong clusteringSurveillance review and formal escalation
CriticalStatistical anomaly plus documentary inconsistencyMulti-department investigation

No single threshold travels well. A $Z$-score that signals trouble at a low-limit roulette wheel is unremarkable in a high-limit baccarat room. The model has to bend to the volatility of the game in front of it.

5.6 False-Positive Controls

False positives are unavoidable; the aim is to hold them down without going blind to slow leakage. That means separating mass-market from high-limit games, adjusting for player concentration, tagging promotions, folding in known advantage-play alerts, and requiring a minimum sample before ranking any staff member. Staff associations in particular deserve skepticism — a dealer can land in the negative results because of table assignment, player mix, game type, or limit level rather than anything they did wrong.

The output ranks where to look. It never settles a personnel question on its own.


6. Analytical Methods

6.1 Z-Score Screening

The value of the Z-score is that it converts a raw discrepancy into something variance-adjusted. A $15,000 loss reads very differently at a $25 blackjack table than in a high-limit baccarat room, and the Z-score puts the loss in that context.

It is only as good as the variance estimate underneath it, though. Get the handle or the game volatility wrong, and the Z-score will mislead with full confidence.

6.2 Regression Residuals

Residuals improve on a crude historical average because they measure actual win against a conditional expectation. They let the team ask a sharper question: with game, handle, shift, table limit, player mix, and promotion all accounted for, what is left over? Whatever remains is unexplained, which is not the same as fraudulent.

6.3 EWMA and CUSUM

Some leakage is too small to trip a single-period alert, and that is where EWMA and CUSUM earn their place by catching gradual drift.

The EWMA recursion is

$$EWMA_t = \lambda X_t + (1 - \lambda),EWMA_{t-1}$$

and a one-sided CUSUM is

$$CUSUM_t = \max!\big(0,; CUSUM_{t-1} + (ExpectedWin_t - ActualWin_t - k)\big)$$

with $k$ a tolerance parameter. Both are well suited to recurring dealer errors, repeated overpayments, small marker exceptions, and weakness concentrated in particular hours.

6.4 Benford-Type Review

Benford testing can be run across broad accounting populations, but it should not be leaned on in table games. Chip denominations, table limits, and rounding conventions distort the natural digit distribution. A Benford exception can justify pulling a dataset for review. It cannot stand as evidence that the numbers were invented.

6.5 Bayesian Updating

Audit evidence accumulates, which makes Bayesian reasoning a natural fit. One weak signal usually means little; several weak signals pointing the same way can mean a great deal. The relationship is

$$P(ControlFailure \mid Evidence) = \frac{P(Evidence \mid ControlFailure),P(ControlFailure)}{P(Evidence)}$$

In practice this means one losing shift should never trigger an accusation, while a negative residual that recurs and lines up with the same marker process, the same staff pairing, the same player group, and a surveillance irregularity deserves to move up the investigative queue.


7. Simulated Study

7.1 Purpose

Real casino audit data is confidential and hard to publish, so the demonstration here uses a simulated dataset to show how different leakage mechanisms surface in table-shift data. It is illustrative only and says nothing about any specific property.

7.2 Design

The simulation generated 5,000 table-shift observations across blackjack, baccarat, and roulette. Each record carried game type, average bet, decisions per hour, player hours, estimated handle, theoretical win, actual win, hold percentage, and standardized discrepancy. Five conditions were modeled:

ConditionDescription
Normal varianceActual win fluctuates around theoretical win
Rating errorObserved handle is materially misstated
Dealer errorRepeated overpayment or missed collection lowers win
Marker failureMarker documentation weakness reduces recorded value
CollusionStaff-player coordination creates repeated negative discrepancy

7.3 Results

ConditionObservationsMean Z-ScoreZ-Flag RateHold-Flag Rate
Normal variance4,5500.022.4%5.0%
Rating error150-0.040.0%4.0%
Dealer error125-1.0116.8%26.4%
Marker failure100-1.8444.0%53.0%
Collusion75-2.2158.7%62.7%

The pattern will be familiar to working auditors. Heavier leakage drives more negative standardized discrepancies, but not every leakage event is severe enough to trip a single-shift alert. The smaller problems tend to need rolling detection to show up at all.

7.4 Hold Review Compared With Z-Score Review

Two methods were run side by side. The first flagged table-shifts below the 5th percentile of normal hold by game type; the second flagged any shift with $Z < -2.0$.

MethodTrue PositivesFalse PositivesPrecisionRecallFalse-Positive Rate
Traditional hold review13323436.2%44.3%5.0%
Z-score review10911149.5%36.3%2.4%

Traditional hold review caught more true cases but dragged in far more false ones. The Z-score method ran cleaner but let some weaker leakage slip past. Neither dominates, which is the argument for a layered design: variance-adjusted alerts for high-confidence review, rolling methods for slow drift.

7.5 Threshold Sensitivity

Z ThresholdPrecisionRecallFalse-Positive Rate
$Z < -1.5$33.2%52.0%6.7%
$Z < -2.0$49.5%36.3%2.4%
$Z < -2.5$73.3%21.0%0.5%
$Z < -3.0$86.8%11.0%0.1%

The trade-off is visible across the rows. Lower thresholds catch more and cost more; higher thresholds produce cleaner alerts and miss more. The right setting depends on game type, risk appetite, staffing, and how much surveillance capacity is available to chase alerts.


8. Model Validation

Plausibility is not a reason to deploy a model. It has to be tested against historical data first.

Back-testing should ask whether the model would have flagged incidents the casino already knows about, whether it over-flagged high-limit games, whether its false positives were explainable after the fact, and whether weak procedural problems showed up as rolling drift before they grew into large exceptions. Out-of-sample testing matters too: train on one period, test on a later one. A model that only works on the data used to build it is an overfitted story, not an audit tool.

Precision and recall are the metrics that earn their keep. Precision asks how often an alert lands on a real issue; recall asks how many real issues the model catches. Audit departments need a useful balance of both far more than they need perfection — a model that improves prioritization without drowning investigators is the realistic goal.


9. Forensic Triangulation

A statistical alert only becomes meaningful once it can be localized and corroborated. A strong finding tends to have three legs. The financial result is unusual under the model. The anomaly clusters around something specific — a table, a shift, a staff pairing, a player group, a transaction type, a time window. And independent evidence backs the concern: surveillance video, cage paperwork, marker files, fill and credit slips, RFID logs, count-room records, or incident reports. Strip away the third leg and the finding is still just an analytical lead.

The wording of a finding should reflect that. Phrases that fit the evidence include “statistically unusual,” “not explained by normal variance under the current model,” “requires targeted review,” “consistent with a control weakness,” “supported by documentary irregularity,” and “corroborated by surveillance review.” Phrases that do not fit — “theft occurred,” “the dealer stole,” “the supervisor colluded,” “fraud is proven” — claim more than the model can deliver and need evidence well beyond it.


10. Leakage Taxonomy

Leakage TypeCommon MechanismTypical SignalEvidence Needed
Rating errorAverage bet or player time recorded incorrectlyTheoretical win distortedRating logs and player tracking
Fill/credit errorIncorrect, late, or missing slipResidual near fill/credit eventCage slips and inventory records
Marker failureMarker issued but not properly dropped or reconciledDrop lower than expectedMarker file and surveillance
Dealer errorOverpayment, missed collection, wrong commissionNegative residual by dealer/gameVideo review and error log
Supervisor failureWeak verification or approval habitsCluster by supervisorPit logs and approval records
Advantage playSkilled player exploits game conditionsHigh handle, low winGame protection review
Chip leakageWalking chips, counterfeit chips, plaque irregularityInventory mismatchRFID, cage, and surveillance records
Count-room errorDrop counted or posted incorrectlyCount varianceCount-room logs
CollusionStaff-player coordinationStaff/player clusterSurveillance and transaction records

The point of the taxonomy is not to label people. It is to keep an investigation honest, because each cause calls for different evidence and a different corrective action.


11. Investigative Protocol

Automated triage is where the process begins, not where it ends. A yellow alert may need nothing more than a data review. An orange alert may call for cage reconciliation and a supervisor explanation. A red alert pulls in surveillance. A critical alert can require audit, surveillance, compliance, and senior management together.

Before any escalation, the auditor should check the basic record — opening and closing inventory, drop, fills, credits, markers, count-room results, average-bet ratings, player time, game rules, side bets, promotions, and system imports. A surprising number of anomalies evaporate once an input error is corrected.

If the discrepancy survives that check, the next job is localization. Does it follow a table, a dealer, a supervisor, a cashier, a player group, a marker process, a fill or credit event, a time window, a camera blind spot? Localization turns a vague financial worry into a testable hypothesis. Surveillance review then concentrates on the moments with financial weight: large buy-ins, marker issuance, fills and credits, dealer changes, large payouts, chip redemption, disputes, table closing, and any unusual staff-player interaction.

The closing audit file should document the scope, data sources, methodology, calculations, the alternative explanations considered, the documents reviewed, surveillance timestamps, control weaknesses, corrective actions, and the escalation recommendation.


12. Preventive Control Design

The best return on forensic analytics comes before the loss, not after it — in tightening the control environment while weaknesses are still small.

On the system side, that means automated reconciliation across table systems, cage, count room, and accounting, with flags for missing or duplicate slips, unusual adjustments, and incomplete marker documentation. High-value fills and credits should require dual verification. Opening and closing inventories should be independently confirmed. Marker drop procedures should be visible and consistently enforced.

Personnel controls carry as much weight as system controls. Dealer-supervisor pairings deserve review whenever anomalies repeat. Surveillance sampling should be part random and part risk-based. Retraining should follow repeated procedural exceptions, not just major incidents.

Technology helps here. RFID chips, smart float readers, optical recognition, synchronized surveillance timestamps, and integrated player tracking all strengthen the audit trail. None of them removes the need for judgment — they improve the quality and timing of the evidence on which judgment rests.


13. Limitations

The framework has real limits. Theoretical win depends on estimated handle, so when average bet, game pace, or player time is wrong, the model is wrong with it. Table games are volatile by nature, and even a well-built model will throw false positives, especially in high-limit rooms.

Benford’s Law is constrained by denominations, table limits, and rounding practices that shape casino figures. Staff association is constrained by the fact that employees are not randomly assigned to identical risk conditions — a dealer can surface in weak results because of the tables and players assigned, not because of any misconduct. And the simulation is a demonstration, not proof of anything; a real property would have to calibrate the model on its own data before relying on it operationally.


14. Conclusion

Drop, handle, and hold get tossed around as if they were simple accounting terms. In forensic auditing they are something larger: three views of the same operating reality — cash coming into the game, wagers placed, chips moving, documents created, mathematical expectation working itself out under imperfect human control.

A serious method has to hold both sides of the problem at once. A casino should not write off repeated weak performance as bad luck, and it should not read every low-hold result as misconduct. The defensible position sits between those two reflexes. The method proposed here — expected value, variance adjustment, regression residuals, rolling control charts, cautious digit screening, and surveillance triangulation — is built to focus professional attention, not to automate accusation.

The strongest audit conclusion is never built on a model alone. It emerges when the numbers are unusual, the pattern is localized, and the evidence can be seen in the records, the procedures, or the video. That is where forensic auditing pays off: not as a replacement for judgment, but as a disciplined way to decide where judgment should be spent.


References

Benford, F. (1938). “The Law of Anomalous Numbers.” Proceedings of the American Philosophical Society, 78(4), 551-572.

Bollerslev, T. (1986). “Generalized Autoregressive Conditional Heteroskedasticity.” Journal of Econometrics, 31, 307-327.

Boss, D. J., and Zajic, A. W. (2011). Casino Security and Gaming Surveillance. Routledge.

Cressey, D. R. (1953). Other People’s Money: A Study in the Social Psychology of Embezzlement. Free Press.

Engle, R. F. (1982). “Autoregressive Conditional Heteroscedasticity with Estimates of the Variance of United Kingdom Inflation.” Econometrica, 50(4), 987-1007.

Nevada Gaming Control Board. (2026a). Minimum Internal Control Standards.

Nevada Gaming Control Board. (2026b). Internal Control Procedures.

Nigrini, M. J. (2012). Benford’s Law: Applications for Forensic Accounting, Auditing, and Fraud Detection. Wiley.

NIST. (2026a). EWMA Control Charts. NIST/SEMATECH e-Handbook of Statistical Methods.

NIST. (2026b). Control Chart Reference: Shewhart, CUSUM, EWMA, Binomial, and Poisson Charts.

Zender, B. (2008). Casino-ology: The Art of Managing Casino Games. Huntington Press.


Methodological Appendix: Simulation Code

import numpy as np
import pandas as pd

np.random.seed(7)

n = 5000

games = np.random.choice(
    ["Blackjack", "Baccarat", "Roulette"],
    size=n,
    p=[0.55, 0.25, 0.20]
)

house_edge = {
    "Blackjack": 0.008,
    "Baccarat": 0.012,
    "Roulette": 0.0526
}

decisions_per_hour = {
    "Blackjack": 70,
    "Baccarat": 45,
    "Roulette": 35
}

sd_unit = {
    "Blackjack": 1.12,
    "Baccarat": 0.98,
    "Roulette": 4.50
}

hours = np.random.uniform(3, 8, n)
seats = np.random.uniform(2, 5, n)

avg_bet = np.where(
    games == "Baccarat",
    np.random.lognormal(np.log(150), 0.55, n),
    np.where(
        games == "Blackjack",
        np.random.lognormal(np.log(50), 0.45, n),
        np.random.lognormal(np.log(40), 0.40, n)
    )
)

decisions = np.array([decisions_per_hour[g] for g in games]) * hours * seats
true_handle = avg_bet * decisions
h = np.array([house_edge[g] for g in games])

sigma = np.array([sd_unit[g] for g in games]) * avg_bet * np.sqrt(decisions)
true_theoretical_win = true_handle * h

scenario = np.array(["Normal"] * n, dtype=object)

idx = np.arange(n)
np.random.shuffle(idx)

start = 0
blocks = {}

for name, pct in [
    ("Rating error", 0.030),
    ("Dealer error", 0.025),
    ("Marker failure", 0.020),
    ("Collusion", 0.015)
]:
    m = int(n * pct)
    blocks[name] = idx[start:start + m]
    scenario[blocks[name]] = name
    start += m

actual_win = true_theoretical_win + np.random.normal(0, sigma, n)
observed_handle = true_handle * np.random.normal(1, 0.04, n)

observed_handle[blocks["Rating error"]] = (
    true_handle[blocks["Rating error"]]
    * np.random.normal(1.50, 0.05, len(blocks["Rating error"]))
)

actual_win[blocks["Dealer error"]] -= (
    sigma[blocks["Dealer error"]]
    * np.random.normal(1.00, 0.15, len(blocks["Dealer error"]))
)

actual_win[blocks["Marker failure"]] -= (
    sigma[blocks["Marker failure"]]
    * np.random.normal(1.60, 0.20, len(blocks["Marker failure"]))
)

actual_win[blocks["Collusion"]] -= (
    sigma[blocks["Collusion"]]
    * np.random.normal(2.20, 0.25, len(blocks["Collusion"]))
)

observed_theoretical_win = observed_handle * h

estimated_sigma = (
    np.array([sd_unit[g] for g in games])
    * avg_bet
    * np.sqrt(np.maximum(observed_handle / avg_bet, 1))
)

z_score = (actual_win - observed_theoretical_win) / estimated_sigma

drop = true_handle / np.random.uniform(6, 14, n)
hold = actual_win / drop

df = pd.DataFrame({
    "game": games,
    "scenario": scenario,
    "actual_win": actual_win,
    "theoretical_win": observed_theoretical_win,
    "z_score": z_score,
    "hold": hold
})

df["true_leakage"] = df["scenario"].isin(
    ["Dealer error", "Marker failure", "Collusion"]
)

df["z_flag"] = df["z_score"] < -2.0

thresholds = (
    df[df["scenario"] == "Normal"]
    .groupby("game")["hold"]
    .quantile(0.05)
    .to_dict()
)

df["hold_flag"] = df.apply(
    lambda row: row["hold"] < thresholds[row["game"]],
    axis=1
)

def classification_metrics(flag_column):
    tp = ((df[flag_column]) & (df["true_leakage"])).sum()
    fp = ((df[flag_column]) & (~df["true_leakage"])).sum()
    fn = ((~df[flag_column]) & (df["true_leakage"])).sum()
    tn = ((~df[flag_column]) & (~df["true_leakage"])).sum()

    return {
        "true_positives": int(tp),
        "false_positives": int(fp),
        "false_negatives": int(fn),
        "true_negatives": int(tn),
        "precision": tp / (tp + fp),
        "recall": tp / (tp + fn),
        "false_positive_rate": fp / (fp + tn)
    }

print("Z-score method:", classification_metrics("z_flag"))
print("Traditional hold method:", classification_metrics("hold_flag"))

print(
    df.groupby("scenario")
    .agg(
        observations=("z_score", "size"),
        mean_z_score=("z_score", "mean"),
        z_flag_rate=("z_flag", "mean"),
        hold_flag_rate=("hold_flag", "mean")
    )
)
Play smart. Gambling involves real financial risk. If the game stops being entertainment, it's time to stop playing.