# Analytics

## Get transaction analytics (Admin only)

 - [POST /analytics/transactions](https://docs.pers.ninja/swagger/analytics/analyticscontroller_gettransactionanalytics.md): Returns aggregated transaction data with flexible grouping and metrics. Supports complex filtering by date range, business, token, status, and more. Requires admin authentication.

## Get campaign claim analytics (Admin/Business)

 - [POST /analytics/campaign-claims](https://docs.pers.ninja/swagger/analytics/analyticscontroller_getcampaignclaimanalytics.md): Returns aggregated campaign claim data with flexible grouping and metrics. Business users are auto-filtered to their own campaigns (ownerBusinessId). Admin users see all data.

## Get redemption redeem analytics (Admin/Business)

 - [POST /analytics/redemption-redeems](https://docs.pers.ninja/swagger/analytics/analyticscontroller_getredemptionredeemanalytics.md): Returns aggregated redemption redeem data with flexible grouping and metrics. Business users are auto-filtered to their own redemptions (ownerBusinessId). Admin users see all data.

## Get user analytics (Admin only)

 - [POST /analytics/users](https://docs.pers.ninja/swagger/analytics/analyticscontroller_getuseranalytics.md): 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.

## Get user transaction ranking (Admin only)

 - [POST /analytics/users/ranking](https://docs.pers.ninja/swagger/analytics/analyticscontroller_getuserranking.md): Returns ranked list of users with full user details and transaction metrics. Data enrichment via efficient SQL JOINs + UNION (handles legacy transactions). Supports filtering by business, token type, date range. Requires admin authentication.

## Get business transaction ranking (Admin only)

 - [POST /analytics/businesses/ranking](https://docs.pers.ninja/swagger/analytics/analyticscontroller_getbusinessranking.md): Returns ranked list of businesses with full business details and transaction metrics. Data enrichment via efficient SQL JOINs + UNION (handles legacy transactions). Supports filtering by token type, date range. Requires admin authentication.

## Get cohort-based user retention analytics (Admin only)

 - [POST /analytics/users/retention](https://docs.pers.ninja/swagger/analytics/analyticscontroller_getretentionanalytics.md): Returns cohort retention data showing how user cohorts perform over time. Each cohort represents users who joined in a specific month, tracked across subsequent months. Replaces 13 separate API calls with 1 efficient query. Industry-standard cohort analysis for retention heatmaps. Requires admin authentication.

## Get tag analytics across entities

 - [GET /analytics/tags](https://docs.pers.ninja/swagger/analytics/analyticscontroller_gettaganalytics.md): Returns aggregated tag usage data across Campaign, Redemption, Business, TokenMetadata, and UserStatusType entities. Useful for tag filtering in apps and autocomplete suggestions.

## Get AI usage summary for billing (Admin only)

 - [POST /analytics/ai/usage](https://docs.pers.ninja/swagger/analytics/analyticscontroller_getaiusagesummary.md): Returns aggregated AI usage metrics with breakdown by model and operation type. Perfect for billing reports and cost monitoring. Requires admin authentication.

## Get AI analytics with dynamic grouping (Admin only)

 - [POST /analytics/ai](https://docs.pers.ninja/swagger/analytics/analyticscontroller_getaianalytics.md): Returns aggregated AI generation data with flexible grouping and metrics. Supports filtering by model, operation type, user, and success status. Requires admin authentication.

