Analytics

CRM analytics related endpoints

Get sport betting related overall activity metrics

get
/api/crm/analytics/betting/sports

Returns metrics relevant to betting activity per sport or league.

By default betting activity will be calculated per sport. If you wish to aggregate by league, you need to pass the group_by=league query parameter.

The metrics are calculated per sport and include values such as total_bets, total_betted_events, total_uaps.

Data for specific time period

Use the activity_on filter, to fetch results for the desired time period, and the grouping_interval parameter to group them on the desired interval.

Time intervals format

The activity_on field is a date field, in the format YYYY-MM-DD which represents the date of the activity. Given on the requested interval, the meaning of the activity_on will vary.

  • day: Returns results for a given date, e.g. 2025-06-10.

  • week: Returns results for a given week. The returned date represents the start day of this week (Monday based), e.g. 2025-09-15.

  • month: Returns results for a given month where the returned date represents the start date of this month, e.g. 2025-06-01 for June 2025.

  • overall: Returns metrics aggregated across the requested time period.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
filtersstring · enumOptional

Optional filtering of the results. It expects a string adhering to the filtering format, as described in the filtering section.

Possible values:
grouping_intervalstring · enumOptional

The time interval for grouping the results.

Default: monthPossible values:
group_bystring · enumOptional

The dimension over which betting activity will be aggregated, can be one of sport, league

Default: sportPossible values:
Header parameters
x-vaix-client-idstringRequired

Custom client header, the value should be the name of the group the user belongs to

x-vaix-authentication-methodstringOptional

Authentication method to be used, supported values [vaix, iam]. Defaults to vaix

Responses
200

OK

application/json
get
/api/crm/analytics/betting/sports
GET /api/crm/analytics/betting/sports HTTP/1.1
Host: api.vaix.ai
Authorization: Bearer YOUR_SECRET_TOKEN
x-vaix-client-id: text
Accept: */*
{
  "data": [
    {
      "activity_on": "2025-03-01",
      "sport": "Soccer",
      "sport_id": "sr:sport:1",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "total_bets": 44,
      "total_betted_events": 9,
      "total_tickets": 35,
      "total_uaps": 30
    },
    {
      "activity_on": "2025-03-01",
      "sport": "Tennis",
      "sport_id": "sr:sport:5",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "total_bets": 4,
      "total_betted_events": 3,
      "total_tickets": 4,
      "total_uaps": 4
    },
    {
      "activity_on": "2025-03-02",
      "sport": "Soccer",
      "sport_id": "sr:sport:1",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "total_bets": 226,
      "total_betted_events": 7,
      "total_tickets": 172,
      "total_uaps": 107
    },
    {
      "activity_on": "2025-03-02",
      "sport": "Basketball",
      "sport_id": "sr:sport:2",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "total_bets": 65,
      "total_betted_events": 4,
      "total_tickets": 34,
      "total_uaps": 18
    }
  ],
  "status": "success"
}

Get sports related overall activity metrics

get
/api/crm/analytics/sports_activity

Returns sports related overall activity metrics.

Includes sports related activity metrics, grouped on the specified interval.

The calculated metrics include uaps, first_time_uaps and various monetary stats for tickets.

Local and standardized currency

Notice that monetary related metrics are all returned for each local currency the operator supports.

Along with that, aggregated metrics for the standardized currency (EUR) will also be returned.

For example, if an operator supports USD and MXN currencies, the results will include:

  • Statistics only regarding activity using USD currency.

  • Statistics only regarding activity using MXN currency.

  • Aggregated statistics regarding activity across all currencies. In that case, all values will be converted and aggregated to EUR currency.

Data for specific time period

Use the activity_on filter, to fetch results for the desired time period, and the grouping_interval parameter to group them on the desired interval.

Time intervals format

The activity_on field is a date field, in the format YYYY-MM-DD which represents the date of the activity. Given on the requested interval, the meaning of the activity_on will vary.

  • day: Returns results for a given date, e.g. 2025-06-10.

  • week: Returns results for a given week where the returned date represents the starting day of the week (Monday), e.g. 2025-09-15.

  • month: Returns results for a given month where the returned date represents the start date of this month, e.g. 2025-06-01 for June 2025.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
filtersstring · enumOptional

Optional filtering of the results. It expects a string adhering to the filtering format, as described in the filtering section.

Possible values:
grouping_intervalstring · enumOptional

The time interval for grouping the results.

Default: monthPossible values:
order_bystring · enumOptional

The columns to sort the results by. It expects a string adhering to the ordering format, as described in the ordering section, e.g. +tenant_id,-subtenant_id.

Default: +tenant_id,+subtenant_id,+currency,+local,-activity_onPossible values:
Header parameters
x-vaix-client-idstringRequired

Custom client header, the value should be the name of the group the user belongs to

x-vaix-authentication-methodstringOptional

Authentication method to be used, supported values [vaix, iam]. Defaults to vaix

Responses
200

OK

application/json
get
/api/crm/analytics/sports_activity
GET /api/crm/analytics/sports_activity HTTP/1.1
Host: api.vaix.ai
Authorization: Bearer YOUR_SECRET_TOKEN
x-vaix-client-id: text
Accept: */*
{
  "data": [
    {
      "activity_on": "2025-05-02",
      "currency": "MXN",
      "double_leg_ticket_count": 117,
      "double_leg_ticket_prize": 5173450.944182084,
      "double_leg_ticket_stake": 218285.57,
      "first_time_uaps": 0,
      "local": true,
      "other_leg_ticket_count": 150,
      "other_leg_ticket_prize": 15441801.609330498,
      "other_leg_ticket_stake": 73128.56999999999,
      "single_leg_ticket_count": 347,
      "single_leg_ticket_prize": 1568883.5508488524,
      "single_leg_ticket_stake": 718601.37,
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "total_prize": 1055993.8835203429,
      "total_stake": 1068123.0100000005,
      "triple_leg_ticket_count": 50,
      "triple_leg_ticket_prize": 19407908.236760862,
      "triple_leg_ticket_stake": 58107.49999999999,
      "uaps": 204
    },
    {
      "activity_on": "2025-05-01",
      "currency": "MXN",
      "double_leg_ticket_count": 149,
      "double_leg_ticket_prize": 3202205.964256444,
      "double_leg_ticket_stake": 249308.93000000005,
      "first_time_uaps": 0,
      "local": true,
      "other_leg_ticket_count": 166,
      "other_leg_ticket_prize": 5943027.717576457,
      "other_leg_ticket_stake": 134270.27000000002,
      "single_leg_ticket_count": 428,
      "single_leg_ticket_prize": 1259718.9843565708,
      "single_leg_ticket_stake": 633805.97,
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "total_prize": 716029.7967394461,
      "total_stake": 1114966.81,
      "triple_leg_ticket_count": 103,
      "triple_leg_ticket_prize": 8182438.145589585,
      "triple_leg_ticket_stake": 97581.63999999998,
      "uaps": 221
    }
  ],
  "status": "success"
}

