[PERS SDK - v2.3.26](/sdk-reference/readme) / [Exports](/sdk-reference/modules) / AnalyticsService

# Class: AnalyticsService

Platform-Agnostic Analytics Service

Contains analytics business logic and operations that work across platforms.
No framework dependencies - pure TypeScript business logic.

Focuses only on actual backend capabilities.

## Table of contents

### Constructors

- [constructor](/sdk-reference/classes/analyticsservice#constructor)


### Methods

- [getTransactionAnalytics](/sdk-reference/classes/analyticsservice#gettransactionanalytics)
- [getCampaignClaimAnalytics](/sdk-reference/classes/analyticsservice#getcampaignclaimanalytics)
- [getRedemptionRedeemAnalytics](/sdk-reference/classes/analyticsservice#getredemptionredeemanalytics)
- [getUserAnalytics](/sdk-reference/classes/analyticsservice#getuseranalytics)
- [getUserRanking](/sdk-reference/classes/analyticsservice#getuserranking)
- [getBusinessRanking](/sdk-reference/classes/analyticsservice#getbusinessranking)
- [getRetentionAnalytics](/sdk-reference/classes/analyticsservice#getretentionanalytics)
- [getTagAnalytics](/sdk-reference/classes/analyticsservice#gettaganalytics)


## Constructors

### constructor

• **new AnalyticsService**(`analyticsApi`): [`AnalyticsService`](/sdk-reference/classes/analyticsservice)

#### Parameters

| Name | Type |
|  --- | --- |
| `analyticsApi` | [`AnalyticsApi`](/sdk-reference/classes/analyticsapi) |


#### Returns

[`AnalyticsService`](/sdk-reference/classes/analyticsservice)

#### Defined in

[analytics/services/analytics-service.ts:30](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/analytics/services/analytics-service.ts#L30)

## Methods

### getTransactionAnalytics

▸ **getTransactionAnalytics**(`request`): `Promise`<`TransactionAnalyticsResponseDTO`>

ADMIN: Get transaction analytics with filtering and aggregation

#### Parameters

| Name | Type |
|  --- | --- |
| `request` | `TransactionAnalyticsRequestDTO` |


#### Returns

`Promise`<`TransactionAnalyticsResponseDTO`>

#### Defined in

[analytics/services/analytics-service.ts:39](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/analytics/services/analytics-service.ts#L39)

### getCampaignClaimAnalytics

▸ **getCampaignClaimAnalytics**(`request`): `Promise`<`CampaignClaimAnalyticsResponseDTO`>

ADMIN: Get campaign claim analytics with aggregation

#### Parameters

| Name | Type |
|  --- | --- |
| `request` | `CampaignClaimAnalyticsRequestDTO` |


#### Returns

`Promise`<`CampaignClaimAnalyticsResponseDTO`>

#### Defined in

[analytics/services/analytics-service.ts:46](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/analytics/services/analytics-service.ts#L46)

### getRedemptionRedeemAnalytics

▸ **getRedemptionRedeemAnalytics**(`request`): `Promise`<`RedemptionRedeemAnalyticsResponseDTO`>

ADMIN: Get redemption redeem analytics with aggregation

Returns aggregated redeem data with flexible grouping and metrics.
Perfect for charts and dashboard summaries.

#### Parameters

| Name | Type |
|  --- | --- |
| `request` | `RedemptionRedeemAnalyticsRequestDTO` |


#### Returns

`Promise`<`RedemptionRedeemAnalyticsResponseDTO`>

#### Defined in

[analytics/services/analytics-service.ts:56](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/analytics/services/analytics-service.ts#L56)

### getUserAnalytics

▸ **getUserAnalytics**(`request?`): `Promise`<`UserAnalyticsResponseDTO`>

ADMIN: Get user analytics with engagement metrics

Returns aggregated user statistics including engagement rate, active users,
transaction metrics, and claims/redemption averages.

#### Parameters

| Name | Type |
|  --- | --- |
| `request` | `UserAnalyticsRequestDTO` |


#### Returns

`Promise`<`UserAnalyticsResponseDTO`>

#### Defined in

[analytics/services/analytics-service.ts:66](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/analytics/services/analytics-service.ts#L66)

### getUserRanking

▸ **getUserRanking**(`request?`): `Promise`<`UserRankingAnalyticsResponseDTO`>

ADMIN: Get user transaction ranking with enriched user data

Returns ranked list of users with full user details (email, externalUserId)
and transaction metrics. Efficient data enrichment via SQL JOINs + UNION.

#### Parameters

| Name | Type |
|  --- | --- |
| `request` | `UserRankingAnalyticsRequestDTO` |


#### Returns

`Promise`<`UserRankingAnalyticsResponseDTO`>

#### Defined in

[analytics/services/analytics-service.ts:76](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/analytics/services/analytics-service.ts#L76)

### getBusinessRanking

▸ **getBusinessRanking**(`request?`): `Promise`<`BusinessRankingAnalyticsResponseDTO`>

ADMIN: Get business transaction ranking with enriched business data

Returns ranked list of businesses with full business details and transaction metrics.

#### Parameters

| Name | Type |
|  --- | --- |
| `request` | `BusinessRankingAnalyticsRequestDTO` |


#### Returns

`Promise`<`BusinessRankingAnalyticsResponseDTO`>

#### Defined in

[analytics/services/analytics-service.ts:85](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/analytics/services/analytics-service.ts#L85)

### getRetentionAnalytics

▸ **getRetentionAnalytics**(`request?`): `Promise`<`RetentionAnalyticsResponseDTO`>

ADMIN: Get monthly user retention analytics

Returns monthly retention data with user metrics and retention rates.
Replaces 13 separate API calls with 1 efficient query.

#### Parameters

| Name | Type |
|  --- | --- |
| `request` | `RetentionAnalyticsRequestDTO` |


#### Returns

`Promise`<`RetentionAnalyticsResponseDTO`>

#### Defined in

[analytics/services/analytics-service.ts:95](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/analytics/services/analytics-service.ts#L95)

### getTagAnalytics

▸ **getTagAnalytics**(`request?`): `Promise`<`TagAnalyticsResponseDTO`>

ADMIN: Get tag usage analytics across entities

Aggregates tag usage across all taggable entities for autocomplete,
tag management dashboards, and usage analytics.

#### Parameters

| Name | Type |
|  --- | --- |
| `request` | `TagAnalyticsRequestDTO` |


#### Returns

`Promise`<`TagAnalyticsResponseDTO`>

#### Defined in

[analytics/services/analytics-service.ts:109](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/analytics/services/analytics-service.ts#L109)