Rankings & Discovery

Every list a player sees is ordered by a rule. This page lists all of them: what each one ranks on, what you can override, and what isn't built yet.

Casino

Casino shelves are collections. Each one is a filter plus an ordering, and adding a collection is a configuration change, not a new code path.

Collection What qualifies Ordered by
Hot Games with at least one player in them right now Players in the game right now, most first
Popular The whole catalog Distinct players who settled a round on the game in the last 7 days, most first, then newest release. A quiet game still ranks, just last, so the shelf is never empty.
New Games added in the last 30 days Newest first
Featured Games you have uploaded lobby artwork for Your manual sort order
High Roller Games whose minimum balance is above your high-roller floor Minimum balance, highest first

"Players right now" counts open, unexpired game sessions: live concurrency. The 7-day player count is refreshed every 5 minutes by a background job, and is also the default ordering of the catalog and of every tag shelf and studio shelf (newest breaks ties). The unfiltered Hot and Popular shelves are cached for 60 seconds. The other category shelves (Slots, Crash, Live Dealer, Game Shows) are tags you create, order and switch on or off in the backoffice. The first shelf on the lobby gives its top game a larger tile. Shelves that list games leave out games with no artwork by default, so a shelf never shows blank tiles; a shelf can opt back in. Tag shelves can be split by tag or by studio; a studio shelf lists every enabled studio with a playable game, the studio whose games are most played first.

Which shelves appear, and in what order, is decided by the casino page in the page constructor (see below), not by code.

Simulated players always count. Simulated accounts are included in every ranking, trending and popularity figure; nothing filters them out.

The lobby's Trending Now shelf shows the sportsbook's Trending view (see below), and links to it.

Sportsbook

The event board and its views

The lobby is one board of live and upcoming fixtures. Players pick one view from a single row of chips, which decides both which events show and their order. There is no separate sort control, so a player can never combine two views the lobby has no answer for. The view is kept in the page address, so a shared link opens the same view. You choose which chips show, and in what order, in the sportsbook navigation list (see the page constructor below).

View Shows Ordered by
Popular (default) Live and upcoming Live first, then the event's popularity score for the viewer's region (below), then kickoff
Live Live only, with a live-count badge on the chip Popularity score
Trending Live and upcoming Rising player activity first (below), then the Popular order
Pre-Match Upcoming only Popularity score
Starting soon Upcoming only Kickoff, soonest first; the score breaks ties
Following Live and upcoming fixtures in leagues, or with teams, the player follows. Signed-in players only. Live first, then kickoff. Popularity never reorders it.

An event that has no score yet (just added) falls back to its display score (below) until the first scoring run.

Where the order comes from

Every sport, competition, team and event carries scores, recomputed in the background: popularity every 15 minutes and "hot" (rising activity) every 5 minutes. The same scores drive the board, every lobby section and the Trending view, so there is one ranking, not one per widget.

  • Signals. A popularity score blends the event's built-in prestige (the display score's starting point), the distinct bettors on it, bet-slip adds, event-page views, clicks from sports search, how many players follow it, and how local it is to the viewer's country. Each signal is compared as a percentile against the other events of the same sport, so a few bets on a minor match cannot outrank a final. Recent activity counts more than old activity.
  • By region. Scores are kept for the world, for each macro region (EU, UK and Ireland, Latin America, North America, Africa, Middle East, Asia, Oceania) and for each country that has activity. A country with little data leans on its macro region, and that on the world, so a small market is never ranked on a handful of clicks and a busy one stands on its own numbers. The viewer's region comes from several pieces of evidence (their account country, browser language, time zone, network location) combined, never from one alone. No IP address is stored, only the resolved country. A visitor whose country is unknown can be offered a "share your region" card with a country picker. A traveller's list blends their home and current country, the current one counting more the more days they are seen there (from 20% up to 50%).
  • Personal. For a signed-in player the order is nudged toward the leagues, teams and sports they follow, bet on, add to the slip, search for and view, with follows counting most and old behaviour fading. Only cash bets count; free bets do not. This personal layer is switched off, and the viewer gets the same regional ranking an anonymous visitor in their country sees, for a player who is self-excluded, on a cool-off break, or has a deposit flagged for a responsible-gambling breach in the last 30 days. Promotional sections (boosts, accas, combos) are skipped for them too.
  • Night kickoffs. In the Starting soon ordering, kickoffs between 01:00 and 06:00 in the viewer's own time zone are moved behind the others.
  • Hidden stays hidden. A ranking never makes a hidden sport, category, competition or event visible. An event whose price feed has gone stale still shows as suspended, as on the board.