Get user cohort metrics for various types of users

get
/api/crm/analytics/user_cohorts

Returns metrics relevant to user cohorts.

For each cohort period, metrics for the following activity periods are returned. For example, if the cohort period is 2025-01-01, metrics for the activity periods of 2025-01-01, 2025-02-01, 2025-03-01, etc. are returned. Notice that through filters you can get data for the desired cohort and activity periods.

User type

The cohorts are calculated per user type.

Use the user_type filter to get data for the desired user type.

Available user types are:

  • new: Users who firstly registered during the cohort period.

  • active: Users who were active during the cohort period.

Data for specific time period

Use the cohort_on filter, to fetch results for the desired cohort period, activity_on filter to fetch results for the desired activity period based on each cohort.

Time intervals format

The cohort_on and activity_on fields are date fields, in the format YYYY-MM-DD which represents the date of the cohort and activity respectively.

If the results are grouped on monthly intervals, the returned dates represent the start date of the month, e.g. 2025-06-01 for June 2025. Similarly if the results are grouped on weekly intervals then the returned dates represent the start of the corresponding week.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
filtersstring · enumOptional

Optional filtering of the results. It expects a string adhering to the filtering format, as described in the filtering section.

Possible values:
order_bystring · enumOptional

The columns to sort the results by. It expects a string adhering to the ordering format, as described in the ordering section, e.g. +tenant_id,-subtenant_id.

Default: +tenant_id,+subtenant_id,+user_type,+cohort_on,+activity_onPossible values:
grouping_intervalstring · enumOptional

The time interval for grouping the results.

Default: monthPossible values:
Header parameters
x-vaix-client-idstringRequired

Custom client header, the value should be the name of the group the user belongs to

