(Mandatory for clients who have purchased the Standard Intelligence Module)
While Xtremepush can ingest any raw event data for engagement, our Intelligence engine requires a specific standardisation layer to calculate high-value metrics such as GGR, NGR etc in real-time.
This process does not require you to rename your internal fields. Instead, we use a collaborative process to map your existing data to our Core Event Properties Model.
1. The BI Onboarding Journey
We follow a four-phase process to ensure your data is accurate. This journey relies on the technical documentation and mapping provided by your team in Phase 1.
Phase 1: Benchmarking & Mapping: You provide your Schema Documentation for review to assess and recommend any changes required
Phase 2: Configuration: On populating sufficient data (historical or 2 weeks "real" data) in the client's production project, our date team will configure the Intelligence engine to correctly interpret your event data.
Phase 3: Validation (Reconciliation): We produce a report of our findings and align with you any recommendations or changes needed.
Phase 4: Value Delivery: Your real-time BI dashboards and player computations are activated.
2. Required Technical Inputs
To commence Phase 1, our Data Solutions team requires two specific items from your technical team:
1. Your Schema Documentation: Any available technical docs for your event structures (e.g. JSON schemas, Swagger/OpenAPI docs, or a data dictionary).
2. Data Verification Sample (Benchmarking Set): 2 weeks real data or historical data in production environment to allow us assess data and propose changes where required
3. Core Mapping Logic
When completing your mapping document, you will need to identify three pillars for every transactional event:
Nature: Categorises the vertical (e.g.
sports,casino,deposit,withdrawal,bonus).Value Property: Identifies the field containing the monetary amount (e.g.
stake_totaloramount).Natural Key (Critical): The identifier (e.g.
bet_idortransaction_id) that links a wager to its eventual settlement. This ID must be identical in both events to calculate accurate margins and NGR.
4. Annotated BI Mapping Examples
The following example uses the standard payload defined to show how your existing fields are mapped for Intelligence purposes within the external Readiness Guide.
{
"event": "bet_placed",
"timestamp": "2025-08-17T14:10:00Z",
"user_id": "user123",
"value": {
"bet_id": "B123456789", // Mapped as: Natural Key
...
"stake_total": 50.00, // Mapped as: Value Property (Type: debit)
"potential_return": 125.00,
...
"legs": [
{
"leg_id": 1,
"event_name": "Manchester United v Liverpool",
"sport": "Football", // Mapped as: Category
"competition": "Premier League",// Mapped as: Subcategory
"participants": ["Manchester United", "Liverpool"]
"market": "Match Result",// Mapped as: Item
"selection": "Liverpool Win",
}
...
]
"balance_cash": 1100.00,
"balance_bonus": 200.00,
"balance_total": 1300.00
}
}
Model Field | Your Field Name |
|---|---|
event_name | bet_placed |
nature | sports |
value_property | stake_total |
value_type | debit |
natural_key | bet_id |
category | sport |
subcategory | competition |
item | market |
Player Aggregates/Computed Attributes
The following attributes can be derived from your event data. How they are made available depends on your Xtremepush package:
If you have purchased Intelligence: Depending on the package purchased, these attributes are calculated by the Intelligence engine in real-time as events are received. No additional data is required beyond the events defined in onboarding.
If you have not purchased Intelligence: These attributes will not be computed automatically. To enable segmentation and personalisation based on these fields, we recommend sending them as custom profile attributes via your regular data sync.
The following attributes are available:
Standard iGaming Computations
Computation | Description | Lookbacks |
|---|---|---|
avg_bonus_amount | Average bonus amount awarded | Lifetime, L7D, L14D, L30D, L90D |
avg_casino_bet_amount | Average casino bet stake | Lifetime, L7D, L14D, L30D, L90D |
avg_deposit_amount | Average deposit amount | Lifetime, L7D, L14D, L30D, L90D |
avg_sports_bet_amount | Average sports bet stake | Lifetime, L7D, L14D, L30D, L90D |
avg_withdrawal_amount | Average withdrawal amount | Lifetime, L7D, L14D, L30D, L90D |
bonus_amount | Total bonus amount awarded | Lifetime, L7D, L14D, L30D, L90D |
bonus_amount_used | Total bonus amount used | Lifetime, L7D, L14D, L30D, L90D |
bonus_amount_paid | Total bonus amount paid out | Lifetime, L7D, L14D, L30D, L90D |
bonus_margin | Percentage of bonus funds retained by the operator after payouts | Lifetime |
bonuses_awarded | Total number of bonuses awarded | Lifetime, L7D, L14D, L30D, L90D |
casino_bet_amount | Total casino bet stakes | Lifetime, L7D, L14D, L30D, L90D |
casino_bets_placed | Total number of casino bets placed | Lifetime, L7D, L14D, L30D, L90D |
casino_ggr | Casino stakes minus casino winnings | Lifetime, L7D, L14D, L30D, L90D |
casino_margin | Percentage of total real-money casino wagers retained by the operator | Lifetime |
days_bonuses_awarded | Number of unique days on which bonuses were awarded | Lifetime, L7D, L14D, L30D, L90D |
days_bonuses_used | Number of unique days on which bonuses were used | Lifetime, L7D, L14D, L30D, L90D |
days_bonuses_paid_out | Number of unique days on which bonuses were paid out | Lifetime, L7D, L14D, L30D, L90D |
days_casino_bet_placed | Number of unique days on which casino bets were placed | Lifetime, L7D, L14D, L30D, L90D |
days_deposit_made | Number of unique days on which deposits were made | Lifetime, L7D, L14D, L30D, L90D |
days_sports_bet_placed | Number of unique days on which sports bets were placed | Lifetime, L7D, L14D, L30D, L90D |
deposit_amount | Total deposit amount | Lifetime, L7D, L14D, L30D, L90D |
deposits_made | Total number of deposits made | Lifetime, L7D, L14D, L30D, L90D |
first_casino_bet_date | Date of first casino bet placed | — |
first_deposit_date | Date of first deposit made | — |
first_sports_bet_date | Date of first sports bet placed | — |
first_withdrawal_date | Date of first withdrawal made | — |
has_deposited | TRUE if the player has made at least one deposit | — |
has_placed_casino_bet | TRUE if the player has placed at least one casino bet | — |
has_placed_sports_bet | TRUE if the player has placed at least one sports bet | — |
last_casino_bet_date | Date of most recent casino bet placed | — |
last_deposit_date | Date of most recent deposit made | — |
last_sports_bet_date | Date of most recent sports bet placed | — |
last_withdrawal_date | Date of most recent withdrawal made | — |
net_deposit | Total deposits minus total withdrawals | Lifetime, L7D, L14D, L30D, L90D |
overall_margin | Total percentage of all bets retained by the operator as profit after paying out winnings. Excludes deposits, withdrawals, and bonuses | Lifetime |
sports_bet_amount | Total sports bet stakes | Lifetime, L7D, L14D, L30D, L90D |
sports_bets_placed | Total number of sports bets placed | Lifetime, L7D, L14D, L30D, L90D |
sports_ggr | Sports stakes minus sports winnings | Lifetime, L7D, L14D, L30D, L90D |
sports_margin | Percentage of total real-money sportsbook wagers retained by the operator | Lifetime |
total_ggr | Total stakes minus total winnings across all products | Lifetime, L7D, L14D, L30D, L90D |
total_ngr | GGR minus bonus cost | Lifetime, L7D, L14D, L30D, L90D |
withdrawal_amount | Total withdrawal amount | Lifetime, L7D, L14D, L30D, L90D |
withdrawals_made | Total number of withdrawals made | Lifetime, L7D, L14D, L30D, L90D |
Standard Campaign Computations
Computation | Description | Lookbacks |
|---|---|---|
campaigns_clicked | Total number of campaigns clicked | Lifetime, L7D, L14D, L30D, L90D |
campaigns_received | Total number of campaigns received | Lifetime, L7D, L14D, L30D, L90D |
campaigns_opened | Total number of campaigns opened | Lifetime, L7D, L14D, L30D, L90D |
email_click_rate | Email campaigns clicked divided by campaigns received | L30D |
email_engagement_percentile | Player's percentile ranking for email engagement relative to all players | — |
email_engagement_user_segment | Quartile-based segmentation of a player's email engagement relative to all players — e.g. Very Low, Low, High, Very High | — |
push_click_rate | Push campaigns clicked divided by campaigns received | L30D |
push_engagement_percentile | Player's percentile ranking for push engagement relative to all players | — |
push_engagement_user_segment | Quartile-based segmentation of a player's push engagement relative to all players — e.g. Very Low, Low, High, Very High | — |
sms_click_rate | SMS campaigns clicked divided by campaigns received | L30D |
sms_engagement_percentile | Player's percentile ranking for SMS engagement relative to all players | — |
sms_engagement_user_segment | Quartile-based segmentation of a player's SMS engagement relative to all players — e.g. Very Low, Low, High, Very High | — |
inbox_click_rate | Inbox campaigns clicked divided by campaigns received | L30D |
inbox_engagement_percentile | Player's percentile ranking for Inbox engagement relative to all players | — |
inbox_engagement_user_segment | Quartile-based segmentation of a player's inbox engagement relative to all players — e.g. Very Low, Low, High, Very High | — |
last_campaign_received_date | Date of most recent campaign received | — |
Standard iGaming Attribution Computations
Computation | Description | Lookbacks |
|---|---|---|
crm_driven_player | TRUE when the majority of a player's actions are attributed to a CRM campaign within 90 minutes | L7D, L14D, L30D, L90D |
organic_player | TRUE when the majority of a player's actions are not attributed to a CRM campaign within 90 minutes | L7D, L14D, L30D, L90D |
campaign_fatigued | TRUE when a player has received multiple campaigns but has no activity attributed to them within a 90-minute window | L7D, L14D, L30D, L90D |
Dashboards
Standard OOTB dashboard will be configured based on the consumed data, where applicable. These include a range of dashboards covering:
Overall Performance
Email Performance
Push Performance
Campaign Performance by Bet
Sports Performance
Casino Performance
Campaign Performance by Bet
Deposit & Bet Commercial Performance