flowgrid-sdk 1.2.1 → 1.4.1
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/README.md +221 -250
- package/dist/237.flowgrid.min.js +2 -0
- package/dist/237.flowgrid.min.js.map +1 -0
- package/dist/546.flowgrid.min.js +3 -0
- package/dist/546.flowgrid.min.js.LICENSE.txt +14 -0
- package/dist/546.flowgrid.min.js.map +1 -0
- package/dist/EXAMPLE.d.ts +1 -0
- package/dist/EXAMPLE.js +55 -0
- package/dist/EXAMPLE.js.map +1 -0
- package/dist/browser.d.ts +46 -103
- package/dist/browser.js +102 -0
- package/dist/browser.js.map +1 -0
- package/dist/flowgrid.min.js +1 -1
- package/dist/flowgrid.min.js.map +1 -1
- package/dist/index.d.ts +7 -8
- package/dist/index.js +64 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/client/transport.d.ts +14 -4
- package/dist/lib/client/transport.js +432 -0
- package/dist/lib/client/transport.js.map +1 -0
- package/dist/lib/consent/index.d.ts +0 -5
- package/dist/lib/consent/index.js +32 -0
- package/dist/lib/consent/index.js.map +1 -0
- package/dist/lib/consent/manager.js +336 -0
- package/dist/lib/consent/manager.js.map +1 -0
- package/dist/lib/consent/types.d.ts +3 -20
- package/dist/lib/consent/types.js +10 -0
- package/dist/lib/consent/types.js.map +1 -0
- package/dist/lib/features/analytics/attribution.d.ts +6 -47
- package/dist/lib/features/analytics/attribution.js +181 -0
- package/dist/lib/features/analytics/attribution.js.map +1 -0
- package/dist/lib/features/analytics/events.d.ts +1 -28
- package/dist/lib/features/analytics/events.js +256 -0
- package/dist/lib/features/analytics/events.js.map +1 -0
- package/dist/lib/features/analytics/funnels.js +260 -0
- package/dist/lib/features/analytics/funnels.js.map +1 -0
- package/dist/lib/features/analytics/heatmaps.d.ts +12 -19
- package/dist/lib/features/analytics/heatmaps.js +258 -0
- package/dist/lib/features/analytics/heatmaps.js.map +1 -0
- package/dist/lib/features/analytics/identify.d.ts +1 -21
- package/dist/lib/features/analytics/identify.js +213 -0
- package/dist/lib/features/analytics/identify.js.map +1 -0
- package/dist/lib/features/analytics/index.d.ts +2 -0
- package/dist/lib/features/analytics/index.js +15 -0
- package/dist/lib/features/analytics/index.js.map +1 -0
- package/dist/lib/features/analytics/page-views.d.ts +13 -30
- package/dist/lib/features/analytics/page-views.js +268 -0
- package/dist/lib/features/analytics/page-views.js.map +1 -0
- package/dist/lib/features/analytics/performance.d.ts +18 -24
- package/dist/lib/features/analytics/performance.js +232 -0
- package/dist/lib/features/analytics/performance.js.map +1 -0
- package/dist/lib/features/analytics/replay.d.ts +170 -0
- package/dist/lib/features/analytics/replay.js +381 -0
- package/dist/lib/features/analytics/replay.js.map +1 -0
- package/dist/lib/features/analytics/retention.d.ts +1 -76
- package/dist/lib/features/analytics/retention.js +135 -0
- package/dist/lib/features/analytics/retention.js.map +1 -0
- package/dist/lib/features/analytics/sessions.d.ts +12 -37
- package/dist/lib/features/analytics/sessions.js +213 -0
- package/dist/lib/features/analytics/sessions.js.map +1 -0
- package/dist/lib/features/core/activation.d.ts +1 -24
- package/dist/lib/features/core/activation.js +175 -0
- package/dist/lib/features/core/activation.js.map +1 -0
- package/dist/lib/features/core/experiment.d.ts +53 -21
- package/dist/lib/features/core/experiment.js +554 -0
- package/dist/lib/features/core/experiment.js.map +1 -0
- package/dist/lib/features/core/index.js +9 -0
- package/dist/lib/features/core/index.js.map +1 -0
- package/dist/lib/features/core/track-feature.d.ts +1 -8
- package/dist/lib/features/core/track-feature.js +119 -0
- package/dist/lib/features/core/track-feature.js.map +1 -0
- package/dist/lib/features/core/track-prompt.d.ts +5 -8
- package/dist/lib/features/core/track-prompt.js +181 -0
- package/dist/lib/features/core/track-prompt.js.map +1 -0
- package/dist/lib/features/ecommerce/cart.d.ts +1 -24
- package/dist/lib/features/ecommerce/cart.js +244 -0
- package/dist/lib/features/ecommerce/cart.js.map +1 -0
- package/dist/lib/features/ecommerce/checkout.d.ts +1 -28
- package/dist/lib/features/ecommerce/checkout.js +254 -0
- package/dist/lib/features/ecommerce/checkout.js.map +1 -0
- package/dist/lib/features/ecommerce/index.d.ts +0 -2
- package/dist/lib/features/ecommerce/index.js +15 -0
- package/dist/lib/features/ecommerce/index.js.map +1 -0
- package/dist/lib/features/ecommerce/ltv.d.ts +1 -69
- package/dist/lib/features/ecommerce/ltv.js +114 -0
- package/dist/lib/features/ecommerce/ltv.js.map +1 -0
- package/dist/lib/features/ecommerce/products.d.ts +1 -33
- package/dist/lib/features/ecommerce/products.js +223 -0
- package/dist/lib/features/ecommerce/products.js.map +1 -0
- package/dist/lib/features/ecommerce/promotions.d.ts +1 -30
- package/dist/lib/features/ecommerce/promotions.js +197 -0
- package/dist/lib/features/ecommerce/promotions.js.map +1 -0
- package/dist/lib/features/ecommerce/purchases.d.ts +1 -48
- package/dist/lib/features/ecommerce/purchases.js +193 -0
- package/dist/lib/features/ecommerce/purchases.js.map +1 -0
- package/dist/lib/features/ecommerce/refunds.d.ts +1 -27
- package/dist/lib/features/ecommerce/refunds.js +195 -0
- package/dist/lib/features/ecommerce/refunds.js.map +1 -0
- package/dist/lib/features/ecommerce/search.d.ts +1 -24
- package/dist/lib/features/ecommerce/search.js +156 -0
- package/dist/lib/features/ecommerce/search.js.map +1 -0
- package/dist/lib/features/ecommerce/subscriptions.d.ts +1 -28
- package/dist/lib/features/ecommerce/subscriptions.js +207 -0
- package/dist/lib/features/ecommerce/subscriptions.js.map +1 -0
- package/dist/lib/features/ecommerce/wishlist.d.ts +1 -28
- package/dist/lib/features/ecommerce/wishlist.js +186 -0
- package/dist/lib/features/ecommerce/wishlist.js.map +1 -0
- package/dist/lib/features/enterprise/acquisition.d.ts +2 -57
- package/dist/lib/features/enterprise/acquisition.js +166 -0
- package/dist/lib/features/enterprise/acquisition.js.map +1 -0
- package/dist/lib/features/enterprise/alerts.d.ts +1 -37
- package/dist/lib/features/enterprise/alerts.js +246 -0
- package/dist/lib/features/enterprise/alerts.js.map +1 -0
- package/dist/lib/features/enterprise/churn.d.ts +1 -42
- package/dist/lib/features/enterprise/churn.js +175 -0
- package/dist/lib/features/enterprise/churn.js.map +1 -0
- package/dist/lib/features/enterprise/cohorts.d.ts +1 -37
- package/dist/lib/features/enterprise/cohorts.js +201 -0
- package/dist/lib/features/enterprise/cohorts.js.map +1 -0
- package/dist/lib/features/enterprise/engagement.d.ts +40 -46
- package/dist/lib/features/enterprise/engagement.js +335 -0
- package/dist/lib/features/enterprise/engagement.js.map +1 -0
- package/dist/lib/features/enterprise/forecasting.d.ts +0 -50
- package/dist/lib/features/enterprise/forecasting.js +232 -0
- package/dist/lib/features/enterprise/forecasting.js.map +1 -0
- package/dist/lib/features/enterprise/index.d.ts +1 -1
- package/dist/lib/features/enterprise/index.js +76 -0
- package/dist/lib/features/enterprise/index.js.map +1 -0
- package/dist/lib/features/enterprise/monetization.d.ts +1 -60
- package/dist/lib/features/enterprise/monetization.js +146 -0
- package/dist/lib/features/enterprise/monetization.js.map +1 -0
- package/dist/lib/features/enterprise/multi-path-funnels.d.ts +1 -17
- package/dist/lib/features/enterprise/multi-path-funnels.js +205 -0
- package/dist/lib/features/enterprise/multi-path-funnels.js.map +1 -0
- package/dist/lib/features/enterprise/paths.d.ts +1 -56
- package/dist/lib/features/enterprise/paths.js +149 -0
- package/dist/lib/features/enterprise/paths.js.map +1 -0
- package/dist/lib/features/enterprise/security.d.ts +8 -57
- package/dist/lib/features/enterprise/security.js +202 -0
- package/dist/lib/features/enterprise/security.js.map +1 -0
- package/dist/lib/features/enterprise/support.d.ts +3 -42
- package/dist/lib/features/enterprise/support.js +162 -0
- package/dist/lib/features/enterprise/support.js.map +1 -0
- package/dist/lib/flowgrid.d.ts +278 -0
- package/dist/lib/flowgrid.js +323 -0
- package/dist/lib/flowgrid.js.map +1 -0
- package/dist/lib/frameworks/index.d.ts +13 -6
- package/dist/lib/frameworks/index.js +18 -0
- package/dist/lib/frameworks/index.js.map +1 -0
- package/dist/lib/frameworks/nextjs/client.js +355 -0
- package/dist/lib/frameworks/nextjs/client.js.map +1 -0
- package/dist/lib/frameworks/nextjs/index.js +31 -0
- package/dist/lib/frameworks/nextjs/index.js.map +1 -0
- package/dist/lib/frameworks/nextjs/server.js +259 -0
- package/dist/lib/frameworks/nextjs/server.js.map +1 -0
- package/dist/lib/frameworks/node/index.js +391 -0
- package/dist/lib/frameworks/node/index.js.map +1 -0
- package/dist/lib/frameworks/nuxt/index.js +288 -0
- package/dist/lib/frameworks/nuxt/index.js.map +1 -0
- package/dist/lib/frameworks/react/CookieBanner.js +166 -0
- package/dist/lib/frameworks/react/CookieBanner.js.map +1 -0
- package/dist/lib/frameworks/react/index.js +271 -0
- package/dist/lib/frameworks/react/index.js.map +1 -0
- package/dist/lib/frameworks/vue/CookieBanner.js +165 -0
- package/dist/lib/frameworks/vue/CookieBanner.js.map +1 -0
- package/dist/lib/frameworks/vue/index.js +390 -0
- package/dist/lib/frameworks/vue/index.js.map +1 -0
- package/dist/lib/tracking/analytics/attribution.d.ts +14 -0
- package/dist/lib/tracking/analytics/attribution.js +18 -0
- package/dist/lib/tracking/analytics/attribution.js.map +1 -0
- package/dist/lib/tracking/analytics/events.d.ts +26 -0
- package/dist/lib/tracking/analytics/events.js +30 -0
- package/dist/lib/tracking/analytics/events.js.map +1 -0
- package/dist/lib/tracking/analytics/funnels.d.ts +16 -0
- package/dist/lib/tracking/analytics/funnels.js +22 -0
- package/dist/lib/tracking/analytics/funnels.js.map +1 -0
- package/dist/lib/tracking/analytics/heatmaps.d.ts +27 -0
- package/dist/lib/tracking/analytics/heatmaps.js +22 -0
- package/dist/lib/tracking/analytics/heatmaps.js.map +1 -0
- package/dist/lib/tracking/analytics/identify.d.ts +16 -0
- package/dist/lib/tracking/analytics/identify.js +22 -0
- package/dist/lib/tracking/analytics/identify.js.map +1 -0
- package/dist/lib/tracking/analytics/index.d.ts +10 -0
- package/dist/lib/tracking/analytics/index.js +11 -0
- package/dist/lib/tracking/analytics/index.js.map +1 -0
- package/dist/lib/tracking/analytics/page-views.d.ts +29 -0
- package/dist/lib/tracking/analytics/page-views.js +50 -0
- package/dist/lib/tracking/analytics/page-views.js.map +1 -0
- package/dist/lib/tracking/analytics/performance.d.ts +22 -0
- package/dist/lib/tracking/analytics/performance.js +22 -0
- package/dist/lib/tracking/analytics/performance.js.map +1 -0
- package/dist/lib/tracking/analytics/replay.d.ts +34 -0
- package/dist/lib/tracking/analytics/replay.js +46 -0
- package/dist/lib/tracking/analytics/replay.js.map +1 -0
- package/dist/lib/tracking/analytics/retention.d.ts +10 -0
- package/dist/lib/tracking/analytics/retention.js +10 -0
- package/dist/lib/tracking/analytics/retention.js.map +1 -0
- package/dist/lib/tracking/analytics/sessions.d.ts +20 -0
- package/dist/lib/tracking/analytics/sessions.js +26 -0
- package/dist/lib/tracking/analytics/sessions.js.map +1 -0
- package/dist/lib/tracking/core/activation.d.ts +23 -0
- package/dist/lib/tracking/core/activation.js +33 -0
- package/dist/lib/tracking/core/activation.js.map +1 -0
- package/dist/lib/tracking/core/experiment.d.ts +122 -0
- package/dist/lib/tracking/core/experiment.js +150 -0
- package/dist/lib/tracking/core/experiment.js.map +1 -0
- package/dist/lib/tracking/core/feature.d.ts +13 -0
- package/dist/lib/tracking/core/feature.js +14 -0
- package/dist/lib/tracking/core/feature.js.map +1 -0
- package/dist/lib/tracking/core/index.d.ts +4 -0
- package/dist/lib/tracking/core/index.js +5 -0
- package/dist/lib/tracking/core/index.js.map +1 -0
- package/dist/lib/tracking/core/prompt.d.ts +18 -0
- package/dist/lib/tracking/core/prompt.js +26 -0
- package/dist/lib/tracking/core/prompt.js.map +1 -0
- package/dist/lib/tracking/ecommerce/cart.d.ts +17 -0
- package/dist/lib/tracking/ecommerce/cart.js +22 -0
- package/dist/lib/tracking/ecommerce/cart.js.map +1 -0
- package/dist/lib/tracking/ecommerce/checkout.d.ts +17 -0
- package/dist/lib/tracking/ecommerce/checkout.js +22 -0
- package/dist/lib/tracking/ecommerce/checkout.js.map +1 -0
- package/dist/lib/tracking/ecommerce/index.d.ts +10 -0
- package/dist/lib/tracking/ecommerce/index.js +11 -0
- package/dist/lib/tracking/ecommerce/index.js.map +1 -0
- package/dist/lib/tracking/ecommerce/ltv.d.ts +15 -0
- package/dist/lib/tracking/ecommerce/ltv.js +14 -0
- package/dist/lib/tracking/ecommerce/ltv.js.map +1 -0
- package/dist/lib/tracking/ecommerce/products.d.ts +15 -0
- package/dist/lib/tracking/ecommerce/products.js +18 -0
- package/dist/lib/tracking/ecommerce/products.js.map +1 -0
- package/dist/lib/tracking/ecommerce/promotions.d.ts +14 -0
- package/dist/lib/tracking/ecommerce/promotions.js +25 -0
- package/dist/lib/tracking/ecommerce/promotions.js.map +1 -0
- package/dist/lib/tracking/ecommerce/purchases.d.ts +11 -0
- package/dist/lib/tracking/ecommerce/purchases.js +10 -0
- package/dist/lib/tracking/ecommerce/purchases.js.map +1 -0
- package/dist/lib/tracking/ecommerce/refunds.d.ts +17 -0
- package/dist/lib/tracking/ecommerce/refunds.js +22 -0
- package/dist/lib/tracking/ecommerce/refunds.js.map +1 -0
- package/dist/lib/tracking/ecommerce/search.d.ts +24 -0
- package/dist/lib/tracking/ecommerce/search.js +22 -0
- package/dist/lib/tracking/ecommerce/search.js.map +1 -0
- package/dist/lib/tracking/ecommerce/subscriptions.d.ts +21 -0
- package/dist/lib/tracking/ecommerce/subscriptions.js +38 -0
- package/dist/lib/tracking/ecommerce/subscriptions.js.map +1 -0
- package/dist/lib/tracking/ecommerce/wishlist.d.ts +19 -0
- package/dist/lib/tracking/ecommerce/wishlist.js +26 -0
- package/dist/lib/tracking/ecommerce/wishlist.js.map +1 -0
- package/dist/lib/tracking/enterprise/acquisition.d.ts +25 -0
- package/dist/lib/tracking/enterprise/acquisition.js +22 -0
- package/dist/lib/tracking/enterprise/acquisition.js.map +1 -0
- package/dist/lib/tracking/enterprise/alerts.d.ts +32 -0
- package/dist/lib/tracking/enterprise/alerts.js +30 -0
- package/dist/lib/tracking/enterprise/alerts.js.map +1 -0
- package/dist/lib/tracking/enterprise/churn.d.ts +23 -0
- package/dist/lib/tracking/enterprise/churn.js +22 -0
- package/dist/lib/tracking/enterprise/churn.js.map +1 -0
- package/dist/lib/tracking/enterprise/cohorts.d.ts +18 -0
- package/dist/lib/tracking/enterprise/cohorts.js +18 -0
- package/dist/lib/tracking/enterprise/cohorts.js.map +1 -0
- package/dist/lib/tracking/enterprise/engagement.d.ts +31 -0
- package/dist/lib/tracking/enterprise/engagement.js +44 -0
- package/dist/lib/tracking/enterprise/engagement.js.map +1 -0
- package/dist/lib/tracking/enterprise/forecasting.d.ts +18 -0
- package/dist/lib/tracking/enterprise/forecasting.js +22 -0
- package/dist/lib/tracking/enterprise/forecasting.js.map +1 -0
- package/dist/lib/tracking/enterprise/index.d.ts +11 -0
- package/dist/lib/tracking/enterprise/index.js +12 -0
- package/dist/lib/tracking/enterprise/index.js.map +1 -0
- package/dist/lib/tracking/enterprise/monetization.d.ts +14 -0
- package/dist/lib/tracking/enterprise/monetization.js +10 -0
- package/dist/lib/tracking/enterprise/monetization.js.map +1 -0
- package/dist/lib/tracking/enterprise/multi-path-funnels.d.ts +20 -0
- package/dist/lib/tracking/enterprise/multi-path-funnels.js +18 -0
- package/dist/lib/tracking/enterprise/multi-path-funnels.js.map +1 -0
- package/dist/lib/tracking/enterprise/paths.d.ts +20 -0
- package/dist/lib/tracking/enterprise/paths.js +18 -0
- package/dist/lib/tracking/enterprise/paths.js.map +1 -0
- package/dist/lib/tracking/enterprise/security.d.ts +28 -0
- package/dist/lib/tracking/enterprise/security.js +26 -0
- package/dist/lib/tracking/enterprise/security.js.map +1 -0
- package/dist/lib/tracking/enterprise/support.d.ts +25 -0
- package/dist/lib/tracking/enterprise/support.js +22 -0
- package/dist/lib/tracking/enterprise/support.js.map +1 -0
- package/dist/lib/tracking/index.d.ts +4 -0
- package/dist/lib/tracking/index.js +5 -0
- package/dist/lib/tracking/index.js.map +1 -0
- package/dist/lib/types/analytics.d.ts +10 -2
- package/dist/lib/types/analytics.js +6 -0
- package/dist/lib/types/analytics.js.map +1 -0
- package/dist/lib/types/common.js +6 -0
- package/dist/lib/types/common.js.map +1 -0
- package/dist/lib/types/ecommerce.js +6 -0
- package/dist/lib/types/ecommerce.js.map +1 -0
- package/dist/lib/types/index.js +8 -0
- package/dist/lib/types/index.js.map +1 -0
- package/dist/lib/utils/browser.d.ts +16 -0
- package/dist/lib/utils/browser.js +32 -0
- package/dist/lib/utils/browser.js.map +1 -0
- package/dist/lib/utils/identity.js +346 -0
- package/dist/lib/utils/identity.js.map +1 -0
- package/dist/lib/utils/storage.js +105 -0
- package/dist/lib/utils/storage.js.map +1 -0
- package/dist/umd/237.index.js +2 -0
- package/dist/umd/237.index.js.map +1 -0
- package/dist/umd/546.index.js +3 -0
- package/dist/umd/546.index.js.LICENSE.txt +14 -0
- package/dist/umd/546.index.js.map +1 -0
- package/dist/umd/index.js +2 -0
- package/dist/umd/index.js.map +1 -0
- package/package.json +27 -80
- package/dist/lib/features/ecommerce/inventory.d.ts +0 -219
|
@@ -290,10 +290,6 @@ export declare class Forecasting extends FlowGridTransport {
|
|
|
290
290
|
* Forecast signups.
|
|
291
291
|
*/
|
|
292
292
|
forecastSignups(config: ForecastConfig): Promise<ForecastResult>;
|
|
293
|
-
/**
|
|
294
|
-
* Get capacity planning forecast.
|
|
295
|
-
*/
|
|
296
|
-
getCapacityPlanning(config: CapacityPlanningConfig): Promise<CapacityPlanningResult>;
|
|
297
293
|
/**
|
|
298
294
|
* Compare forecast scenarios.
|
|
299
295
|
*/
|
|
@@ -302,50 +298,4 @@ export declare class Forecasting extends FlowGridTransport {
|
|
|
302
298
|
* Forecast custom metric.
|
|
303
299
|
*/
|
|
304
300
|
forecastCustomMetric(metricName: string, config: Omit<ForecastConfig, 'metric' | 'customMetricName'>): Promise<ForecastResult>;
|
|
305
|
-
/**
|
|
306
|
-
* Get forecast accuracy report.
|
|
307
|
-
*/
|
|
308
|
-
getForecastAccuracy(metric: ForecastMetric, lookbackPeriods: number): Promise<{
|
|
309
|
-
metric: ForecastMetric;
|
|
310
|
-
periods: Array<{
|
|
311
|
-
period: string;
|
|
312
|
-
predicted: number;
|
|
313
|
-
actual: number;
|
|
314
|
-
error: number;
|
|
315
|
-
errorPercent: number;
|
|
316
|
-
}>;
|
|
317
|
-
overallAccuracy: {
|
|
318
|
-
mape: number;
|
|
319
|
-
rmse: number;
|
|
320
|
-
r2: number;
|
|
321
|
-
};
|
|
322
|
-
}>;
|
|
323
|
-
/**
|
|
324
|
-
* Get growth projections.
|
|
325
|
-
*/
|
|
326
|
-
getGrowthProjections(periods: number, granularity: TimeGranularity): Promise<{
|
|
327
|
-
users: ForecastResult;
|
|
328
|
-
revenue: ForecastResult;
|
|
329
|
-
engagement: ForecastResult;
|
|
330
|
-
summary: {
|
|
331
|
-
projectedUsersEnd: number;
|
|
332
|
-
projectedRevenueEnd: MoneyValue;
|
|
333
|
-
avgMonthlyGrowth: number;
|
|
334
|
-
};
|
|
335
|
-
}>;
|
|
336
|
-
/**
|
|
337
|
-
* Get what-if analysis.
|
|
338
|
-
*/
|
|
339
|
-
getWhatIfAnalysis(baseMetric: ForecastMetric, adjustments: Array<{
|
|
340
|
-
factor: string;
|
|
341
|
-
change: number;
|
|
342
|
-
}>, periods: number): Promise<{
|
|
343
|
-
baseline: ForecastResult;
|
|
344
|
-
adjusted: ForecastResult;
|
|
345
|
-
impact: {
|
|
346
|
-
absoluteDiff: number;
|
|
347
|
-
percentDiff: number;
|
|
348
|
-
sensitivityScore: number;
|
|
349
|
-
};
|
|
350
|
-
}>;
|
|
351
301
|
}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Enterprise - Product Usage Forecasting
|
|
3
|
+
* @module features/enterprise/forecasting
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Predict usage, adoption, and revenue trends using historical data
|
|
7
|
+
* and machine learning models.
|
|
8
|
+
*
|
|
9
|
+
* @useCases
|
|
10
|
+
* - Project active user growth
|
|
11
|
+
* - Forecast feature adoption
|
|
12
|
+
* - Predict churn and revenue
|
|
13
|
+
* - Capacity planning
|
|
14
|
+
* - Trend analysis
|
|
15
|
+
*
|
|
16
|
+
* @metrics
|
|
17
|
+
* - Predicted DAU/MAU
|
|
18
|
+
* - Feature adoption forecast
|
|
19
|
+
* - Revenue projection
|
|
20
|
+
* - Churn prediction
|
|
21
|
+
* - Forecast accuracy
|
|
22
|
+
*
|
|
23
|
+
* @chartData
|
|
24
|
+
* - Line chart: Forecast with confidence
|
|
25
|
+
* - Area chart: Prediction range
|
|
26
|
+
* - Comparison: Predicted vs actual
|
|
27
|
+
* - Table: Forecast metrics
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const forecasting = new Forecasting(webId, endpoint, apiKey);
|
|
32
|
+
*
|
|
33
|
+
* // Get user growth forecast
|
|
34
|
+
* const forecast = await forecasting.forecastActiveUsers({
|
|
35
|
+
* metric: 'dau',
|
|
36
|
+
* periods: 30,
|
|
37
|
+
* granularity: 'day'
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
import { FlowGridTransport } from "../../client/transport";
|
|
42
|
+
// ============================================================================
|
|
43
|
+
// HELPER FUNCTIONS
|
|
44
|
+
// ============================================================================
|
|
45
|
+
/**
|
|
46
|
+
* Calculate MAPE (Mean Absolute Percentage Error).
|
|
47
|
+
*/
|
|
48
|
+
export function calculateMAPE(actual, predicted) {
|
|
49
|
+
if (actual.length !== predicted.length || actual.length === 0)
|
|
50
|
+
return 0;
|
|
51
|
+
let sum = 0;
|
|
52
|
+
let count = 0;
|
|
53
|
+
for (let i = 0; i < actual.length; i++) {
|
|
54
|
+
if (actual[i] !== 0) {
|
|
55
|
+
sum += Math.abs((actual[i] - predicted[i]) / actual[i]);
|
|
56
|
+
count++;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return count > 0 ? Math.round((sum / count) * 10000) / 100 : 0;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Calculate RMSE (Root Mean Square Error).
|
|
63
|
+
*/
|
|
64
|
+
export function calculateRMSE(actual, predicted) {
|
|
65
|
+
if (actual.length !== predicted.length || actual.length === 0)
|
|
66
|
+
return 0;
|
|
67
|
+
let sumSquaredError = 0;
|
|
68
|
+
for (let i = 0; i < actual.length; i++) {
|
|
69
|
+
sumSquaredError += Math.pow(actual[i] - predicted[i], 2);
|
|
70
|
+
}
|
|
71
|
+
return Math.round(Math.sqrt(sumSquaredError / actual.length) * 100) / 100;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Calculate R-squared.
|
|
75
|
+
*/
|
|
76
|
+
export function calculateR2(actual, predicted) {
|
|
77
|
+
if (actual.length !== predicted.length || actual.length === 0)
|
|
78
|
+
return 0;
|
|
79
|
+
const mean = actual.reduce((a, b) => a + b, 0) / actual.length;
|
|
80
|
+
let ssRes = 0;
|
|
81
|
+
let ssTot = 0;
|
|
82
|
+
for (let i = 0; i < actual.length; i++) {
|
|
83
|
+
ssRes += Math.pow(actual[i] - predicted[i], 2);
|
|
84
|
+
ssTot += Math.pow(actual[i] - mean, 2);
|
|
85
|
+
}
|
|
86
|
+
return ssTot !== 0 ? Math.round((1 - ssRes / ssTot) * 10000) / 10000 : 0;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Classify trend direction.
|
|
90
|
+
*/
|
|
91
|
+
export function classifyTrend(startValue, endValue, threshold = 5) {
|
|
92
|
+
if (startValue === 0)
|
|
93
|
+
return endValue > 0 ? 'growing' : 'stable';
|
|
94
|
+
const changePercent = ((endValue - startValue) / startValue) * 100;
|
|
95
|
+
if (changePercent > threshold)
|
|
96
|
+
return 'growing';
|
|
97
|
+
if (changePercent < -threshold)
|
|
98
|
+
return 'declining';
|
|
99
|
+
return 'stable';
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Calculate average growth rate.
|
|
103
|
+
*/
|
|
104
|
+
export function calculateAvgGrowthRate(values) {
|
|
105
|
+
if (values.length < 2)
|
|
106
|
+
return 0;
|
|
107
|
+
let totalGrowth = 0;
|
|
108
|
+
let count = 0;
|
|
109
|
+
for (let i = 1; i < values.length; i++) {
|
|
110
|
+
if (values[i - 1] !== 0) {
|
|
111
|
+
totalGrowth += (values[i] - values[i - 1]) / values[i - 1];
|
|
112
|
+
count++;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return count > 0 ? Math.round((totalGrowth / count) * 10000) / 100 : 0;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Apply confidence interval.
|
|
119
|
+
*/
|
|
120
|
+
export function applyConfidenceInterval(predicted, stdError, confidenceLevel = 0.95) {
|
|
121
|
+
// Z-score for common confidence levels
|
|
122
|
+
const zScores = {
|
|
123
|
+
0.90: 1.645,
|
|
124
|
+
0.95: 1.96,
|
|
125
|
+
0.99: 2.576
|
|
126
|
+
};
|
|
127
|
+
const z = zScores[confidenceLevel] ?? 1.96;
|
|
128
|
+
const margin = z * stdError;
|
|
129
|
+
return {
|
|
130
|
+
lower: Math.max(0, predicted - margin),
|
|
131
|
+
upper: predicted + margin
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
// ============================================================================
|
|
135
|
+
// MAIN CLASS
|
|
136
|
+
// ============================================================================
|
|
137
|
+
/**
|
|
138
|
+
* Product usage forecasting class.
|
|
139
|
+
*/
|
|
140
|
+
export class Forecasting extends FlowGridTransport {
|
|
141
|
+
/**
|
|
142
|
+
* Forecast active users.
|
|
143
|
+
*/
|
|
144
|
+
async forecastActiveUsers(config) {
|
|
145
|
+
return await this.initFeature("forecasting.active_users", {
|
|
146
|
+
type: "forecasting",
|
|
147
|
+
...config,
|
|
148
|
+
model: config.model ?? 'ensemble',
|
|
149
|
+
includeConfidence: config.includeConfidence ?? true,
|
|
150
|
+
timestamp: new Date().toISOString()
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Forecast revenue.
|
|
155
|
+
*/
|
|
156
|
+
async forecastRevenue(config) {
|
|
157
|
+
return await this.initFeature("forecasting.revenue", {
|
|
158
|
+
type: "forecasting",
|
|
159
|
+
...config,
|
|
160
|
+
metric: 'revenue',
|
|
161
|
+
currency: config.currency ?? 'USD',
|
|
162
|
+
timestamp: new Date().toISOString()
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Forecast MRR.
|
|
167
|
+
*/
|
|
168
|
+
async forecastMRR(config) {
|
|
169
|
+
return await this.initFeature("forecasting.mrr", {
|
|
170
|
+
type: "forecasting",
|
|
171
|
+
...config,
|
|
172
|
+
metric: 'mrr',
|
|
173
|
+
timestamp: new Date().toISOString()
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Forecast feature adoption.
|
|
178
|
+
*/
|
|
179
|
+
async forecastFeatureAdoption(config) {
|
|
180
|
+
return await this.initFeature("forecasting.feature_adoption", {
|
|
181
|
+
type: "forecasting",
|
|
182
|
+
...config,
|
|
183
|
+
metric: 'feature_usage',
|
|
184
|
+
timestamp: new Date().toISOString()
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Forecast churn.
|
|
189
|
+
*/
|
|
190
|
+
async forecastChurn(config) {
|
|
191
|
+
return await this.initFeature("forecasting.churn", {
|
|
192
|
+
type: "forecasting",
|
|
193
|
+
...config,
|
|
194
|
+
metric: 'churn_rate',
|
|
195
|
+
timestamp: new Date().toISOString()
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Forecast signups.
|
|
200
|
+
*/
|
|
201
|
+
async forecastSignups(config) {
|
|
202
|
+
return await this.initFeature("forecasting.signups", {
|
|
203
|
+
type: "forecasting",
|
|
204
|
+
...config,
|
|
205
|
+
metric: 'signups',
|
|
206
|
+
timestamp: new Date().toISOString()
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Compare forecast scenarios.
|
|
211
|
+
*/
|
|
212
|
+
async compareScenarios(config) {
|
|
213
|
+
return await this.initFeature("forecasting.scenarios", {
|
|
214
|
+
type: "forecasting",
|
|
215
|
+
...config,
|
|
216
|
+
timestamp: new Date().toISOString()
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Forecast custom metric.
|
|
221
|
+
*/
|
|
222
|
+
async forecastCustomMetric(metricName, config) {
|
|
223
|
+
return await this.initFeature("forecasting.custom", {
|
|
224
|
+
type: "forecasting",
|
|
225
|
+
...config,
|
|
226
|
+
metric: 'custom',
|
|
227
|
+
customMetricName: metricName,
|
|
228
|
+
timestamp: new Date().toISOString()
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=forecasting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forecasting.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/forecasting.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,5 +16,5 @@ export { SupportAnalytics, type TicketPriority, type TicketStatus, type SupportC
|
|
|
16
16
|
export { AcquisitionAnalytics, type AcquisitionSource, type LifecycleStage, type AcquisitionConfig, type CampaignDefinition, type CampaignSpendConfig, type LifecycleTransitionConfig, type CACConfig, type CACResult, type TrialFunnelConfig, type TrialFunnelResult, type CampaignPerformance, type AttributionModel, type AttributionAnalysisConfig, type AttributionResult, type AcquisitionAnalytics as AcquisitionAnalyticsType, calculateCAC, calculateROAS, calculateLTVCACRatio, parseUTMParams, classifySource } from './acquisition';
|
|
17
17
|
export { PathAnalytics, type TransitionConfig, type FeatureSequenceConfig, type PathDefinition, type PathAnalysisConfig, type PathResult, type DeadEndScreen, type TransitionMatrix, type UserJourneyConfig as PathUserJourneyConfig, type UserJourney as PathUserJourney, type FrictionPoint, type PathComparison, pathToString, stringToPath, calculateExitRate, isDeadEnd, calculatePathSimilarity, findCommonSubPaths } from './paths';
|
|
18
18
|
export { AlertsAnalytics, type AlertCondition, type AlertSeverity, type AlertStatus, type NotificationChannel, type AlertRuleDefinition, type AlertInstance, type AnomalyDetectionConfig, type Anomaly, type NotificationConfig, type AlertAnalyticsFilter, type AlertAnalytics, calculateStdDev, calculateZScore, isAnomaly, calculateAnomalyScore, classifySeverity, checkAlertCondition } from './alerts';
|
|
19
|
-
export { SecurityAnalytics, type SecurityEventType, type ComplianceEventType, type LoginAttemptConfig, type RoleChangeConfig, type PermissionChangeConfig, type DataAccessConfig, type ComplianceEventConfig, type AuditLogEntry, type SecurityAnalyticsFilter, type SecurityRiskAssessment, type
|
|
19
|
+
export { SecurityAnalytics, type SecurityEventType, type ComplianceEventType, type LoginAttemptConfig, type RoleChangeConfig, type PermissionChangeConfig, type DataAccessConfig, type ComplianceEventConfig, type AuditLogEntry, type SecurityAnalyticsFilter, type SecurityRiskAssessment, type SecurityAnalyticsResult as SecurityAnalyticsType, type ComplianceReport, classifyRiskLevel as classifySecurityRiskLevel, calculateFailedLoginRate, isSuspiciousLoginPattern, determineEventSeverity } from './security';
|
|
20
20
|
export { Forecasting, type ForecastModel, type ForecastMetric, type ForecastConfig, type ForecastDataPoint, type ForecastResult, type RevenueForecastConfig as ForecastingRevenueForecastConfig, type RevenueForecastResult, type FeatureAdoptionForecastConfig, type ChurnForecastConfig, type ChurnForecastResult, type CapacityPlanningConfig, type CapacityPlanningResult, type ScenarioConfig, type ScenarioComparison, calculateMAPE, calculateRMSE, calculateR2, classifyTrend, calculateAvgGrowthRate, applyConfidenceInterval } from './forecasting';
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Enterprise Features Module
|
|
3
|
+
* @module features/enterprise
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Advanced analytics features for enterprise-tier users.
|
|
7
|
+
* Includes engagement, cohorts, churn, monetization, funnels,
|
|
8
|
+
* support, acquisition, path analysis, alerts, security, and forecasting.
|
|
9
|
+
*/
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// ENGAGEMENT
|
|
12
|
+
// ============================================================================
|
|
13
|
+
export { Engagement,
|
|
14
|
+
// Helper functions
|
|
15
|
+
calculateEngagementScore, classifyEngagementLevel, calculateSessionDepthScore } from './engagement';
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// COHORTS & SEGMENTATION
|
|
18
|
+
// ============================================================================
|
|
19
|
+
export { Cohorts,
|
|
20
|
+
// Helper functions
|
|
21
|
+
evaluateCohortRules, generateCohortId } from './cohorts';
|
|
22
|
+
// ============================================================================
|
|
23
|
+
// CHURN & PREDICTIVE ANALYTICS
|
|
24
|
+
// ============================================================================
|
|
25
|
+
export { ChurnAnalytics,
|
|
26
|
+
// Helper functions
|
|
27
|
+
calculateChurnRiskScore, classifyRiskLevel, generateRecommendations } from './churn';
|
|
28
|
+
// ============================================================================
|
|
29
|
+
// MONETIZATION
|
|
30
|
+
// ============================================================================
|
|
31
|
+
export { Monetization,
|
|
32
|
+
// Helper functions
|
|
33
|
+
calculateARPU, calculateNRR, calculateGRR, monthlyToAnnual, calculateLTV } from './monetization';
|
|
34
|
+
// ============================================================================
|
|
35
|
+
// MULTI-PATH FUNNELS & MICRO-CONVERSIONS
|
|
36
|
+
// ============================================================================
|
|
37
|
+
export { MultiPathFunnels,
|
|
38
|
+
// Helper functions
|
|
39
|
+
calculateConversionRate, calculateDropOffRate, findBestPath, calculateMicroConversionScore, generatePathId } from './multi-path-funnels';
|
|
40
|
+
// ============================================================================
|
|
41
|
+
// SUPPORT & EXPERIENCE
|
|
42
|
+
// ============================================================================
|
|
43
|
+
export { SupportAnalytics,
|
|
44
|
+
// Helper functions
|
|
45
|
+
calculateFCRRate, calculateAvgResponseTime, classifyCSAT, formatDuration } from './support';
|
|
46
|
+
// ============================================================================
|
|
47
|
+
// ACQUISITION & MARKETING
|
|
48
|
+
// ============================================================================
|
|
49
|
+
export { AcquisitionAnalytics,
|
|
50
|
+
// Helper functions
|
|
51
|
+
calculateCAC, calculateROAS, calculateLTVCACRatio, parseUTMParams, classifySource } from './acquisition';
|
|
52
|
+
// ============================================================================
|
|
53
|
+
// PATH & BEHAVIORAL ANALYSIS
|
|
54
|
+
// ============================================================================
|
|
55
|
+
export { PathAnalytics,
|
|
56
|
+
// Helper functions
|
|
57
|
+
pathToString, stringToPath, calculateExitRate, isDeadEnd, calculatePathSimilarity, findCommonSubPaths } from './paths';
|
|
58
|
+
// ============================================================================
|
|
59
|
+
// ALERTS & ANOMALY DETECTION
|
|
60
|
+
// ============================================================================
|
|
61
|
+
export { AlertsAnalytics,
|
|
62
|
+
// Helper functions
|
|
63
|
+
calculateStdDev, calculateZScore, isAnomaly, calculateAnomalyScore, classifySeverity, checkAlertCondition } from './alerts';
|
|
64
|
+
// ============================================================================
|
|
65
|
+
// SECURITY & COMPLIANCE
|
|
66
|
+
// ============================================================================
|
|
67
|
+
export { SecurityAnalytics,
|
|
68
|
+
// Helper functions
|
|
69
|
+
classifyRiskLevel as classifySecurityRiskLevel, calculateFailedLoginRate, isSuspiciousLoginPattern, determineEventSeverity } from './security';
|
|
70
|
+
// ============================================================================
|
|
71
|
+
// FORECASTING
|
|
72
|
+
// ============================================================================
|
|
73
|
+
export { Forecasting,
|
|
74
|
+
// Helper functions
|
|
75
|
+
calculateMAPE, calculateRMSE, calculateR2, classifyTrend, calculateAvgGrowthRate, applyConfidenceInterval } from './forecasting';
|
|
76
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAC/E,OAAO,EACL,UAAU;AAWV,mBAAmB;AACnB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AAEtB,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAC/E,OAAO,EACL,OAAO;AAcP,mBAAmB;AACnB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,WAAW,CAAC;AAEnB,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAC/E,OAAO,EACL,cAAc;AAWd,mBAAmB;AACnB,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAC/E,OAAO,EACL,YAAY;AAiBZ,mBAAmB;AACnB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,+EAA+E;AAC/E,yCAAyC;AACzC,+EAA+E;AAC/E,OAAO,EACL,gBAAgB;AAchB,mBAAmB;AACnB,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,6BAA6B,EAC7B,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAC/E,OAAO,EACL,gBAAgB;AAchB,mBAAmB;AACnB,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACf,MAAM,WAAW,CAAC;AAEnB,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAC/E,OAAO,EACL,oBAAoB;AAiBpB,mBAAmB;AACnB,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,cAAc,EACf,MAAM,eAAe,CAAC;AAEvB,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAC/E,OAAO,EACL,aAAa;AAab,mBAAmB;AACnB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAC/E,OAAO,EACL,eAAe;AAaf,mBAAmB;AACnB,eAAe,EACf,eAAe,EACf,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAC/E,OAAO,EACL,iBAAiB;AAcjB,mBAAmB;AACnB,iBAAiB,IAAI,yBAAyB,EAC9C,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAC/E,OAAO,EACL,WAAW;AAgBX,mBAAmB;AACnB,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,eAAe,CAAC"}
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
* ```
|
|
45
45
|
*/
|
|
46
46
|
import { FlowGridTransport } from "../../client/transport";
|
|
47
|
-
import { DateRangeFilter, TimeSeriesData,
|
|
47
|
+
import { DateRangeFilter, TimeSeriesData, MoneyValue, CurrencyCode } from "../../types";
|
|
48
48
|
/**
|
|
49
49
|
* Revenue event types.
|
|
50
50
|
*/
|
|
@@ -294,63 +294,4 @@ export declare class Monetization extends FlowGridTransport {
|
|
|
294
294
|
trackContraction(userId: string, fromPlan: string, toPlan: string, reducedRevenue: MoneyValue): Promise<{
|
|
295
295
|
tracked: boolean;
|
|
296
296
|
}>;
|
|
297
|
-
/**
|
|
298
|
-
* Get ARPU.
|
|
299
|
-
*/
|
|
300
|
-
getARPU(config?: ARPUConfig): Promise<ARPUResult>;
|
|
301
|
-
/**
|
|
302
|
-
* Get ARPU by segment.
|
|
303
|
-
*/
|
|
304
|
-
getARPUBySegment(segmentAttribute: string, filter?: DateRangeFilter): Promise<Array<{
|
|
305
|
-
segment: string;
|
|
306
|
-
arpu: MoneyValue;
|
|
307
|
-
userCount: number;
|
|
308
|
-
}>>;
|
|
309
|
-
/**
|
|
310
|
-
* Get cohort revenue analysis.
|
|
311
|
-
*/
|
|
312
|
-
getCohortRevenue(config: CohortRevenueConfig): Promise<CohortRevenueResult>;
|
|
313
|
-
/**
|
|
314
|
-
* Get plan analysis.
|
|
315
|
-
*/
|
|
316
|
-
getPlanAnalysis(config?: PlanAnalysisConfig): Promise<PlanAnalysis[]>;
|
|
317
|
-
/**
|
|
318
|
-
* Get revenue breakdown.
|
|
319
|
-
*/
|
|
320
|
-
getRevenueBreakdown(config: RevenueBreakdownConfig): Promise<RevenueBreakdown>;
|
|
321
|
-
/**
|
|
322
|
-
* Get Net Revenue Retention.
|
|
323
|
-
*/
|
|
324
|
-
getNRR(config?: NRRConfig): Promise<NRRResult>;
|
|
325
|
-
/**
|
|
326
|
-
* Get MRR.
|
|
327
|
-
*/
|
|
328
|
-
getMRR(filter?: DateRangeFilter): Promise<MoneyValue>;
|
|
329
|
-
/**
|
|
330
|
-
* Get ARR.
|
|
331
|
-
*/
|
|
332
|
-
getARR(filter?: DateRangeFilter): Promise<MoneyValue>;
|
|
333
|
-
/**
|
|
334
|
-
* Get revenue forecast.
|
|
335
|
-
*/
|
|
336
|
-
getRevenueForecast(config: RevenueForecastConfig): Promise<RevenueForecast>;
|
|
337
|
-
/**
|
|
338
|
-
* Get monetization analytics.
|
|
339
|
-
*/
|
|
340
|
-
getAnalytics(filter?: DateRangeFilter): Promise<MonetizationAnalytics>;
|
|
341
|
-
/**
|
|
342
|
-
* Get revenue trend.
|
|
343
|
-
*/
|
|
344
|
-
getRevenueTrend(filter?: DateRangeFilter, granularity?: TimeGranularity): Promise<TimeSeriesData>;
|
|
345
|
-
/**
|
|
346
|
-
* Get MRR movement (waterfall).
|
|
347
|
-
*/
|
|
348
|
-
getMRRMovement(filter?: DateRangeFilter): Promise<{
|
|
349
|
-
starting: MoneyValue;
|
|
350
|
-
newBusiness: MoneyValue;
|
|
351
|
-
expansion: MoneyValue;
|
|
352
|
-
contraction: MoneyValue;
|
|
353
|
-
churn: MoneyValue;
|
|
354
|
-
ending: MoneyValue;
|
|
355
|
-
}>;
|
|
356
297
|
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Enterprise - Revenue & Monetization Analytics
|
|
3
|
+
* @module features/enterprise/monetization
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Track detailed revenue and monetization KPIs including ARPU,
|
|
7
|
+
* cohort-based revenue, and pricing plan impact analysis.
|
|
8
|
+
*
|
|
9
|
+
* @useCases
|
|
10
|
+
* - Calculate ARPU/ARPA per segment
|
|
11
|
+
* - Track cohort-based revenue
|
|
12
|
+
* - Analyze pricing plan impact
|
|
13
|
+
* - Revenue forecasting
|
|
14
|
+
* - Expansion revenue tracking
|
|
15
|
+
*
|
|
16
|
+
* @metrics
|
|
17
|
+
* - ARPU (Average Revenue Per User)
|
|
18
|
+
* - ARPA (Average Revenue Per Account)
|
|
19
|
+
* - Revenue by cohort
|
|
20
|
+
* - Revenue by plan
|
|
21
|
+
* - Expansion revenue
|
|
22
|
+
* - Net Revenue Retention
|
|
23
|
+
*
|
|
24
|
+
* @chartData
|
|
25
|
+
* - Line chart: Revenue over time
|
|
26
|
+
* - Bar chart: Revenue by segment
|
|
27
|
+
* - Waterfall: Revenue movement
|
|
28
|
+
* - Cohort: Revenue retention
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const monetization = new Monetization(webId, endpoint, apiKey);
|
|
33
|
+
*
|
|
34
|
+
* // Get ARPU by segment
|
|
35
|
+
* const arpu = await monetization.getARPU({ segment: 'enterprise' });
|
|
36
|
+
*
|
|
37
|
+
* // Track revenue event
|
|
38
|
+
* await monetization.trackRevenue({
|
|
39
|
+
* userId: 'user_123',
|
|
40
|
+
* amount: 99.00,
|
|
41
|
+
* currency: 'USD',
|
|
42
|
+
* type: 'subscription'
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
import { FlowGridTransport } from "../../client/transport";
|
|
47
|
+
// ============================================================================
|
|
48
|
+
// HELPER FUNCTIONS
|
|
49
|
+
// ============================================================================
|
|
50
|
+
/**
|
|
51
|
+
* Calculate ARPU from total revenue and user count.
|
|
52
|
+
*/
|
|
53
|
+
export function calculateARPU(totalRevenue, userCount, currency) {
|
|
54
|
+
const arpu = userCount > 0 ? totalRevenue / userCount : 0;
|
|
55
|
+
return {
|
|
56
|
+
amount: Math.round(arpu * 100) / 100,
|
|
57
|
+
currency
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Calculate Net Revenue Retention.
|
|
62
|
+
*/
|
|
63
|
+
export function calculateNRR(startingMRR, expansion, contraction, churned) {
|
|
64
|
+
if (startingMRR === 0)
|
|
65
|
+
return 0;
|
|
66
|
+
return Math.round(((startingMRR + expansion - contraction - churned) / startingMRR) * 10000) / 100;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Calculate Gross Revenue Retention.
|
|
70
|
+
*/
|
|
71
|
+
export function calculateGRR(startingMRR, contraction, churned) {
|
|
72
|
+
if (startingMRR === 0)
|
|
73
|
+
return 0;
|
|
74
|
+
return Math.round(((startingMRR - contraction - churned) / startingMRR) * 10000) / 100;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Convert monthly to annual revenue.
|
|
78
|
+
*/
|
|
79
|
+
export function monthlyToAnnual(mrr) {
|
|
80
|
+
return {
|
|
81
|
+
amount: mrr.amount * 12,
|
|
82
|
+
currency: mrr.currency
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Calculate LTV from ARPU and churn rate.
|
|
87
|
+
*/
|
|
88
|
+
export function calculateLTV(arpu, monthlyChurnRate, currency) {
|
|
89
|
+
if (monthlyChurnRate <= 0) {
|
|
90
|
+
return { amount: arpu * 60, currency }; // Cap at 5 years
|
|
91
|
+
}
|
|
92
|
+
const ltv = arpu / monthlyChurnRate;
|
|
93
|
+
return {
|
|
94
|
+
amount: Math.round(ltv * 100) / 100,
|
|
95
|
+
currency
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
// ============================================================================
|
|
99
|
+
// MAIN CLASS
|
|
100
|
+
// ============================================================================
|
|
101
|
+
/**
|
|
102
|
+
* Revenue and monetization analytics class.
|
|
103
|
+
*/
|
|
104
|
+
export class Monetization extends FlowGridTransport {
|
|
105
|
+
/**
|
|
106
|
+
* Track revenue event.
|
|
107
|
+
*/
|
|
108
|
+
async trackRevenue(config) {
|
|
109
|
+
const { type: revenueType, ...restConfig } = config;
|
|
110
|
+
return await this.initFeature("monetization.revenue", {
|
|
111
|
+
type: "monetization",
|
|
112
|
+
revenueType,
|
|
113
|
+
...restConfig,
|
|
114
|
+
timestamp: new Date().toISOString()
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Track expansion revenue.
|
|
119
|
+
*/
|
|
120
|
+
async trackExpansion(userId, fromPlan, toPlan, additionalRevenue) {
|
|
121
|
+
return await this.initFeature("monetization.expansion", {
|
|
122
|
+
type: "monetization",
|
|
123
|
+
userId,
|
|
124
|
+
fromPlan,
|
|
125
|
+
toPlan,
|
|
126
|
+
additionalRevenue,
|
|
127
|
+
revenueType: 'expansion',
|
|
128
|
+
timestamp: new Date().toISOString()
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Track contraction/downgrade.
|
|
133
|
+
*/
|
|
134
|
+
async trackContraction(userId, fromPlan, toPlan, reducedRevenue) {
|
|
135
|
+
return await this.initFeature("monetization.contraction", {
|
|
136
|
+
type: "monetization",
|
|
137
|
+
userId,
|
|
138
|
+
fromPlan,
|
|
139
|
+
toPlan,
|
|
140
|
+
reducedRevenue,
|
|
141
|
+
revenueType: 'downgrade',
|
|
142
|
+
timestamp: new Date().toISOString()
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=monetization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monetization.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/monetization.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
* ```
|
|
42
42
|
*/
|
|
43
43
|
import { FlowGridTransport } from "../../client/transport";
|
|
44
|
-
import { DateRangeFilter
|
|
44
|
+
import { DateRangeFilter } from "../../types";
|
|
45
45
|
/**
|
|
46
46
|
* Funnel path definition.
|
|
47
47
|
*/
|
|
@@ -299,22 +299,6 @@ export declare class MultiPathFunnels extends FlowGridTransport {
|
|
|
299
299
|
* Get path comparison.
|
|
300
300
|
*/
|
|
301
301
|
comparePaths(funnelId: string, filter?: DateRangeFilter): Promise<PathAnalysis[]>;
|
|
302
|
-
/**
|
|
303
|
-
* Get segment drop-off analysis.
|
|
304
|
-
*/
|
|
305
|
-
getSegmentDropOff(funnelId: string, segmentAttribute: string, filter?: DateRangeFilter): Promise<SegmentDropOffAnalysis>;
|
|
306
|
-
/**
|
|
307
|
-
* Get user journey.
|
|
308
|
-
*/
|
|
309
|
-
getUserJourney(config: UserJourneyConfig): Promise<UserJourney>;
|
|
310
|
-
/**
|
|
311
|
-
* Get micro-conversion analysis.
|
|
312
|
-
*/
|
|
313
|
-
getMicroConversionAnalysis(funnelId: string, filter?: DateRangeFilter): Promise<MicroConversionAnalysis[]>;
|
|
314
|
-
/**
|
|
315
|
-
* Get funnel trend.
|
|
316
|
-
*/
|
|
317
|
-
getFunnelTrend(funnelId: string, filter?: DateRangeFilter, granularity?: TimeGranularity): Promise<TimeSeriesData>;
|
|
318
302
|
/**
|
|
319
303
|
* List all funnels.
|
|
320
304
|
*/
|