@explorins/pers-shared 2.1.85 → 2.1.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/shared-lib/dto/analytics/retention-analytics.dto.d.ts +16 -5
- package/dist/cjs/shared-lib/dto/analytics/retention-analytics.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/retention-analytics.dto.js +41 -33
- package/dist/cjs/shared-lib/dto/analytics/retention-analytics.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/retention-analytics.dto.d.ts +16 -5
- package/dist/esm/shared-lib/dto/analytics/retention-analytics.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/retention-analytics.dto.js +36 -28
- package/dist/esm/shared-lib/dto/analytics/retention-analytics.dto.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,15 +25,26 @@ export declare class RetentionAnalyticsRequestDTO {
|
|
|
25
25
|
monthsBack?: number;
|
|
26
26
|
filters?: RetentionAnalyticsFiltersDTO;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Retention data for a month offset within a cohort
|
|
30
|
+
* Tracks how many users from the original cohort are still active
|
|
31
|
+
*/
|
|
32
|
+
export declare class CohortRetentionMonthDTO {
|
|
33
|
+
retainedUsers: number;
|
|
34
|
+
retentionRate: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Cohort retention result for a single month
|
|
38
|
+
* Contains the cohort (new users in month) and their retention over subsequent months
|
|
39
|
+
*/
|
|
28
40
|
export declare class RetentionMonthResultDTO {
|
|
29
41
|
monthKey: string;
|
|
30
42
|
startDate: Date;
|
|
31
43
|
endDate: Date;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
transactionCount: number;
|
|
44
|
+
cohortSize: number;
|
|
45
|
+
monthlyRetention: {
|
|
46
|
+
[monthOffset: string]: CohortRetentionMonthDTO;
|
|
47
|
+
};
|
|
37
48
|
byTriggerType?: {
|
|
38
49
|
[key: string]: {
|
|
39
50
|
count: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/retention-analytics.dto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AAIH,qBAAa,4BAA4B;IAQvC,SAAS,CAAC,EAAE,eAAe,CAAC;IAQ5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,qBAAa,4BAA4B;IAOvC,UAAU,CAAC,EAAE,IAAI,CAAC;IAalB,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,OAAO,CAAC,EAAE,4BAA4B,CAAC;CACxC;AAID,qBAAa,uBAAuB;IAKlC,
|
|
1
|
+
{"version":3,"file":"retention-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/retention-analytics.dto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AAIH,qBAAa,4BAA4B;IAQvC,SAAS,CAAC,EAAE,eAAe,CAAC;IAQ5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,qBAAa,4BAA4B;IAOvC,UAAU,CAAC,EAAE,IAAI,CAAC;IAalB,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,OAAO,CAAC,EAAE,4BAA4B,CAAC;CACxC;AAID;;;GAGG;AACH,qBAAa,uBAAuB;IAKlC,aAAa,EAAG,MAAM,CAAC;IAMvB,aAAa,EAAG,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,uBAAuB;IAKlC,QAAQ,EAAG,MAAM,CAAC;IAMlB,SAAS,EAAG,IAAI,CAAC;IAMjB,OAAO,EAAG,IAAI,CAAC;IAMf,UAAU,EAAG,MAAM,CAAC;IAWpB,gBAAgB,EAAG;QACjB,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB,CAAC;KAChD,CAAC;IASF,aAAa,CAAC,EAAE;QACd,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;CACH;AAID,qBAAa,6BAA6B;IAKxC,OAAO,EAAG,uBAAuB,EAAE,CAAC;IAMpC,WAAW,EAAG,MAAM,CAAC;IAMrB,QAAQ,EAAG,qBAAqB,GAAG;QACjC;;WAEG;QACH,iBAAiB,EAAE,gBAAgB,CAAC;KACrC,CAAC;CACH"}
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RetentionAnalyticsResponseDTO = exports.RetentionMonthResultDTO = exports.RetentionAnalyticsRequestDTO = exports.RetentionAnalyticsFiltersDTO = void 0;
|
|
12
|
+
exports.RetentionAnalyticsResponseDTO = exports.RetentionMonthResultDTO = exports.CohortRetentionMonthDTO = exports.RetentionAnalyticsRequestDTO = exports.RetentionAnalyticsFiltersDTO = void 0;
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
14
|
const class_transformer_1 = require("class-transformer");
|
|
15
15
|
const swagger_1 = require("@nestjs/swagger");
|
|
@@ -96,15 +96,39 @@ __decorate([
|
|
|
96
96
|
__metadata("design:type", RetentionAnalyticsFiltersDTO)
|
|
97
97
|
], RetentionAnalyticsRequestDTO.prototype, "filters", void 0);
|
|
98
98
|
// ========== MONTH RESULT ==========
|
|
99
|
+
/**
|
|
100
|
+
* Retention data for a month offset within a cohort
|
|
101
|
+
* Tracks how many users from the original cohort are still active
|
|
102
|
+
*/
|
|
103
|
+
class CohortRetentionMonthDTO {
|
|
104
|
+
retainedUsers;
|
|
105
|
+
retentionRate;
|
|
106
|
+
}
|
|
107
|
+
exports.CohortRetentionMonthDTO = CohortRetentionMonthDTO;
|
|
108
|
+
__decorate([
|
|
109
|
+
(0, swagger_1.ApiProperty)({
|
|
110
|
+
description: 'Number of users from original cohort still active in this month offset',
|
|
111
|
+
example: 85
|
|
112
|
+
}),
|
|
113
|
+
__metadata("design:type", Number)
|
|
114
|
+
], CohortRetentionMonthDTO.prototype, "retainedUsers", void 0);
|
|
115
|
+
__decorate([
|
|
116
|
+
(0, swagger_1.ApiProperty)({
|
|
117
|
+
description: 'Retention rate: (retainedUsers / cohortSize) * 100',
|
|
118
|
+
example: 70.8
|
|
119
|
+
}),
|
|
120
|
+
__metadata("design:type", Number)
|
|
121
|
+
], CohortRetentionMonthDTO.prototype, "retentionRate", void 0);
|
|
122
|
+
/**
|
|
123
|
+
* Cohort retention result for a single month
|
|
124
|
+
* Contains the cohort (new users in month) and their retention over subsequent months
|
|
125
|
+
*/
|
|
99
126
|
class RetentionMonthResultDTO {
|
|
100
127
|
monthKey;
|
|
101
128
|
startDate;
|
|
102
129
|
endDate;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
returningUsers;
|
|
106
|
-
retentionRate;
|
|
107
|
-
transactionCount;
|
|
130
|
+
cohortSize;
|
|
131
|
+
monthlyRetention;
|
|
108
132
|
byTriggerType;
|
|
109
133
|
}
|
|
110
134
|
exports.RetentionMonthResultDTO = RetentionMonthResultDTO;
|
|
@@ -131,39 +155,23 @@ __decorate([
|
|
|
131
155
|
], RetentionMonthResultDTO.prototype, "endDate", void 0);
|
|
132
156
|
__decorate([
|
|
133
157
|
(0, swagger_1.ApiProperty)({
|
|
134
|
-
description: '
|
|
135
|
-
example: 450
|
|
136
|
-
}),
|
|
137
|
-
__metadata("design:type", Number)
|
|
138
|
-
], RetentionMonthResultDTO.prototype, "activeUsers", void 0);
|
|
139
|
-
__decorate([
|
|
140
|
-
(0, swagger_1.ApiProperty)({
|
|
141
|
-
description: 'Number of users making their first transaction ever',
|
|
158
|
+
description: 'Number of users who made their first transaction in this month (cohort size)',
|
|
142
159
|
example: 120
|
|
143
160
|
}),
|
|
144
161
|
__metadata("design:type", Number)
|
|
145
|
-
], RetentionMonthResultDTO.prototype, "
|
|
146
|
-
__decorate([
|
|
147
|
-
(0, swagger_1.ApiProperty)({
|
|
148
|
-
description: 'Number of users who were active in previous month and returned',
|
|
149
|
-
example: 330
|
|
150
|
-
}),
|
|
151
|
-
__metadata("design:type", Number)
|
|
152
|
-
], RetentionMonthResultDTO.prototype, "returningUsers", void 0);
|
|
162
|
+
], RetentionMonthResultDTO.prototype, "cohortSize", void 0);
|
|
153
163
|
__decorate([
|
|
154
164
|
(0, swagger_1.ApiProperty)({
|
|
155
|
-
description: 'Retention
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
description: 'Total number of transactions in this month',
|
|
163
|
-
example: 1250
|
|
165
|
+
description: 'Retention data for this cohort over subsequent months. Key is month offset (0=same month, 1=next month, 2=2 months later, etc.)',
|
|
166
|
+
type: 'object',
|
|
167
|
+
example: {
|
|
168
|
+
'0': { retainedUsers: 120, retentionRate: 100 },
|
|
169
|
+
'1': { retainedUsers: 85, retentionRate: 70.8 },
|
|
170
|
+
'2': { retainedUsers: 65, retentionRate: 54.2 }
|
|
171
|
+
}
|
|
164
172
|
}),
|
|
165
|
-
__metadata("design:type",
|
|
166
|
-
], RetentionMonthResultDTO.prototype, "
|
|
173
|
+
__metadata("design:type", Object)
|
|
174
|
+
], RetentionMonthResultDTO.prototype, "monthlyRetention", void 0);
|
|
167
175
|
__decorate([
|
|
168
176
|
(0, swagger_1.ApiPropertyOptional)({
|
|
169
177
|
description: 'Breakdown of transactions by trigger type',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/retention-analytics.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA8G;AAC9G,yDAAyC;AACzC,6CAAmE;AAEnE,qEAAiE;AAGjE;;;;;;;;;;;;;;;GAeG;AAEH,wCAAwC;AAExC,MAAa,4BAA4B;IAQvC,SAAS,CAAmB;IAQ5B,kBAAkB,CAAU;CAC7B;AAjBD,oEAiBC;AATC;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,oCAAgB;QACtB,OAAO,EAAE,oCAAgB,CAAC,MAAM;KACjC,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,oCAAgB,CAAC;;+DACG;AAQ5B;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,UAAU;KACpB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wEACiB;AAG9B,gCAAgC;AAEhC,MAAa,4BAA4B;IAOvC,UAAU,CAAQ;IAalB,UAAU,CAAU;IASpB,OAAO,CAAgC;CACxC;AA9BD,oEA8BC;AAvBC;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,mEAAmE;QAChF,OAAO,EAAE,sBAAsB;KAChC,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,8BAAY,GAAE;8BACF,IAAI;gEAAC;AAalB;IAXC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACZ,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,qBAAG,EAAC,EAAE,CAAC;;gEACY;AASpB;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,4BAA4B;KACnC,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC;8BAC/B,4BAA4B;6DAAC;AAGzC,qCAAqC;AAErC,MAAa,uBAAuB;IAKlC,
|
|
1
|
+
{"version":3,"file":"retention-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/retention-analytics.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,15 +25,26 @@ export declare class RetentionAnalyticsRequestDTO {
|
|
|
25
25
|
monthsBack?: number;
|
|
26
26
|
filters?: RetentionAnalyticsFiltersDTO;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Retention data for a month offset within a cohort
|
|
30
|
+
* Tracks how many users from the original cohort are still active
|
|
31
|
+
*/
|
|
32
|
+
export declare class CohortRetentionMonthDTO {
|
|
33
|
+
retainedUsers: number;
|
|
34
|
+
retentionRate: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Cohort retention result for a single month
|
|
38
|
+
* Contains the cohort (new users in month) and their retention over subsequent months
|
|
39
|
+
*/
|
|
28
40
|
export declare class RetentionMonthResultDTO {
|
|
29
41
|
monthKey: string;
|
|
30
42
|
startDate: Date;
|
|
31
43
|
endDate: Date;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
transactionCount: number;
|
|
44
|
+
cohortSize: number;
|
|
45
|
+
monthlyRetention: {
|
|
46
|
+
[monthOffset: string]: CohortRetentionMonthDTO;
|
|
47
|
+
};
|
|
37
48
|
byTriggerType?: {
|
|
38
49
|
[key: string]: {
|
|
39
50
|
count: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/retention-analytics.dto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AAIH,qBAAa,4BAA4B;IAQvC,SAAS,CAAC,EAAE,eAAe,CAAC;IAQ5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,qBAAa,4BAA4B;IAOvC,UAAU,CAAC,EAAE,IAAI,CAAC;IAalB,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,OAAO,CAAC,EAAE,4BAA4B,CAAC;CACxC;AAID,qBAAa,uBAAuB;IAKlC,
|
|
1
|
+
{"version":3,"file":"retention-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/retention-analytics.dto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AAIH,qBAAa,4BAA4B;IAQvC,SAAS,CAAC,EAAE,eAAe,CAAC;IAQ5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID,qBAAa,4BAA4B;IAOvC,UAAU,CAAC,EAAE,IAAI,CAAC;IAalB,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,OAAO,CAAC,EAAE,4BAA4B,CAAC;CACxC;AAID;;;GAGG;AACH,qBAAa,uBAAuB;IAKlC,aAAa,EAAG,MAAM,CAAC;IAMvB,aAAa,EAAG,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,uBAAuB;IAKlC,QAAQ,EAAG,MAAM,CAAC;IAMlB,SAAS,EAAG,IAAI,CAAC;IAMjB,OAAO,EAAG,IAAI,CAAC;IAMf,UAAU,EAAG,MAAM,CAAC;IAWpB,gBAAgB,EAAG;QACjB,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB,CAAC;KAChD,CAAC;IASF,aAAa,CAAC,EAAE;QACd,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;CACH;AAID,qBAAa,6BAA6B;IAKxC,OAAO,EAAG,uBAAuB,EAAE,CAAC;IAMpC,WAAW,EAAG,MAAM,CAAC;IAMrB,QAAQ,EAAG,qBAAqB,GAAG;QACjC;;WAEG;QACH,iBAAiB,EAAE,gBAAgB,CAAC;KACrC,CAAC;CACH"}
|
|
@@ -83,15 +83,36 @@ __decorate([
|
|
|
83
83
|
Type(() => RetentionAnalyticsFiltersDTO)
|
|
84
84
|
], RetentionAnalyticsRequestDTO.prototype, "filters", void 0);
|
|
85
85
|
// ========== MONTH RESULT ==========
|
|
86
|
+
/**
|
|
87
|
+
* Retention data for a month offset within a cohort
|
|
88
|
+
* Tracks how many users from the original cohort are still active
|
|
89
|
+
*/
|
|
90
|
+
export class CohortRetentionMonthDTO {
|
|
91
|
+
retainedUsers;
|
|
92
|
+
retentionRate;
|
|
93
|
+
}
|
|
94
|
+
__decorate([
|
|
95
|
+
ApiProperty({
|
|
96
|
+
description: 'Number of users from original cohort still active in this month offset',
|
|
97
|
+
example: 85
|
|
98
|
+
})
|
|
99
|
+
], CohortRetentionMonthDTO.prototype, "retainedUsers", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
ApiProperty({
|
|
102
|
+
description: 'Retention rate: (retainedUsers / cohortSize) * 100',
|
|
103
|
+
example: 70.8
|
|
104
|
+
})
|
|
105
|
+
], CohortRetentionMonthDTO.prototype, "retentionRate", void 0);
|
|
106
|
+
/**
|
|
107
|
+
* Cohort retention result for a single month
|
|
108
|
+
* Contains the cohort (new users in month) and their retention over subsequent months
|
|
109
|
+
*/
|
|
86
110
|
export class RetentionMonthResultDTO {
|
|
87
111
|
monthKey;
|
|
88
112
|
startDate;
|
|
89
113
|
endDate;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
returningUsers;
|
|
93
|
-
retentionRate;
|
|
94
|
-
transactionCount;
|
|
114
|
+
cohortSize;
|
|
115
|
+
monthlyRetention;
|
|
95
116
|
byTriggerType;
|
|
96
117
|
}
|
|
97
118
|
__decorate([
|
|
@@ -114,34 +135,21 @@ __decorate([
|
|
|
114
135
|
], RetentionMonthResultDTO.prototype, "endDate", void 0);
|
|
115
136
|
__decorate([
|
|
116
137
|
ApiProperty({
|
|
117
|
-
description: '
|
|
118
|
-
example: 450
|
|
119
|
-
})
|
|
120
|
-
], RetentionMonthResultDTO.prototype, "activeUsers", void 0);
|
|
121
|
-
__decorate([
|
|
122
|
-
ApiProperty({
|
|
123
|
-
description: 'Number of users making their first transaction ever',
|
|
138
|
+
description: 'Number of users who made their first transaction in this month (cohort size)',
|
|
124
139
|
example: 120
|
|
125
140
|
})
|
|
126
|
-
], RetentionMonthResultDTO.prototype, "
|
|
127
|
-
__decorate([
|
|
128
|
-
ApiProperty({
|
|
129
|
-
description: 'Number of users who were active in previous month and returned',
|
|
130
|
-
example: 330
|
|
131
|
-
})
|
|
132
|
-
], RetentionMonthResultDTO.prototype, "returningUsers", void 0);
|
|
133
|
-
__decorate([
|
|
134
|
-
ApiProperty({
|
|
135
|
-
description: 'Retention rate: (returningUsers / previousMonth.activeUsers) * 100',
|
|
136
|
-
example: 73.3
|
|
137
|
-
})
|
|
138
|
-
], RetentionMonthResultDTO.prototype, "retentionRate", void 0);
|
|
141
|
+
], RetentionMonthResultDTO.prototype, "cohortSize", void 0);
|
|
139
142
|
__decorate([
|
|
140
143
|
ApiProperty({
|
|
141
|
-
description: '
|
|
142
|
-
|
|
144
|
+
description: 'Retention data for this cohort over subsequent months. Key is month offset (0=same month, 1=next month, 2=2 months later, etc.)',
|
|
145
|
+
type: 'object',
|
|
146
|
+
example: {
|
|
147
|
+
'0': { retainedUsers: 120, retentionRate: 100 },
|
|
148
|
+
'1': { retainedUsers: 85, retentionRate: 70.8 },
|
|
149
|
+
'2': { retainedUsers: 65, retentionRate: 54.2 }
|
|
150
|
+
}
|
|
143
151
|
})
|
|
144
|
-
], RetentionMonthResultDTO.prototype, "
|
|
152
|
+
], RetentionMonthResultDTO.prototype, "monthlyRetention", void 0);
|
|
145
153
|
__decorate([
|
|
146
154
|
ApiPropertyOptional({
|
|
147
155
|
description: 'Breakdown of transactions by trigger type',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retention-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/retention-analytics.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE;;;;;;;;;;;;;;;GAeG;AAEH,wCAAwC;AAExC,MAAM,OAAO,4BAA4B;IAQvC,SAAS,CAAmB;IAQ5B,kBAAkB,CAAU;CAC7B;AATC;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,gBAAgB,CAAC,MAAM;KACjC,CAAC;IACD,UAAU,EAAE;IACZ,MAAM,CAAC,gBAAgB,CAAC;+DACG;AAQ5B;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,UAAU;KACpB,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;wEACiB;AAG9B,gCAAgC;AAEhC,MAAM,OAAO,4BAA4B;IAOvC,UAAU,CAAQ;IAalB,UAAU,CAAU;IASpB,OAAO,CAAgC;CACxC;AAvBC;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,mEAAmE;QAChF,OAAO,EAAE,sBAAsB;KAChC,CAAC;IACD,UAAU,EAAE;IACZ,YAAY,EAAE;gEACG;AAalB;IAXC,mBAAmB,CAAC;QACnB,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACZ,CAAC;IACD,UAAU,EAAE;IACZ,KAAK,EAAE;IACP,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,EAAE,CAAC;gEACY;AASpB;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,4BAA4B;KACnC,CAAC;IACD,UAAU,EAAE;IACZ,cAAc,EAAE;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC;6DACF;AAGzC,qCAAqC;AAErC,MAAM,OAAO,uBAAuB;IAKlC,
|
|
1
|
+
{"version":3,"file":"retention-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/retention-analytics.dto.ts"],"names":[],"mappings":"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"}
|