Skip to content

Get user analytics (Admin only)

Request

Returns aggregated user statistics including total users, active users, new users, transaction metrics, campaign claims, redemptions, and engagement rate. Supports date range filtering. Requires admin authentication.

Security
authJWT
Bodyapplication/jsonrequired

User analytics request with date range filters

filtersobject(UserAnalyticsFiltersDTO)

Filters to scope which users/activity to include in analytics

Example:
{ "businessId": "biz-uuid-123" }
startDatestring, (date-time)

Start date for filtering activity and new users (ISO 8601 format). Filters transactions, claims, redemptions, and user creation dates.

Example:"2024-01-01T00:00:00Z"
endDatestring, (date-time)

End date for filtering activity and new users (ISO 8601 format). Filters transactions, claims, redemptions, and user creation dates.

Example:"2024-12-31T23:59:59Z"
curl -i -X POST \
  https://docs.pers.ninja/_mock/swagger/analytics/users \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

User analytics successfully retrieved

Bodyapplication/json
totalUsersnumberrequired

Total number of registered users (all-time, no date filter applied). Includes all non-deleted users regardless of activity.

Example:10523
activeUsersnumberrequired

Number of active users - users with ≥1 successful transaction (status=succeeded), completed claim (status=COMPLETED), or completed redemption (status=COMPLETED) within the specified date range. If no date range provided, counts users with any activity ever.

Example:3241
newUsersnumberrequired

Number of new users created within the specified date range (filtered by user.createdAt). If no date range provided, equals totalUsers.

Example:156
averageTransactionsPerUsernumberrequired

Average transactions per user across entire user base (total successful transactions in date range ÷ total users). Only counts transactions with status=succeeded, excludes REDEMPTION_SPEND and REDEMPTION_RECEIVE types to prevent double-counting.

Example:12.5
averageTransactionAmountnumberrequired

Average amount per transaction (total transaction volume ÷ transaction count). Only includes successful transactions (status=succeeded) in date range.

Example:45.67
totalTransactionVolumenumberrequired

Total transaction volume - sum of all successful transaction amounts (status=succeeded) in date range. Excludes REDEMPTION_SPEND and REDEMPTION_RECEIVE types.

Example:56789.12
totalClaimsnumberrequired

Total completed claims in the date range. Only counts claims with status=COMPLETED.

Example:1523
averageClaimsPerUsernumberrequired

Average claims per user across entire user base (total completed claims in date range ÷ total users). Only counts claims with status=COMPLETED.

Example:3.2
totalRedemptionsnumberrequired

Total completed redemptions in the date range. Only counts redemptions with status=COMPLETED.

Example:892
averageRedemptionsPerUsernumberrequired

Average redemptions per user across entire user base (total completed redemptions in date range ÷ total users). Only counts redemptions with status=COMPLETED.

Example:1.8
totalMintsnumberrequired

Total mint transactions in the date range. Only counts successful mint transactions (status=SUCCEEDED or BROADCASTED, type=MINT).

Example:1250
averageMintsPerUsernumberrequired

Average mints per user across entire user base (total mints in date range ÷ total users).

Example:1.2
totalTransfersnumberrequired

Total transfer transactions in the date range. Only counts successful transfer transactions (status=SUCCEEDED or BROADCASTED, type=TRANSFER).

Example:890
averageTransfersPerUsernumberrequired

Average transfers per user across entire user base (total transfers in date range ÷ total users).

Example:0.8
totalBurnsnumberrequired

Total burn transactions in the date range. Only counts successful burn transactions (status=SUCCEEDED or BROADCASTED, type=BURN).

Example:523
averageBurnsPerUsernumberrequired

Average burns per user across entire user base (total burns in date range ÷ total users).

Example:0.5
averageTransactionsPerActiveUsernumberrequired

Average transactions per active user (total successful transactions in date range ÷ active users in date range). Provides more accurate engagement metric than averageTransactionsPerUser by excluding inactive users.

Example:15.3
averageClaimsPerActiveUsernumberrequired

Average claims per active user (total completed claims in date range ÷ active users in date range). Shows claim activity concentrated among engaged users.

Example:4.7
averageRedemptionsPerActiveUsernumberrequired

Average redemptions per active user (total completed redemptions in date range ÷ active users in date range). Shows redemption activity concentrated among engaged users.

Example:2.1
averageMintsPerActiveUsernumberrequired

Average mints per active user (total mints in date range ÷ active users in date range).

Example:1.5
averageTransfersPerActiveUsernumberrequired

Average transfers per active user (total transfers in date range ÷ active users in date range).

Example:1.1
averageBurnsPerActiveUsernumberrequired

Average burns per active user (total burns in date range ÷ active users in date range).

Example:0.8
engagementRatenumberrequired

User engagement rate as percentage (activeUsers ÷ totalUsers × 100). Indicates what percentage of all registered users had activity in the date range.

Example:30.79
periodBreakdownArray of objects

Breakdown by time period (if requested)

metadataobjectrequired

Query metadata showing applied date range (always present)

Response
{ "totalUsers": 10523, "activeUsers": 3241, "newUsers": 156, "averageTransactionsPerUser": 12.5, "averageTransactionAmount": 45.67, "totalTransactionVolume": 56789.12, "totalClaims": 1523, "averageClaimsPerUser": 3.2, "totalRedemptions": 892, "averageRedemptionsPerUser": 1.8, "totalMints": 1250, "averageMintsPerUser": 1.2, "totalTransfers": 890, "averageTransfersPerUser": 0.8, "totalBurns": 523, "averageBurnsPerUser": 0.5, "averageTransactionsPerActiveUser": 15.3, "averageClaimsPerActiveUser": 4.7, "averageRedemptionsPerActiveUser": 2.1, "averageMintsPerActiveUser": 1.5, "averageTransfersPerActiveUser": 1.1, "averageBurnsPerActiveUser": 0.8, "engagementRate": 30.79, "periodBreakdown": [ { … } ], "metadata": { "dateRange": { … } } }