Operator guideEN

Affiliate Deals / Dashboard

Affiliate deal cohort report that period-bounds registrations, then combines the selected players with cumulative deposit and linked-event values.

How to use this guide

Start with the main guide

Follow the explanation and examples first. Extra definitions and formulas are available below when you need them.

What this page shows

This dashboard evaluates each affiliate deal row against an affiliate-link registration cohort and that cohort's downstream activity.

Each row represents one deal definition and combines:

  • traffic volume
  • registrations whose affiliate links were created inside the effective deal period
  • cumulative/current deposit KPIs for those registered players
  • all successful linked GGR, NGR, and CPA events for those players, without an event-date bound
  • CPA and revshare payouts
  • calculated ROI after contract costs

When to use it

  • check whether a PID deal is commercially profitable
  • compare traffic volume with actual deposit and revenue outcomes
  • compare CPA-sent counts with the calculated CPA payout
  • understand how revshare payout was derived
  • explain why a deal with traffic still has weak ROI

How to read it

This page is registration-cohort based, not a period-bounded performance ledger.

The report first computes the effective period for each deal:

  • start at the deal start_date
  • end at explicit end_date
  • or, if no end date exists, end one day before the next deal for the same PID starts

That effective period filters affiliate-link creation and selects the player cohort. Deposit KPIs are then read from cumulative user KPI values, and successful affiliate events are joined by link without a separate event-date filter.

Filters that change the result

  • PID

The current dashboard does not expose an independent date filter. Deal dates select the affiliate-link cohort; they do not cap all downstream activity.