x-vaix-authentication-methodstringOptional

Authentication method to be used, supported values [vaix, iam]. Defaults to vaix

Responses
200

OK

application/json
get
/api/crm/analytics/user_cohorts
GET /api/crm/analytics/user_cohorts HTTP/1.1
Host: api.vaix.ai
Authorization: Bearer YOUR_SECRET_TOKEN
x-vaix-client-id: text
Accept: */*
{
  "data": [
    {
      "activity_on": "2025-03-01",
      "cohort_on": "2025-03-01",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "user_count": 1040,
      "user_type": "active"
    },
    {
      "activity_on": "2025-04-01",
      "cohort_on": "2025-03-01",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "user_count": 509,
      "user_type": "active"
    },
    {
      "activity_on": "2025-05-01",
      "cohort_on": "2025-03-01",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "user_count": 376,
      "user_type": "active"
    },
    {
      "activity_on": "2025-06-01",
      "cohort_on": "2025-03-01",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "user_count": 321,
      "user_type": "active"
    }
  ],
  "status": "success"
}

Get user lifecycle metrics for the various lifecycle stages

get
/api/crm/analytics/user_lifecycles

Returns metrics relevant to user lifecycles.

Lifecycle stages

The following lifecycle stages are defined:

  • active: Users who have been active during the activity period.

  • new: Users who firstly registered during the activity period.

  • dormant: Users who have not been active for a period of time.

  • lapsed: Users who have not been active for a longer period of time.

  • reactivated: Users who were previously dormant or lapsed but have become active again during the activity period.

Use the lifecycle_status filter to get data for the desired lifecycle stage.

Users transitioning between lifecycle stages

It is possible that during the same activity period, a user transitions between different lifecycle stages. For example, a user may be active on 2025-08-12 but change to dormant on 2025-08-20 if they do not perform any activity after that date.

In such case, only the latest lifecycle stage for the user within the activity period will be considered for the metrics calculation. In the above example, the user will be counted as dormant for the activity period of August 2025.

Data grouping options

You can control how data is grouped using two parameters:

  • Use the activity_on filter to fetch results for the desired time period.

  • Use the grouping_interval parameter to group data as either weekly or monthly aggregates. The default is month if not specified.

Data for specific time period

The activity_on field is a date field, in the format YYYY-MM-DD which represents the date of the activity. Given on the requested interval, the meaning of the activity_on will vary.

  • week: Returns results for a given week where the returned date represents the starting day of the week (Monday), e.g. 2025-09-15.

  • month: Returns results for a given month where the returned date represents the start date of this month, e.g. 2025-06-01 for June 2025.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
filtersstring · enumOptional

Optional filtering of the results. It expects a string adhering to the filtering format, as described in the filtering section.

Possible values:
order_bystring · enumOptional

The columns to sort the results by. It expects a string adhering to the ordering format, as described in the ordering section, e.g. +tenant_id,-subtenant_id.

Default: +tenant_id,+subtenant_id,+activity_on,+lifecycle_statusPossible values:
grouping_intervalstring · enumOptional

The time interval for grouping the results.

Default: monthPossible values:
Header parameters
x-vaix-client-idstringRequired

Custom client header, the value should be the name of the group the user belongs to

x-vaix-authentication-methodstringOptional

Authentication method to be used, supported values [vaix, iam]. Defaults to vaix

Responses
200

OK

application/json
get
/api/crm/analytics/user_lifecycles
GET /api/crm/analytics/user_lifecycles HTTP/1.1
Host: api.vaix.ai
Authorization: Bearer YOUR_SECRET_TOKEN
x-vaix-client-id: text
Accept: */*
{
  "data": [
    {
      "activity_on": "2025-08-01",
      "lifecycle_status": "active",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "user_count": 710
    },
    {
      "activity_on": "2025-08-01",
      "lifecycle_status": "dormant",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "user_count": 9592
    },
    {
      "activity_on": "2025-08-01",
      "lifecycle_status": "lapsed",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "user_count": 4494
    },
    {
      "activity_on": "2025-08-01",
      "lifecycle_status": "new",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "user_count": 1344
    },
    {
      "activity_on": "2025-08-01",
      "lifecycle_status": "reactivated",
      "subtenant_id": "6306",
      "tenant_id": "40009",
      "user_count": 579
    }
  ],
  "status": "success"
}

Was this helpful?