[ testing protocol · seeded PRNG · repriced 2026-09-30 ]

How we test.

Every number on this site is computed, not opined. This page is the shorter cousin of the full methodology — the protocol in five bracketed frames: what every verdict is built from, where the model trades fidelity for reproducibility, and what this site refuses to do on principle. The verdict tracks below use the same CLAIM / NEUTRAL / SKIP framing you see on every bonus row.

4
stage protocol · parse→sim→score→verdict
6
casino sub-scores · auditable core
3,000
MC runs · detail-page pricing
code
verdict thresholds · not mood

What every verdict is built from

[04] CLAIM

Four measurements — parsed, simulated, scored, thresholded. Every number on the site is a pure function of these; the ranking is reproducible from source at the same PRNG seed.

Parsed bonus terms
CLAIM

Match percent and cap, wagering multiplier and scope (B vs D+B), max bet, expiry, max cashout, contribution table, restricted geos. Ambiguous T&Cs default to the operator-worst reading and get flagged for follow-up — the model does not benefit from doubt.

Monte Carlo simulation
CLAIM

The full wagering path is walked as a discrete random walk against a €100 deposit on 96.5% RTP medium-volatility slots. 1,200 runs on hub tables (mean EV within ±€0.5), 3,000 on detail pages (5th/95th tails within ±€1). Deterministic under a seeded mulberry32 PRNG.

EV + clearance
CLAIM

Out of the simulation come four numbers: expected value (mean cashout minus deposit), clearance probability (share of runs that survive wagering), median cashout, and 5th/95th percentile tails. These are the only inputs the verdict thresholds read from.

Six-cell operator score
CLAIM

Every review carries an auditable panel: best bonus EV, licence tier (per the licence chart), payment-rail breadth, currency support, no-deposit availability, min-deposit floor. Public complaint history and longevity weigh the headline rating on top — the six cells are the data core.

Where the protocol trades fidelity for reproducibility

[04] NEUTRAL

Places the model is deliberately simpler than reality. Biases are small on the mean EV that drives ranking; disclosed here so nobody has to reverse-engineer them from the sim code.

Editorial commentary sits outside the verdict
NEUTRAL

The review body reads country-specific quirks, KYC horror stories from public complaints, and cashier notes. None of that touches EV. The verdict is what the code says; the prose is what the code cannot price.

Fixed per-spin RTP
NEUTRAL

Real slots have per-round jackpot contribution and buy-feature triggers that make RTP non-stationary. Modelled here as a fixed per-spin mean — accurate on average, blind to structural buy-feature economics. Full write-up in the methodology.

No time cost
NEUTRAL

Longer wagering paths carry no penalty for the opportunity cost of your time. Two offers with identical EV can burn very different hours; weight low-expiry, low-wager offers more heavily than pure EV suggests if your time is billable.

Rebuild cadence, not real-time
NEUTRAL

The site rebuilds on schedule; every build re-runs every simulation. When an operator flips terms mid-campaign, the verdict lags until the next build stamp. The repriced date on every table tells you exactly how old the number is.

What we deliberately do not do

[04] SKIP

Practices this site refuses on principle. If a competitor does them and their ranking looks better than ours on a given offer, the difference is a discount, not a discovery.

No pay-for-position
SKIP

Ranking order is EV order. An operator cannot buy a CLAIM verdict, a higher table row, or a better sub-score cell. The only way a verdict changes is if the offer's terms change and the next build reprices it.

No hiding negative EV
SKIP

Most bonuses lose money on average — that is what the math says, and the table says so. Rows with SKIP verdicts are not filtered out of the default view. The site's honesty budget is bigger than its click budget.

No fake scarcity
SKIP

No countdown timers on evergreen offers, no "exclusive" labels on offers reprinted from the operator's public landing page, no fabricated stock-low copy. If a code says exclusive, it means we get a code from the affiliate program that public traffic does not.

No editorial verdict override
SKIP

Thresholds are code, not mood — the same three inequalities regardless of whether the operator is a favourite advertiser or a public villain. When a threshold looks wrong, we change the code and re-price everything, not the individual verdict.

[ verdict thresholds · pure function of the simulation ]

The three inequalities behind every row.

Verdicts are a pure function of EV and clearance probability from the Monte Carlo — no editorial override, no operator input. An operator cannot buy a CLAIM. The only way a verdict changes is if the offer\'s terms change and the next build reprises it.

CLAIM
EV > 0 at baseline.

The average outcome makes money. Rare on welcome bonuses (the cap and wagering usually eat the +EV) — common on no-deposit offers, where you deposit nothing and any survival of wagering is upside.

NEUTRAL
EV between −€15 and 0 with clearance > 25%.

Entertainment budget, not strategy. The average run loses a small amount, but a meaningful share of runs cash out; the offer buys you playtime with a known cost of admission.

SKIP
Everything else.