Every ranked item can explain itself to staff: which signals scored it, the region's weight, the boost, the personal term and the rules that moved it.

Trending puts first the events whose player activity is rising against their own recent baseline, for the viewer's region.

  • Activity is counted per event per hour: event-page views, clicks from sports search, bet-slip adds, and distinct bettors. The first three come from the player site, anonymous visitors included, and count once per browser tab per event per hour, so refreshing a page does not inflate them. The tab's id lives only for that visit and never identifies a person. Bettors come from placed bets on the server, never from the browser, so they cannot be spoofed.
  • Score. The activity of the last three hours is compared with what the event's previous 24 hours led to expect, as a statistical z-score, so a busy event must keep rising to stay on top and a permanently big match does not sit there forever.
  • Floor. An event needs at least 5 recent activity to trend at all, so one view becoming three is not a trend.
  • Order. Trending events lead, by score; every other event follows in the Popular order. With no activity at all, Trending looks exactly like Popular. Hidden sports, leagues and events stay hidden.

Scores come from the optional ClickHouse analytics store when it is configured and caught up, otherwise from an hourly rollup in the main database. Raw activity is kept 30 days in the main database, and indefinitely in ClickHouse when it is present.

Current limitation. Nothing yet excludes staff or test accounts from the activity counts, and amount staked is not a signal yet.

The display score and the staff boost

Every event also carries a display score (0-100), computed whenever the feed updates the event. It is the starting point (the "prior") of the popularity score above. It blends:

  • league prestige, weighted by league;
  • team prestige, using the bigger name of the two sides;
  • derby, a fixed bonus for known rivalries;
  • stage, a boost for knockout rounds: final x1.3, semi-final x1.2, quarter-final x1.1, playoff x1.08. It never lowers a score.

On top of that you set a manual boost per event from the backoffice. It can be negative to bury an event. A feed refresh recomputes the display score but never touches your boost.

Current limitation. The league, team and derby weights are a small built-in list covering a handful of top football leagues and clubs, and league weights are matched only for the the-odds-api feed. Events outside that list start from about the same prior, so for those the order comes mostly from activity and region weights.

The sports-lobby hero is a staff pin. You flag an event as featured, and it shows while that fixture is still ahead of kickoff. If several are pinned, the highest display score wins. It shows on the Popular, Pre-Match and Starting soon views, never on Live, Trending or Following. The standard layout also lets the hero fall back to the top-ranked upcoming event when nothing is pinned; switch that off on the hero section and it becomes "no pin, no hero" again.

On the sports lobby, a Popular bets strip shows up to eight picks - one outcome of one market - for the sport the player is looking at, ranked by how many bet selections they have attracted (all time, no window). A pick drops out as soon as its market or outcome is no longer open, its event has started without going live, or its feed has gone stale.

Sports, categories and competitions

Sports, categories (regions) and competitions each carry a manual sort order and a visibility switch. Hiding a level hides everything under it, on every player-facing read including bet placement. No ranking rule can bring a hidden event back.

The page constructor

