Explore our comprehensive machine learning model library
Ecommerce Models
Gaming Models
Sports Models
Ecommerce - Dummy (0)
Returns a random selection of products. Use it for testing or simple A/B comparisons.
Category: Random Scoring
Description: No learning. Every eligible product is given a random score.
How it works:
Applies any filters to the catalogue, then assigns random scores to the remaining products and returns the top items.
Best for sandbox, demos, or smoke-tests.
N/A
Do not use in production because results are random.
Ecommerce - Similar Users (12)
Suggests products that shoppers with similar browsing or buying habits liked.
Category: Collaborative Filtering
Description: Learns from overlaps in how customers interact with products.
How it works:
Learns simple profiles for shoppers and products from past activity. For a shopper, it compares their profile with each product and recommends the closest matches. Products already bought or viewed are skipped.
- ONLINE_ORDER
- ADD_TO_CART, PRODUCT_VIEW
Ideal for “Customers also bought” widgets and emails.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Works best with enough recent activity. Falls back to popular items when history is sparse.
Ecommerce - Recently Viewed (35)
Shows the products a shopper looked at most recently, in order.
Category: Recency Rules
Description: Simple rules. No learning.
How it works:
Reads the shopper’s PRODUCT_VIEW events, groups by product, and lists products from newest to oldest. A simple score decreases further down the list.
- PRODUCT_VIEW
Good for “Continue browsing” carousels.
N/A
Returns nothing if there is no view history.
Ecommerce - Previously Purchased (35)
Lists items a customer bought before, most recent first.
Category: Rules Based
Description: Sorts previous orders. No learning.
How it works:
Sorts a customer’s ONLINE_ORDER events by date and gives a simple score that decreases down the list.
- ONLINE_ORDER
Useful for reorder reminders.
N/A
Returns nothing for first-time shoppers.
Ecommerce - Hybrid (62)
Combines several recommenders (for example, Similar Users, Content, Popular) and merges their scores.
Category: Hybrid Ensemble
Description: Brings together the strengths of multiple models.
How it works:
Each sub-model returns a ranked list. Scores are normalised and then averaged or weighted to create the final ranking.
- SUB_MODEL_COMBINATION
- SUB_MODEL_COMBINATION
Good as a site-wide model when you want balanced relevance and coverage.
N/A
All chosen sub-models must be available, otherwise results may be limited.
Ecommerce - Popular (65)
Shows products with the most engagement in the last few days.
Category: Popularity Based
Description: Ranks items by recent counts of key events.
How it works:
Counts PRODUCT_VIEW, ADD_TO_CART and ORDER events over the last seven days, applies weights to each event type, and returns the top items by category or overall.
- ABANDONED_PRODUCT, PRODUCT_VIEW, ONLINE_ORDER
- ADD_TO_CART, PRODUCT_VIEW, OTHER_ORDER
Useful for a “Popular right now” widget or as a default fallback.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Accuracy depends on fresh event data.
Gaming - Dummy (0)
Returns a random selection of games. Use it for testing or simple A/B comparisons.
Category: Random Scoring
Description: No learning. Every eligible game is given a random score.
How it works:
Applies any filters to the catalogue, then assigns random scores to the remaining products and returns the top items.
Best for sandbox, demos, or smoke-tests.
N/A
Do not use in production because results are random.
Gaming - Release Date (103)
Highlights the newest titles in the catalogue.
Category: Content Based
Description: Sorts games by launch date.
How it works:
Keeps games with a valid launch date, ranks newest first, and applies a small time decay so the newest appear at the top.
Good for “New releases” carousels.
N/A
Depends on accurate launch‑date metadata.
Gaming - Similar Users (12)
Recommends games that players with similar tastes enjoy.
Category: Collaborative Filtering
Description: Learns hidden player and game features from activity.
How it works:
Builds profiles from GAME_PLAY and PAGE_VIEW events, then recommends unseen games that best match the player’s profile.
- GAME_PLAY
- PAGE_VIEW
Ideal for “Players like you also played”.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Falls back to popular games for brand‑new players.
Gaming - Behavioural (21)
Finds games similar to the ones a player has used, based on text and tags.
Category: Content Filtering
Description: Uses TF‑IDF to turn game metadata into comparable vectors.
How it works:
Builds a map of key terms from game descriptions and tags, creates a player profile from recent games, and recommends the closest matches.
- GAME_PLAY
Good for “Because you played …” placements.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Works best when the player has at least three different games in their history.
Gaming - New Games (210)
Promotes titles launched in the last week, with personalisation when possible.
Category: Content Based
Description: Identifies very recent launches and matches them to player profiles.
How it works:
Builds a content profile of new games and compares it with the player’s profile. If history is sparse, it shows popular new titles.
- GAME_PLAY
Useful for early exposure of new launches.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Lists may be short if launch dates are missing.
Gaming - Similar Items (22)
Suggests games often played by the same players as the current game.
Category: Collaborative Filtering
Description: Uses Jaccard similarity between game audiences.
How it works:
Measures how much player audiences overlap between games. For the player’s recent games, it surfaces titles with the biggest overlaps.
- GAME_PLAY
Handy for “More like this” panels.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Can be sparse for long‑tail titles with few shared players.
Gaming - New Games Boost (31)
Gives brand‑new games a head start by mixing content signals with collaborative filtering.
Category: Hybrid Collaborative Filtering
Description: Adds synthetic interactions so new titles appear in collaborative filtering results sooner.
How it works:
Uses a content model to create temporary seed interactions for new games, then trains the collaborative filter. The seed effect reduces as real plays arrive.
- GAME_PLAY, PAGE_VIEW
Recommended when launch momentum matters, for example in a casino lobby.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
The early boost reduces as real play data builds up.
Gaming - Recently Played (34)
Lets players jump back into the games they used most recently.
Category: Recency Rules
Description: Sorts last played games by time.
How it works:
Ranks the player’s GAME_PLAY history by recency and scores with a simple 1 divided by rank rule.
- GAME_PLAY
Ideal for a “Continue playing” rail.
N/A
Empty for first‑time players.
Gaming - Previously Played (35)
Shows the titles a player has played most over time.
Category: Rules Based
Description: Orders by lifetime play count, breaking ties by recency.
How it works:
Counts total plays per game for the player, sorts from highest to lowest, and applies a simple decreasing score down the list.
- GAME_PLAY
Useful for loyalty or nostalgia campaigns.
N/A
Returns nothing if the user has no play history.
Gaming - Remember This? (36)
Brings back games a player has not used for a while.
Category: Rules Based
Description: Filters out titles played within the last n_days.
How it works:
Finds games last played more than n_days ago (default 14) and ranks them by previous engagement to create a re‑engagement list.
- GAME_PLAY
Good for dormant‑player nudges.
N/A
Only one value for n_days can be used across placements.
Gaming - Favourite Game (41)
Picks each player’s single most‑played game.
Category: Rules Based
Description: Uses a pre‑computed mapping of favourite games.
How it works:
Reads a table that stores each user’s top game and serves that game.
- GAME_PLAY, GAME_SUMMARY
Good for “Your favourite” banners or push notifications.
N/A
Updates only when the scheduled batch update runs.
Gaming - Previous Win (43)
Surfaces games where the player has historically won the most.
Category: Rules Based
Description: Scores games by past win size or frequency.
How it works:
Looks at win totals from GAME_SUMMARY. By default it uses total GGR multiplied by a rounds factor. There is an alternative mode that focuses on big wins. It then ranks the games where the player has done best.
- GAME_SUMMARY
Use sparingly for “lucky streak” messages.
N/A
Works only when detailed GAME_SUMMARY data is provided.
Gaming - Hybrid (62)
Averages scores from Similar Users, Content, and Jaccard‑based models.
Category: Hybrid Ensemble
Description: Combines multiple recommendation signals.
How it works:
Each child model returns a list. The lists are combined by mean or by weights, then ranked.
- SUB_MODEL_COMBINATION
- SUB_MODEL_COMBINATION
Suitable as a single personalised recommender.
N/A
All child models must be available.
Gaming - Themed Content (63)
Blends several models to power seasonal or theme‑based placements.
Category: Hybrid Recommender
Description: Linear blend of Jaccard, Content, and Popular‑Near‑You signals.
How it works:
Collects scores from child models and averages or weights them per user.
- SUB_MODEL_COMBINATION
- SUB_MODEL_COMBINATION
Great for seasonal rails such as Christmas or Halloween.
N/A
Provides themed recommendations by blending several signals.
Gaming - Popular (65)
Shows games with the most plays in the last 15 minutes.
Category: Popularity Based
Description: Counts recent plays and ranks titles.
How it works:
Checks recent play counts at short intervals, normalises scores, and returns the hottest titles.
- GAME_PLAY
Ideal for a “Trending now” widget.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Requires high traffic for meaningful results.
Gaming - Trending (66)
Highlights games whose popularity is rising quickly.
Category: Popularity Trending
Description: Looks at change in play counts over a two‑hour window.
How it works:
Ranks games by growth in recent play counts and can exclude games the user has already played.
- GAME_PLAY
Good for “On fire” rails for all visitors.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Needs a continuous event feed. Low‑traffic brands may see little change.
Gaming - Multi-Brand Popular (69)
Ranks games popular across multiple sister brands.
Category: Popularity Ranking
Description: Aggregates unique‑player counts across brands.
How it works:
Counts unique players per game across selected brands within a short time window and recommends the top results.
- GAME_PLAY
Useful for cross‑site trend views.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Requires cross‑brand data. If that data is unavailable, results may be limited.
Gaming - Popular Near You (71)
Shows the games most played in the customer’s country.
Category: Popularity by Region
Description: Groups recent play events by country.
How it works:
Builds a top‑50 list per country from the past seven days. If there is not enough data, it falls back to a global list.
- GAME_PLAY
Ideal for GEO‑targeted rails such as “Popular in the UK”.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Requires reliable country mapping for each player.
Gaming - Financials (72)
Uses financial metrics like turnover and rounds together with play data to personalise game suggestions.
Category: Matrix Factorisation
Description: Learns hidden factors and can include revenue signals.
How it works:
Predicts a score for every game using play data and, if enabled, extra weight from turnover and rounds.
- GAME_PLAY, GAME_SUMMARY
Helpful for VIP segments where wagering value matters.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Needs clean GAME_SUMMARY data, otherwise it uses play‑only mode.
Gaming - Conversion (813)
Ranks games by how likely they are to turn free players into depositors.
Category: Conversion Ratio
Description: Calculates deposit‑ratio or event‑value scores.
How it works:
Looks at recent activity, computes the ratio of depositors to non‑depositors for each game, and recommends the highest‑scoring games.
- GAME_PLAY
- REGISTRATION, DEPOSIT
Best for onboarding flows focused on conversion to deposit.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Only applicable when the extra financial events are available.
Gaming - Similar Users Optimised for Purchase (814)
Similar‑users model tuned for purchase likelihood rather than play frequency.
Category: Collaborative Filtering
Description: Weights signals linked to deposit behaviour.
How it works:
Learns from play and view events, giving extra weight to signals tied to deposits. Can restrict results to a whitelist from the purchase model.
- GAME_PLAY, PAGE_VIEW
Use for “Games you will want to deposit on” campaigns.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Needs ample play data plus deposit signals for best results.
Gaming - Sequential Model (80)
Deep‑learning model that predicts the next game from the order of games a player uses.
Category: Sequential Deep Learning
Description: Encodes recent play sequences to forecast the next choice.
How it works:
Learns from sequences of game IDs. At serving time it looks at the player’s last n_seq games and scores the catalogue.
- GAME_PLAY
Suited to large catalogues where session flow matters.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Training is resource intensive.
Sports - Dummy (1)
Random sports selections for testing.
Category: Random Scoring
Description: No learning. Scores are random on each call.
How it works:
Takes available selections, assigns random numbers, and returns the top set.
For staging or A/B test baselines.
N/A
Not for live production.
Sports - Similar Pre‑event Category (101)
Recommends pre‑match categories that bettors with similar habits use.
Category: Collaborative Filtering
Description: Jaccard similarity on overlaps in user‑category activity.
How it works:
Uses pre‑event BET_PLACE data to learn which categories go together, then blends this with the user’s own category weights.
- BET_PLACE
Good for pre‑match category banners.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Falls back to the opposite bucket if user data is sparse.
Sports - Similar In‑play Category (102)
Suggests live categories similar to what the bettor is following now.
Category: Collaborative Filtering
Description: Same Jaccard approach as pre‑event but limited to live events.
How it works:
Splits history into an in‑play bucket, learns similarities, and recommends the strongest matches.
- BET_PLACE
Place in live‑betting side panels.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Defaults to general in‑play picks when history is limited.
Sports - Dummy Category (3)
Randomly picks sports categories. Placeholder only.
Category: Rules Based
Description: Random sample of available categories.
How it works:
Loads all categories from inventory and can sample a requested number at random.
Will be deprecated. Use only in test placements.
N/A
Prefer using the generic Dummy model configured with item=category.
Sports - Bet Builder (39)
Creates Same‑Game‑Parlay suggestions for the selected event.
Category: Rules + Randomisation
Description: Groups eligible selections and assembles valid parlays.
How it works:
Fetches selections per event and market, enforces market‑group limits, then randomly builds parlays that meet those rules within the odds range.
Powers “Bet Builder” widgets.
N/A
Only works where the inventory exposes SGP markets.
Sports - Bet Builder Market (390)
Suggests multi‑bet combinations that often appear together.
Category: Collaborative Filtering
Description: Jaccard similarity on historical multi‑bet selections.
How it works:
Splits bet selections, learns which combinations co‑occur, and ranks valid multiples within upcoming events.
- BET_PLACE
Ideal for suggesting an extra leg when users build multiples.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Relies on well‑formed BetBuilder history.
Sports - Trending (54)
Lists selections with the most bets in the last two hours.
Category: Popularity Trending
Description: Counts recent bet placements per selection.
How it works:
Reads recent bet counts, optionally scales scores, and hides items the user has already seen.
Powers “Hot right now” strips.
N/A
Needs healthy live betting traffic for strong results.
Sports - BetSlip (60)
Suggests selections similar to the items already on the bettor’s slip.
Category: Item Similarity
Description: Uses pre‑computed item‑to‑item mappings.
How it works:
For each slip item, retrieves similar items, merges and normalises scores, removes duplicates, and filters out already‑selected picks.
- BET_PLACE
Helps with upsell or cross‑sell at bet time.
10 minutes
Depends on a regularly updated item‑to‑item mapping.
Sports - Popular (64)
Displays selections with the highest bet volume in the last 15 minutes.
Category: Popularity Based
Description: Normalises raw bet counts over a short rolling window.
How it works:
Refreshes a short‑interval snapshot, scores items by share of bets, and hides picks already seen.
Good for generic “Popular” widgets on high‑traffic sites.
N/A
Popularity‑driven only. No personalisation.
Sports - Hybrid (67)
Blends several bet recommenders like Popular, Extra Leg, and BetSlip to create a rounded list.
Category: Hybrid Ensemble
Description: Linear or weighted blend of child models.
How it works:
Calls each child model and aggregates scores using the selected hybrid_method, for example by mean or by count of models.
- SUB_MODEL_COMBINATION
- SUB_MODEL_COMBINATION
Suitable as the default personalised model for mature sportsbooks.
N/A
Depends on the availability of all sub‑models.
Sports - Behavioural 2.0 (68)
Combines a football‑specific content model with a personalised popularity model.
Category: Hybrid Content‑Popularity
Description: TF‑IDF on football events plus recent bet popularity.
How it works:
Limits content‑based scoring to football categories and merges it with popularity scores that reflect the user’s habits.
- SUB_MODEL_COMBINATION
- SUB_MODEL_COMBINATION
Designed for football‑heavy bookmakers.
N/A
Only categories in restrict_categories feed the content model.
Sports - Categories, Classes, Types (7)
Recommends sports or bet types a user may like at category level.
Category: Collaborative Filtering
Description: ALS on a user‑by‑category (or class or type) matrix.
How it works:
Encodes category‑level interactions, learns patterns, and scores categories the user has not tried.
- BET_PLACE
Good for secondary navigation or “You might like” widgets.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Training intensive. Not ideal for very long‑tail category sets.
Sports - Personalised Popular (731)
Ranks popular selections but boosts those that match the bettor’s usual categories.
Category: Popularity + Personalisation
Description: Tiered scoring that prefers items which are both popular and in preferred categories.
How it works:
Looks back over the last hour for bet counts, classifies items into tiers based on match with the user’s common categories and types, then returns a ranked list.
- BET_PLACE
Useful on busy match days to mix popular picks with personal relevance.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Empty if the look‑back window contains no bets.
Sports - In‑Play (75)
Live model that merges similarity and popularity to surface engaging in‑play selections.
Category: Hybrid Similarity
Description: Combines Jaccard event similarity with live popularity.
How it works:
Within a 15‑minute window, calculates popularity and similarity at selection level, merges the scores, and falls back to defaults if history is light.
- BET_PLACE
Best for live widgets during matches.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Requires near real‑time data. Falls back to defaults if live data is delayed.
Sports - Extra Leg (76)
Suggests one more leg to add to a 2 or 3 selection accumulator.
Category: Rules Based
Description: Uses pre‑computed item‑to‑item similarities, excluding existing legs.
How it works:
Loads a mapping of similar selections, aggregates scores across the user’s current legs, and returns the highest‑scoring unused selections.
- BET_PLACE
Works well in real‑time bet‑builder flows.
10 minutes
The mapping must be kept up to date for best quality.
Sports - Favourite Team (823)
Recommends markets involving the bettor’s favourite football teams.
Category: Content Based
Description: Maps users to favourite teams and ranks current markets for those teams.
How it works:
Analyses 6 months of bet history to find top teams. If fewer than five teams are found, it adds globally popular teams. It then matches these teams to upcoming fixtures.
- BET_PLACE
Good for club‑centred banners.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Returns empty if favourite teams are not currently playing.
Sports - Explicit Popular (888)
Shows the most popular selections within a filtered niche, for example tennis or esports.
Category: Popularity Filtering
Description: Ranks items by recent bet counts after pre‑filtering.
How it works:
Applies the requested sport or category filter, counts seven‑day bets, normalises scores, and returns the top list.
- BET_PLACE
Ideal for niche pages where the catalogue is already filtered.
At least daily, and sometimes more often depending on the client. Contact your CSM for details.
Can be slow for very large unfiltered queries. Always apply a filter.
Sports - Prior Win (13)
Surfaces events or bet types where the bettor has won before.
Category: Rules + Scoring
Description: Scores items by win amounts with extra weight on recent wins.
How it works:
Uses BET_SETTLED history, gives more weight to recent wins, then recommends current selections that match those teams or categories.
- BET_SETTLED, LEG_STATUS
Good for “Back your lucky team again” promotions.
Models are trained at least once a day and sometimes more frequently depending on the client. Contact your CSM for details.
Needs a complete BET_SETTLED feed. Returns nothing for users without wins.