Either EV is deeply negative, clearance probability is under 25%, or both. The average outcome burns money — take it only if you already know why the model is wrong for your case.

[ operator scoring · six auditable cells ]

The panel behind every review.

Every casino review carries a "How we scored" panel with these six data-derived cells. The headline rating weights public complaint history and longevity on top; the six cells below are the auditable core — each computable from the operator\'s own terms and licence pages.

[01]
Best bonus EV

The strongest offer in the operator's stack, priced by the same Monte Carlo the /bonuses table uses. This is the sub-score that moves most between builds when campaigns flip.

[02]
Licence tier

Tier-1 (MGA / UKGC / iGO class), Tier-2 (Curaçao class), or Tier-3 / offshore, per the /licenses chart. Sets the ceiling on real player recourse when a dispute goes bad.

[03]
Payment rails

Count and quality of deposit and withdrawal methods. Card + one e-wallet is a floor; card, e-wallets, crypto and Trustly-class open-banking is a ceiling. Detail on /payments.

[04]
Currencies

Native currency support breadth — how many of the operator's target markets can play without a forced FX conversion. Directly moves effective RTP for non-EUR players.

[05]
No-deposit offer

Whether a no-deposit entry (no personal stake) exists at all. Present or absent — the cell is binary. Value of the offer, if present, is priced in the "best bonus EV" cell instead.

[06]
Min deposit

The entry price — the smallest legitimate qualifying deposit for the flagship bonus. Below €10 is a floor; above €25 is a ceiling; below €5 usually flags a niche crypto-only rail.

[ repricing cadence · build-triggered ]

Every build re-runs every simulation.

The site is rebuilt from source data on schedule; every build re-runs every Monte Carlo against the current bonus stack. The "repriced" stamp you see on tables and reviews is the date of the last build — not a manual editorial timestamp. When an operator changes terms, the next build moves the numbers, and can flip a verdict. Old verdicts are versioned in the changelog, so a reader who noticed a CLAIM last week and a SKIP this week can see exactly which term moved and when.

[ cross-references ]

Protocol · FAQ

Why publish this protocol at all — most affiliate sites just show the offer?

Because the model is the product. The offer copy on the operator's own site is the operator's number; the number here is what the offer is worth, and worth is a computable quantity. Publishing the protocol turns the ranking into an audit trail instead of an opinion — a reader can disagree with a verdict by disagreeing with a specific input, not just by feeling differently. That is a different transaction than affiliate marketing.

How is the CLAIM / NEUTRAL / SKIP threshold NOT just a rebranded five-star rating?

Because it maps onto a real decision. CLAIM = the offer is worth taking if you already play this operator or want to. NEUTRAL = worth taking only for entertainment budget. SKIP = do not take unless the model is wrong for you. A five-star rating conflates trust, generosity, and vibe; the verdict here separates trust (operator score) from generosity (bonus EV) and prices only generosity. Full pricing model in methodology.

What stops an operator from gaming the six sub-scores by tweaking one variable?

Each cell is a single measurable quantity — you cannot game "licence tier" without actually adding a licence, and you cannot game "payment rails" without wiring new methods. The one cell that moves cheaply is "best bonus EV", which is exactly what the operator should be able to move (better offer terms should improve the score). The rating is designed to be gameable in the direction that benefits the player.

What happens when an operator changes bonus terms mid-cycle?

The bonus record is updated at the next build, every simulation re-runs, EV changes and the verdict can flip. The repriced stamp on every table and review is the date of that build. Old verdicts are versioned in the changelog so you can see when a CLAIM turned SKIP — or when a SKIP became worth taking.

What are the biggest known gaps in the model?

Fat-tailed slot returns (the model uses a Normal, real distributions are heavier — bias sits in 95th-percentile upside estimates, not the mean EV that drives ranking), fixed per-spin RTP (blind to buy-feature economics), no time cost (two offers with the same EV can burn very different hours), and no VIP / host outreach modelling. Full accepted-limitations table in methodology.

Is the operator score just repackaged Trustpilot?

No — Trustpilot is one input among several to the "public complaint history" weight that sits on top of the six data cells. The six cells themselves are all computable from the operator's terms and licence pages without touching a review aggregator. When Trustpilot and the six cells disagree, the review body says so; the model does not silently average them.

How do you avoid the "affiliate honesty theatre" trap of writing a critical review then linking anyway?

By separating the verdict from the link. The verdict is what the code returns; the affiliate link is a separate row of metadata that either exists or does not. A SKIP verdict does not hide its affiliate link and a CLAIM verdict does not brag about it — the model does not know the link is there. If you disagree with a verdict, the dispute is with the code in src/lib/portfolio.ts and src/lib/verdict.ts, both public.

18+. The protocol described here is deliberately reproducible from source at build September 2026. Feedback and disputes to contact. If gambling is stopping being fun: BeGambleAware · Gambling Therapy.