The Constructor in the backoffice (its own access area, pages) builds the lobbies from sections instead of code. A page belongs to one product - sportsbook, casino or home - and each product has a default page (the sportsbook /bets, the casino /games, the home page /); the sportsbook and casino can also have custom pages with their own address. Staff compose a page by adding, ordering, titling and configuring sections, preview it as a visitor in a chosen country, signed in or signed out, publish it as a new version, and roll back to any earlier version. Publishing is audited and takes effect within seconds. A page can have separate versions per audience (a country, a macro region, signed-in or anonymous); the most specific audience wins, with a global default always present.

Sportsbook sections include: featured hero, live now (band or rail), starting soon, trending, popular in your region, your favourites, top competitions, competition shortcuts, a competition spotlight (fixed, or appearing on its own while a big competition is on), per-sport boards, top accas, top combos, price boosts, popular bets, the full events board, a sport rail and the "share your region" card. Sections that rank events can be scoped to chosen competitions, and events with no odds can be left out. Casino sections: the hero row, game shelves (by tag, by collection, or a hand-picked list of up to 50 games), tag or studio shelves, studio row, live bets feed, big wins and the registration banner. The home page adds the lobby stage, trending matches, trending games and studio tabs. The navigation tile grid can sit on any product's default page but not on a custom page. Each product also has its own navigation lists - the sportsbook sidebar, the casino chip rail and the casino sidebar - which mix built-in entries, pages and (for casino) game tags, each hideable and with per-language labels and AI translation.

Steering the ranking

The backoffice Rankings area (view and manage rights) shows what the algorithm is doing and lets staff steer it:

  • World, scope, entity and player views. A grid of regions against sports and competitions, the top entities in a region with what contributed to each score, rank changes over 24 hours and 7 days, a single entity across every region, and a player's own resolved region and top interests (opening it is logged).
  • Health. Job lag and how concentrated exposure is on the top events, which shows a feedback loop forming.
  • Levers, from gentlest to hardest: profile weights (how much bets count against views for a whole kind), a mix target ("basketball should be 20-35% of the top 20 in the EU"; an hourly job nudges a multiplier toward the band, at most 10% a run), a region weight (a fixed multiplier on a sport, category or competition in a region), a boost (an additive bump on one entity), a pin, and suppress (removes the entity from ranked sections in a region).
  • Guardrails on every lever. A reason is required; boosts, pins, suppressions and mix targets expire (default 14 days, at most 90); magnitudes are capped; a preview shows the region's top 20 with and without the change; a global lever or one that overrides the algorithm heavily needs a second staff member with the approval power; every change is in an append-only lever log and can be rolled back. A freeze switch holds all automatic mix-target nudges.

Section results (impressions, views, slip adds, bets per section, version and country) appear in the Constructor when ClickHouse is configured. Impression based figures show an empty state until visibility beacons have data.

What is planned

The full design is in the engineering doc Sports Ranking Design. In short:

One catalog across feeds. The same league or team from two data feeds will map to one canonical entry. Team name variants ("Man Utd", "Manchester United FC") resolve to one team. The feed's own ids are used first, then a list of known name variants, then an AI-assisted matcher with a staff review queue.

Weights an AI job can fill. League and team weights move out of code into the database. A daily AI job fills in the long tail of leagues and teams, but never overwrites a value staff have set.

More activity signals. Still to come: amount staked, with bonus-funded stakes left out so a promotion cannot manufacture a "popular" event, and excluding staff and test accounts.

More views. Competitive (evenly matched odds), Most bet and Newest can be added later. A personalised For you view is not built; personalisation today reorders the existing views.

Experiments and learned ranking. A/B arms, holdout groups and a learned model are not built; the lobby already logs what was shown so one can be trained later.

Betting splits. For example, "62% of bettors on Home" on match-result markets. Shown as percentages only, and only once enough players have bet for the number to mean something.

AI curation. A daily job can nudge the top events up or down within a fixed cap and pin featured events itself, each with a stated reason. Its pins expire at kickoff. Your own pins and unpins always win, and the job never undoes them. Every run is logged and can be switched off. It never touches visibility, odds or money.

Not planned yet: detecting that two feeds carry the same fixture and choosing whose prices to show.

results matching ""

    No results matching ""