Skip to main content
Player complaints · methodology

How the complaints record is built

We collect player complaints about iGaming brands from outside platforms and reduce them to one entity — the operator. This is an aggregator of other people's claims, not a court and not a rating: we count how many disputes went unresolved and for how much, and we show the arithmetic.

What this section is

A complaint is one person's account of what happened, published on a platform that collects them. It is not a court finding, and we do not verify it. What we do is count: how many complaints an operator has, how many of them ended without a resolution, and how much money was under dispute. Those numbers are reproducible; the judgement stays with you.

The English pages are not a translation of the Russian ones. They count only complaints whose original text is English — 25,876 of them, about 1,339 operators. Russian-language complaints are absent from them entirely: machine-translating somebody else's account would be thin duplicate content, and a worse read than the original.

Risk index

The risk index is not a verdict on an operator. It is the share of disputes the operator never resolved, weighted by the money involved. Only complaints where the platform recorded an outcome go into it:

risk = (complaints marked unresolved / complaints with a recorded outcome) × 100 + ln(1 + disputed sums) × 2

Only the status "unresolved" counts in the numerator — the operator did not answer, or did not honour the platform's verdict. Resolved, rejected, closed-without-outcome and still-pending complaints sit in the denominator only. "Pending" is what we saw at collection time; we do not know how it ended, so we do not call it unresolved. The logarithm keeps one million-dollar dispute from outweighing a hundred small ones. Sums stay in the currency the platform recorded; we do not convert them.

A complaint with no status at all is excluded from both sides. Trustpilot and Casinomeister publish no status, and treating silence as failure once pushed those brands to an index of 100. If no complaint about an operator carries a status, the operator has no risk index, and the page says so instead of printing a number.

Platform statuses

Every platform words it differently. We map them onto six:

Resolvedresolved, solved. Casino Guru's "Case closed" verdict lands here: those complaints carry a resolution date in the text.
Under reviewopen, pending, processing, and Casino Guru's "Waiting for…" timers.
Unresolvedunresolved, plus cases where the operator never answered or ignored the verdict.
RejectedThe platform found the complaint groundless: rejected, groundless, found for the operator.
Closed, no outcomeThe case is shut without a result: the player stopped replying, the thread was locked, or a verdict exists but the payout is unknown.
Status unknownThe platform publishes no status, or the field caught parser noise.

Which complaints are English

There is no language column in the data, so the test uses two signals: the complaint comes from a platform we collect in English (Trustpilot, Casino Guru, CasinoReviews, LCB.org, Casinomeister, AskGamblers), and in the first 300 characters of the original the Latin letters number at least 40 and outnumber Cyrillic ones at least four to one.

The ratio exists because of real noise: 6% of Trustpilot reviews are not in English at all, and the AskGamblers scraper prepends a Russian "Причина:" line to an English body. The test distinguishes alphabets, not languages, so a Spanish or Portuguese review on Trustpilot passes it. Checking for English stop words would have cut 1 117 rows out of 32 035 — and taken 542 short English complaints from Casino Guru with them. Several hundred Latin-script non-English reviews spread over 1,339 operators is noise, not duplicate content, so we left it.

Praise is not a complaint

We pull one-star reviews from Trustpilot and still get the occasional "best casino ever" in the feed. Those are not deleted, they are flagged as praise, and they stay out of every counter, out of the risk index and out of the structured data.

The rule uses no model. Where a Trustpilot rating is known, the rating decides: 4–5 stars is praise, 1–3 is a complaint. With no rating, it takes an explicit recommendation and not one sign of a grievance — from "withdraw" and "scam" down to a plain "but". A mixed review stays a complaint: missing praise is cheaper than hiding a grievance.

Deduplication

The same story often gets reposted on several platforms. To avoid counting it three times, each text is folded into a 64-bit SimHash over its word tokens. Two complaints inside the same time window are treated as one when the Hamming distance between their fingerprints is 6 or less.

Merged complaints form a cluster, which is how an operator's page can say how many platforms found the same story. It is a weight signal, not a deletion: the original records stay.

Categories

A classifier assigns one of seven categories to each complaint, by what the player is complaining about rather than by where it was filed:

Withheld payoutsA win delayed or refused.
Account blocksThe account or the balance was frozen.
VerificationKYC refused, or checked without end.
Bonus termsThe bonus conditions were used against the player.
Game fairnessA claim that games or odds are rigged.
LicenceProblems with the operator's licence.
OtherEverything that fits none of the six above.

What gets a page, and what gets indexed

Thin pages help nobody, so the gates are deliberately hard:

  • An operator gets an English page from 5 complaints whose original is English — 1,339 operators clear that today. Five first-hand accounts plus statuses, categories and sums is no longer a thin page; two paragraphs of user text would be.
  • Category, regulator and month slices open from 20 complaints. Below that they return 404 rather than an empty table.
  • An operator reaches the blacklist at a risk index of 70 or above with at least 10 complaints that carry an outcome. Otherwise a brand with two complaints and 100% unresolved would fill the list.
  • Month slices are published but not submitted for indexing: a hundred and fifty near-identical pages are index bloat, and the index page carries the shape of the curve.

Limits we will state plainly

  • A complaint is a user's claim, not an established fact. We are presenting the player's side of it.
  • Category and deduplication come from a model. Labelling errors happen; write to us and we fix them.
  • The status is whatever the platform wrote. We do not re-check it ourselves.
  • Sums are not converted between currencies, so they are shown per currency and never summed into one figure.
  • The risk index is recomputed as complaints arrive and statuses change, so it moves.

← back to player complaints

Project sponsors

Companies that keep this analytics open