Using the Reporting API to Understand Member Churn

What is Churn — and Why Does it Matter?

Member churn is the rate at which people stop engaging with a rewards programme. A member who has not logged in for 90 days, never clicked on a reward, or gradually reduced their activity is a churn risk. Identifying those members early gives a partner the chance to act — a targeted offer, a re-engagement email, or a change in the reward catalogue — before that member is lost entirely.

The Reporting API provides the raw behavioural signals needed to build those churn calculations.


What the API Tracks

The API exposes three behavioural data sets, all scoped automatically to the authenticated partner's own membership base.

Login History (/odata/TrackingLogins)

Every time a member signs in, a login event is recorded with the member's ID and the exact timestamp. By querying this endpoint you can answer questions such as:

  • When did this member last log in?
  • How many members have not logged in within the last 60 days?
  • Is there a group of members whose login frequency is declining month over month?

A member who has stopped logging in entirely is the clearest possible churn signal.

Reward Activity (/odata/TrackingActivities)

Each time a member interacts with a reward — viewing the detail, claiming it, or redeeming it — an activity event is recorded. The activity record links the member to the specific reward and carries a type field that describes the nature of the interaction.

This data allows you to identify:

  • Members who log in but never engage with any rewards (passive users at risk of disengagement).
  • Which reward categories drive the most sustained engagement.
  • Whether a member's activity level has dropped off after an initially active period.

Reward Impressions (/odata/TrackingImpressions)

An impression is recorded each time a reward is displayed to a member. Comparing impressions against activities reveals whether members are seeing rewards but choosing not to engage with them — a subtle but important early-warning sign that the offer catalogue may not be resonating.


How These Signals Combine into a Churn Picture

Used together, the three data sets paint a picture of member health:

Signal What it tells you
No logins in the last N days Member is completely disengaged
Logins present but no reward activities Member is visiting but not finding value
Falling activity count over time Member engagement is declining
High impressions, zero activities Rewards are visible but not compelling

A partner's analytics team can pull from all three endpoints, join the records on the UserId field, and compute engagement scores, recency/frequency/monetary (RFM) style profiles, or simple last-active dates — all the building blocks of a churn model.

The API supports flexible filtering and date-range queries (via OData $filter) so it is straightforward to extract cohort-level data, for example all members whose last login was before a given date, without downloading the entire history.


A Critical Requirement: Enhanced Member Data

The quality of any churn analysis depends directly on the quality of the member data the partner supplies.

The API can only surface what is already stored against each member record. The User object returned across the tracking endpoints contains the following fields:

  • Email
  • FirstName / LastName
  • IsActive flag
  • DateJoined (when the member joined)
  • Status, MemberLevel, CountryName
  • DateCancelled, DateRenewed, RenewalDate
  • AccountsUsersOrgUnits (the organisational segments the member belongs to)

If a partner provides only the minimum information needed to create an account — an email address and a name — the churn analysis will be limited to broad patterns across the whole membership base.

To make churn analysis genuinely actionable, partners should supply richer member attributes at the point of registration and keep them updated. Specifically:

  • Organisational unit / segment membership — Grouping members by department, region, tier, or any other meaningful segment means churn can be spotted and addressed at the group level, not just individually. This is supplied through the AccountsUsersOrgUnits relationship and is already supported in the API.
  • Member tenure or join date — Helps distinguish newly onboarded members (who are naturally less active) from long-standing members who are disengaging.
  • Member tier or loyalty level — If the programme has tiering, knowing a member's level allows churn rates to be tracked separately by tier, which typically have very different engagement profiles.
  • Any other demographic or behavioural attributes held by the partner — The more context that is attached to a member record, the more precisely a churn risk can be characterised and the more targeted the response can be.

Without this enhanced data, the API will still record every login, activity, and impression accurately — but the partner will only be able to answer "who is churning?" rather than "which segment is churning and why?"


Built-in Churn Analytics Endpoints

The API also provides pre-computed churn metrics so partners do not need to build their own aggregation pipelines:

Endpoint Description
GET /api/users/counts Total, active, churned, renewed, cancelled, and expired counts. Supports joinedBefore and joinedAfter date filters.
GET /api/users/cohorts Cohort retention table by join month, showing how many members from each cohort are still active (last 24 months).
GET /api/users/segments Churn rates broken down by country and member level (top 5 of each), including a count of high-risk users (renewal expiring within 30 days).
GET /api/users/elastic Bulk export of users with login data from Elasticsearch. Useful for feeding external BI tools or churn models.
GET /odata/UsersElastic OData-paged version of the above, suitable for large-scale extraction with $filter support on DateJoined.

Summary

The Reporting API provides a solid, real-time foundation for churn analysis: it tracks when members log in, what rewards they engage with, and what they are shown. Pre-built analytics endpoints (/api/users/counts, /api/users/cohorts, /api/users/segments) deliver ready-to-use churn metrics without custom aggregation. For deeper analysis, the raw OData endpoints let partners slice login, activity, and impression data by date range, member, reward, or organisational unit.

However, the API is only as powerful as the data behind it. Partners who invest in supplying rich, accurate member profile data will be able to build far more precise churn models and take more targeted retention action as a result.