Why values can differ from other affiliate reports

  • GGR and NGR here are taken from all successful Affise events attached to links in the selected cohort, not only events occurring during the deal dates.
  • Deposit count and amount come from cumulative user KPI values, while GGR and NGR come from all successful linked affiliate events.
  • ROI is an absolute EUR result, not a percentage ratio.
  • FTDs and CPA Sent are not the same measure on this dashboard. FTDs is the distinct registered-owner count from the affiliate-link cohort, while CPA Sent is the count of all successful linked ftd/* affiliate events for that cohort.

Metric dictionary

GGR

GGR on this dashboard is derived from affiliate events that were actually sent successfully:

  • sum of bets/* events
  • minus sum of wins/* events

NGR

NGR is the sum of successful ngr/* affiliate events attached to links in the deal's registration cohort. The event itself is not date-bounded by the deal period.

CPA Payout

CPA Payout equals:

  • CPA Sent Count
  • multiplied by the contractual CPA amount on the deal row

RevShare Base

RevShare Base is the same report value as NGR on this dashboard.

RevShare Payout

RevShare Payout equals:

  • NGR
  • multiplied by RevShare / 100

ROI

ROI is calculated as:

  • NGR
  • minus Fixed Fee
  • minus CPA Payout
  • minus RevShare Payout

Known caveats

  • End Date may display as open-ended in the UI, but the report still computes an effective end date for report joins.
  • The UI does not show effective_end_date; it only shows the explicit End Date value or infinity for open-ended deals.
  • CPA Rate is the contract rate. CPA Payout is the calculated count-times-rate value, not proof that a partner was paid.
  • RevShare Base and NGR use the same source measure in the current report calculation.
  • FTDs is labelled as a deposit concept, but the verified report calculation counts distinct registered players in the deal period. Use Depositors and CPA Sent for deposit/event-specific questions.
  • Explicitly overlapping date ranges are not automatically resolved. The next-deal cap applies only when the earlier deal has no End Date.
  • Deal dates filter affiliate-link creation, not downstream KPI or event dates. Post-period deposits or successful events can change payout and ROI.
  • EUR display does not expose the exact exchange-rate timestamp or rounding basis for deposit conversion.
  • Use the finance reconciliation process for final settlement.
More details

Definitions and formulas

Open only the section you need. The relevant section opens automatically when you request help for a specific item on screen.

Source calculations12 topicsOpen details

effective-end-date

Caps open-ended deals at the day before the next deal for the same PID starts.

Formula
COALESCE(end_date, LEAD(start_date by pid) - interval '1 day')

clicks

Counts matching affiliate-link rows, not distinct users.

Formula
COUNT(*) from `nx.affiliate_links` rows where link PID equals deal PID and link date is inside the effective deal period.

registrations

Counts affiliate-link rows with an owner UUID created during the effective deal period.

Formula
COUNT(al.owner_uuid) from the same matching `nx.affiliate_links` period set.

ftd-count

Despite the UI label `FTDs`, the SQL counts distinct registered owners; it does not check deposits or successful `ftd/*` events.

Formula
COUNT(DISTINCT owner_uuid) from the affiliate-link registration cohort.

depositors-count

Deposit-qualified player count from cumulative user KPI summary for the registration cohort.

Formula
COUNT(DISTINCT owner_uuid) where `user_kpi_summary.total_deposit_count > 0`.

deposits-count

Cumulative deposit count from user KPI summary for the registration cohort; no deposit-date filter is applied.

Formula
COALESCE(SUM(user_kpi_summary.total_deposit_count), 0)

deposits-amount-eur

Converts cumulative deposit amount to EUR from user KPI summary; no deposit-date filter is applied.

Formula
SUM(user_kpi_summary.total_deposit_amount / NULLIF(exchange_rate, 0))

ggr-eur

Uses all successful affiliate events attached to links in the registration cohort; no event-date filter is applied.

Formula
SUM(affiliate bets events) - SUM(affiliate wins events)

ngr-eur

Uses all successful `ngr/*` affiliate events attached to links in the registration cohort; no event-date filter is applied.

Formula
SUM(successful affiliate ngr events)

cpa-payout

Multiplies successful CPA event count by the contract CPA amount.

Formula
cpa_sent_count * cpa

revshare-payout

Calculates revshare payout from the NGR base.

Formula
ROUND(ngr_eur * rev_share / 100.0, 2)

roi

Returns the final absolute result after subtracting deal costs from NGR.

Formula
ROUND(ngr_eur - fixed_fee - cpa_payout - revshare_payout, 2)
Fields20 topicsOpen details

PID

Affiliate PID for the reported deal row.

Data Type
string

Start Date

Deal start date used to select affiliate links for the registration cohort.

Data Type
date

End Date

Explicit contract end date. Open-ended rows display infinity in the UI but can still have a backend `effective_end_date` used for joins.

Data Type
date

Fixed Fee

Contractual fixed fee for the deal row.

Data Type
amount

CPA Rate

Contractual CPA amount used to calculate payout.

Data Type
amount

RevShare

Contractual revshare percentage.

Data Type
percentage

Responsible

Owner of the deal row.

Data Type
string

Clicks

Affiliate-link rows created for the PID during the effective deal period.

Formula
COUNT(*) from `nx.affiliate_links` rows matching PID and effective deal period.
Data Type
integer

Registrations

Registered owners on affiliate-link rows created during the effective deal period.

Formula
COUNT(al.owner_uuid) from matching `nx.affiliate_links`.
Data Type
integer

FTDs

Distinct registered owners tied to affiliate links created in the effective deal period. This label is not the same as successful CPA/FTD event count.

Formula
COUNT(DISTINCT owner_uuid) from the affiliate-link cohort selected by the effective deal period.
Data Type
integer
Caveat
Use `CPA Sent` for successful `ftd/*` affiliate events and `Depositors` for players with deposits in KPI summary.

Depositors

Distinct players with at least one deposit.

Formula
COUNT(DISTINCT owner_uuid) where `user_kpi_summary.total_deposit_count > 0`.
Data Type
integer

Deposits Count

Cumulative deposit count from user KPI summary for players in the registration cohort; deposits are not date-bounded by the deal period.

Formula
SUM(user_kpi_summary.total_deposit_count).
Data Type
integer

Deposits Amount

Cumulative deposit amount converted to EUR from user KPI summary for the registration cohort; deposit dates are not bounded by the deal period.

Formula
SUM(user_kpi_summary.total_deposit_amount / NULLIF(user_kpi_summary.exchange_rate, 0)).
Data Type
amount

GGR

Gross gaming revenue from all successful linked affiliate events for the registration cohort; event dates are not bounded by the deal period.

Formula
SUM(successful bets/* affiliate event sums) - SUM(successful wins/* affiliate event sums).
Data Type
amount

NGR

Net gaming revenue from all successful linked affiliate events for the registration cohort; event dates are not bounded by the deal period.

Formula
SUM(successful ngr/* affiliate event sums).
Data Type
amount

CPA Sent

Count of all successful linked `ftd/*` affiliate events for the registration cohort; event dates are not bounded by the deal period.

Formula
COUNT(DISTINCT affiliate_event_id) where event status is success and action_id starts with `ftd/`.
Data Type
integer

CPA Payout

Calculated CPA amount from successful sent CPA events and the contractual CPA rate; it is not proof of payment.

Formula
cpa_sent_count * cpa.
Data Type
amount

RevShare Base

NGR value used as the base for revshare payout.

Formula
Same backend value as `ngr_eur`.
Data Type
amount

RevShare Payout

Calculated revshare amount from NGR and the contractual revshare percentage; it is not proof of payment.

Formula
ROUND(ngr_eur * rev_share / 100.0, 2).
Data Type
amount

ROI

Absolute EUR result after subtracting contract costs from NGR.

Formula
ROUND(ngr_eur - fixed_fee - cpa_payout - revshare_payout, 2).
Data Type
amount
Filters1 topicOpen details

PID

Limits the dashboard to one PID.

Type
text
Metrics6 topicsOpen details

GGR

Gross gaming revenue from all successful linked affiliate events for the deal registration cohort; event dates are not bounded by the deal period.

Aliases
affiliate deals ggr, affiliate dashboard ggr, deal ggr
Formula
SUM(bets/*) - SUM(wins/*)

NGR

Net gaming revenue from all successful linked `ngr/*` affiliate events for the deal registration cohort; event dates are not bounded by the deal period.

Aliases
affiliate deals ngr, affiliate dashboard ngr, deal ngr
Formula
SUM(ngr/* successful affise events)

CPA Payout

Calculated CPA amount for the row, derived from all successful linked CPA/FTD events for the registration cohort and the contract CPA rate; it is not proof that the partner was paid.

Aliases
affiliate cpa payout, cpa payout
Formula
cpa_sent_count * cpa

RevShare Payout

Calculated revshare amount for the row, derived from NGR and the contract revshare percentage; it is not proof that the partner was paid.

Aliases
affiliate revshare payout, revshare payout
Formula
ROUND(ngr_eur * rev_share / 100.0, 2)

ROI

Absolute EUR result after subtracting fixed fee, calculated CPA payout, and calculated revshare payout from cohort NGR.

Aliases
affiliate roi, affiliate deals roi, deal roi
Formula
ngr_eur - fixed_fee - cpa_payout - revshare_payout
Comparison Notes
ROI is displayed as an absolute currency amount, not as a percentage.

FTDs

Distinct registered owners in the affiliate-link cohort selected by the effective deal period.

Aliases
affiliate deals ftds, affiliate dashboard ftd count
Formula
COUNT(DISTINCT owner_uuid) from the affiliate-link cohort selected by the effective deal period
Comparison Notes
This is not the same as `CPA Sent`, which counts successful `ftd/*` affiliate events, and not the same as `Depositors`, which checks KPI deposit count.
More help

Related pages

Affiliate Deals / Form

Create and edit form for affiliate deals, including PID, date window, commercial terms, and responsible person.

Affiliate Deals / List

Searchable table of affiliate deal rows with PID filter, create action, dashboard shortcut, and edit/delete row actions.

Affiliates / Affiliate Deals

Operator guide for affiliate-deal records, their create/edit flow, and the performance dashboard that compares contract settings with delivered traffic and revenue metrics.

Affiliate Payment Settings / Detail

Detail/edit shell for one saved affiliate payment-setting record.

Affiliate Payment Settings / Form

Create and edit form for one affiliate payment-setting record, with visible PID targeting, minimum deposit threshold, and active-state control.

Affiliate Payment Settings / List

Affiliate payment settings inventory page for reviewing configured rows and opening saved records.