flowgrid-sdk 1.4.2 → 1.5.0
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/browser.js +12 -9
- package/dist/browser.js.map +1 -1
- package/dist/flowgrid-enterprise.flowgrid.chunk.js +2 -0
- package/dist/flowgrid-enterprise.flowgrid.chunk.js.map +1 -0
- package/dist/flowgrid-replay.flowgrid.chunk.js +3 -0
- package/dist/flowgrid-replay.flowgrid.chunk.js.LICENSE.txt +14 -0
- package/dist/flowgrid-replay.flowgrid.chunk.js.map +1 -0
- package/dist/flowgrid-vitals.flowgrid.chunk.js +2 -0
- package/dist/flowgrid-vitals.flowgrid.chunk.js.map +1 -0
- package/dist/flowgrid.min.js +1 -1
- package/dist/flowgrid.min.js.LICENSE.txt +14 -0
- package/dist/flowgrid.min.js.map +1 -1
- package/dist/index.js +63 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/client/transport.js +5 -1
- package/dist/lib/client/transport.js.map +1 -1
- package/dist/lib/consent/index.js +5 -1
- package/dist/lib/consent/index.js.map +1 -1
- package/dist/lib/consent/manager.js +5 -1
- package/dist/lib/consent/manager.js.map +1 -1
- package/dist/lib/consent/types.js +2 -1
- package/dist/lib/consent/types.js.map +1 -1
- package/dist/lib/features/analytics/attribution.js +11 -7
- package/dist/lib/features/analytics/attribution.js.map +1 -1
- package/dist/lib/features/analytics/events.js +7 -3
- package/dist/lib/features/analytics/events.js.map +1 -1
- package/dist/lib/features/analytics/funnels.js +7 -3
- package/dist/lib/features/analytics/funnels.js.map +1 -1
- package/dist/lib/features/analytics/heatmaps.js +12 -8
- package/dist/lib/features/analytics/heatmaps.js.map +1 -1
- package/dist/lib/features/analytics/identify.js +7 -3
- package/dist/lib/features/analytics/identify.js.map +1 -1
- package/dist/lib/features/analytics/index.js +24 -10
- package/dist/lib/features/analytics/index.js.map +1 -1
- package/dist/lib/features/analytics/page-views.js +12 -8
- package/dist/lib/features/analytics/page-views.js.map +1 -1
- package/dist/lib/features/analytics/performance.js +46 -9
- package/dist/lib/features/analytics/performance.js.map +1 -1
- package/dist/lib/features/analytics/replay.js +46 -9
- package/dist/lib/features/analytics/replay.js.map +1 -1
- package/dist/lib/features/analytics/retention.js +7 -3
- package/dist/lib/features/analytics/retention.js.map +1 -1
- package/dist/lib/features/analytics/sessions.js +12 -8
- package/dist/lib/features/analytics/sessions.js.map +1 -1
- package/dist/lib/features/core/activation.js +7 -3
- package/dist/lib/features/core/activation.js.map +1 -1
- package/dist/lib/features/core/experiment.js +9 -5
- package/dist/lib/features/core/experiment.js.map +1 -1
- package/dist/lib/features/core/index.js +11 -4
- package/dist/lib/features/core/index.js.map +1 -1
- package/dist/lib/features/core/track-feature.js +7 -3
- package/dist/lib/features/core/track-feature.js.map +1 -1
- package/dist/lib/features/core/track-prompt.js +7 -3
- package/dist/lib/features/core/track-prompt.js.map +1 -1
- package/dist/lib/features/ecommerce/cart.js +7 -3
- package/dist/lib/features/ecommerce/cart.js.map +1 -1
- package/dist/lib/features/ecommerce/checkout.js +7 -3
- package/dist/lib/features/ecommerce/checkout.js.map +1 -1
- package/dist/lib/features/ecommerce/index.js +23 -10
- package/dist/lib/features/ecommerce/index.js.map +1 -1
- package/dist/lib/features/ecommerce/ltv.js +7 -3
- package/dist/lib/features/ecommerce/ltv.js.map +1 -1
- package/dist/lib/features/ecommerce/products.js +7 -3
- package/dist/lib/features/ecommerce/products.js.map +1 -1
- package/dist/lib/features/ecommerce/promotions.js +7 -3
- package/dist/lib/features/ecommerce/promotions.js.map +1 -1
- package/dist/lib/features/ecommerce/purchases.js +7 -3
- package/dist/lib/features/ecommerce/purchases.js.map +1 -1
- package/dist/lib/features/ecommerce/refunds.js +7 -3
- package/dist/lib/features/ecommerce/refunds.js.map +1 -1
- package/dist/lib/features/ecommerce/search.js +7 -3
- package/dist/lib/features/ecommerce/search.js.map +1 -1
- package/dist/lib/features/ecommerce/subscriptions.js +7 -3
- package/dist/lib/features/ecommerce/subscriptions.js.map +1 -1
- package/dist/lib/features/ecommerce/wishlist.js +7 -3
- package/dist/lib/features/ecommerce/wishlist.js.map +1 -1
- package/dist/lib/features/enterprise/acquisition.js +16 -7
- package/dist/lib/features/enterprise/acquisition.js.map +1 -1
- package/dist/lib/features/enterprise/alerts.js +18 -8
- package/dist/lib/features/enterprise/alerts.js.map +1 -1
- package/dist/lib/features/enterprise/churn.js +12 -5
- package/dist/lib/features/enterprise/churn.js.map +1 -1
- package/dist/lib/features/enterprise/cohorts.js +10 -4
- package/dist/lib/features/enterprise/cohorts.js.map +1 -1
- package/dist/lib/features/enterprise/engagement.js +19 -12
- package/dist/lib/features/enterprise/engagement.js.map +1 -1
- package/dist/lib/features/enterprise/forecasting.js +18 -8
- package/dist/lib/features/enterprise/forecasting.js.map +1 -1
- package/dist/lib/features/enterprise/index.js +75 -22
- package/dist/lib/features/enterprise/index.js.map +1 -1
- package/dist/lib/features/enterprise/monetization.js +16 -7
- package/dist/lib/features/enterprise/monetization.js.map +1 -1
- package/dist/lib/features/enterprise/multi-path-funnels.js +16 -7
- package/dist/lib/features/enterprise/multi-path-funnels.js.map +1 -1
- package/dist/lib/features/enterprise/paths.js +18 -8
- package/dist/lib/features/enterprise/paths.js.map +1 -1
- package/dist/lib/features/enterprise/security.js +14 -6
- package/dist/lib/features/enterprise/security.js.map +1 -1
- package/dist/lib/features/enterprise/support.js +14 -6
- package/dist/lib/features/enterprise/support.js.map +1 -1
- package/dist/lib/flowgrid.d.ts +15 -4
- package/dist/lib/flowgrid.js +146 -48
- package/dist/lib/flowgrid.js.map +1 -1
- package/dist/lib/tracking/analytics/attribution.d.ts +3 -3
- package/dist/lib/tracking/analytics/attribution.js +5 -1
- package/dist/lib/tracking/analytics/attribution.js.map +1 -1
- package/dist/lib/tracking/analytics/events.d.ts +6 -6
- package/dist/lib/tracking/analytics/events.js +5 -1
- package/dist/lib/tracking/analytics/events.js.map +1 -1
- package/dist/lib/tracking/analytics/funnels.d.ts +4 -4
- package/dist/lib/tracking/analytics/funnels.js +5 -1
- package/dist/lib/tracking/analytics/funnels.js.map +1 -1
- package/dist/lib/tracking/analytics/heatmaps.d.ts +3 -3
- package/dist/lib/tracking/analytics/heatmaps.js +5 -1
- package/dist/lib/tracking/analytics/heatmaps.js.map +1 -1
- package/dist/lib/tracking/analytics/identify.d.ts +4 -4
- package/dist/lib/tracking/analytics/identify.js +5 -1
- package/dist/lib/tracking/analytics/identify.js.map +1 -1
- package/dist/lib/tracking/analytics/index.js +23 -10
- package/dist/lib/tracking/analytics/index.js.map +1 -1
- package/dist/lib/tracking/analytics/page-views.d.ts +4 -4
- package/dist/lib/tracking/analytics/page-views.js +5 -1
- package/dist/lib/tracking/analytics/page-views.js.map +1 -1
- package/dist/lib/tracking/analytics/performance.d.ts +3 -3
- package/dist/lib/tracking/analytics/performance.js +5 -1
- package/dist/lib/tracking/analytics/performance.js.map +1 -1
- package/dist/lib/tracking/analytics/replay.js +5 -1
- package/dist/lib/tracking/analytics/replay.js.map +1 -1
- package/dist/lib/tracking/analytics/retention.d.ts +1 -1
- package/dist/lib/tracking/analytics/retention.js +5 -1
- package/dist/lib/tracking/analytics/retention.js.map +1 -1
- package/dist/lib/tracking/analytics/sessions.d.ts +4 -4
- package/dist/lib/tracking/analytics/sessions.js +5 -1
- package/dist/lib/tracking/analytics/sessions.js.map +1 -1
- package/dist/lib/tracking/core/activation.d.ts +5 -5
- package/dist/lib/tracking/core/activation.js +5 -1
- package/dist/lib/tracking/core/activation.js.map +1 -1
- package/dist/lib/tracking/core/experiment.d.ts +4 -4
- package/dist/lib/tracking/core/experiment.js +5 -1
- package/dist/lib/tracking/core/experiment.js.map +1 -1
- package/dist/lib/tracking/core/feature.d.ts +2 -2
- package/dist/lib/tracking/core/feature.js +5 -1
- package/dist/lib/tracking/core/feature.js.map +1 -1
- package/dist/lib/tracking/core/index.js +11 -4
- package/dist/lib/tracking/core/index.js.map +1 -1
- package/dist/lib/tracking/core/prompt.d.ts +5 -5
- package/dist/lib/tracking/core/prompt.js +5 -1
- package/dist/lib/tracking/core/prompt.js.map +1 -1
- package/dist/lib/tracking/ecommerce/cart.d.ts +4 -4
- package/dist/lib/tracking/ecommerce/cart.js +5 -1
- package/dist/lib/tracking/ecommerce/cart.js.map +1 -1
- package/dist/lib/tracking/ecommerce/checkout.d.ts +4 -4
- package/dist/lib/tracking/ecommerce/checkout.js +5 -1
- package/dist/lib/tracking/ecommerce/checkout.js.map +1 -1
- package/dist/lib/tracking/ecommerce/index.js +23 -10
- package/dist/lib/tracking/ecommerce/index.js.map +1 -1
- package/dist/lib/tracking/ecommerce/ltv.d.ts +2 -2
- package/dist/lib/tracking/ecommerce/ltv.js +5 -1
- package/dist/lib/tracking/ecommerce/ltv.js.map +1 -1
- package/dist/lib/tracking/ecommerce/products.d.ts +3 -3
- package/dist/lib/tracking/ecommerce/products.js +5 -1
- package/dist/lib/tracking/ecommerce/products.js.map +1 -1
- package/dist/lib/tracking/ecommerce/promotions.d.ts +3 -3
- package/dist/lib/tracking/ecommerce/promotions.js +5 -1
- package/dist/lib/tracking/ecommerce/promotions.js.map +1 -1
- package/dist/lib/tracking/ecommerce/purchases.d.ts +1 -1
- package/dist/lib/tracking/ecommerce/purchases.js +5 -1
- package/dist/lib/tracking/ecommerce/purchases.js.map +1 -1
- package/dist/lib/tracking/ecommerce/refunds.d.ts +4 -4
- package/dist/lib/tracking/ecommerce/refunds.js +5 -1
- package/dist/lib/tracking/ecommerce/refunds.js.map +1 -1
- package/dist/lib/tracking/ecommerce/search.d.ts +4 -4
- package/dist/lib/tracking/ecommerce/search.js +5 -1
- package/dist/lib/tracking/ecommerce/search.js.map +1 -1
- package/dist/lib/tracking/ecommerce/subscriptions.d.ts +6 -6
- package/dist/lib/tracking/ecommerce/subscriptions.js +5 -1
- package/dist/lib/tracking/ecommerce/subscriptions.js.map +1 -1
- package/dist/lib/tracking/ecommerce/wishlist.d.ts +5 -5
- package/dist/lib/tracking/ecommerce/wishlist.js +5 -1
- package/dist/lib/tracking/ecommerce/wishlist.js.map +1 -1
- package/dist/lib/tracking/enterprise/acquisition.js +5 -1
- package/dist/lib/tracking/enterprise/acquisition.js.map +1 -1
- package/dist/lib/tracking/enterprise/alerts.js +5 -1
- package/dist/lib/tracking/enterprise/alerts.js.map +1 -1
- package/dist/lib/tracking/enterprise/churn.d.ts +1 -1
- package/dist/lib/tracking/enterprise/churn.js +5 -1
- package/dist/lib/tracking/enterprise/churn.js.map +1 -1
- package/dist/lib/tracking/enterprise/cohorts.d.ts +1 -1
- package/dist/lib/tracking/enterprise/cohorts.js +5 -1
- package/dist/lib/tracking/enterprise/cohorts.js.map +1 -1
- package/dist/lib/tracking/enterprise/engagement.d.ts +4 -4
- package/dist/lib/tracking/enterprise/engagement.js +5 -1
- package/dist/lib/tracking/enterprise/engagement.js.map +1 -1
- package/dist/lib/tracking/enterprise/forecasting.d.ts +4 -4
- package/dist/lib/tracking/enterprise/forecasting.js +5 -1
- package/dist/lib/tracking/enterprise/forecasting.js.map +1 -1
- package/dist/lib/tracking/enterprise/index.js +25 -11
- package/dist/lib/tracking/enterprise/index.js.map +1 -1
- package/dist/lib/tracking/enterprise/monetization.js +5 -1
- package/dist/lib/tracking/enterprise/monetization.js.map +1 -1
- package/dist/lib/tracking/enterprise/multi-path-funnels.js +5 -1
- package/dist/lib/tracking/enterprise/multi-path-funnels.js.map +1 -1
- package/dist/lib/tracking/enterprise/paths.js +5 -1
- package/dist/lib/tracking/enterprise/paths.js.map +1 -1
- package/dist/lib/tracking/enterprise/security.js +5 -1
- package/dist/lib/tracking/enterprise/security.js.map +1 -1
- package/dist/lib/tracking/enterprise/support.js +5 -1
- package/dist/lib/tracking/enterprise/support.js.map +1 -1
- package/dist/lib/tracking/index.js +20 -4
- package/dist/lib/tracking/index.js.map +1 -1
- package/dist/lib/types/analytics.js +2 -1
- package/dist/lib/types/analytics.js.map +1 -1
- package/dist/lib/types/common.js +2 -1
- package/dist/lib/types/common.js.map +1 -1
- package/dist/lib/types/ecommerce.js +2 -1
- package/dist/lib/types/ecommerce.js.map +1 -1
- package/dist/lib/types/index.js +19 -3
- package/dist/lib/types/index.js.map +1 -1
- package/dist/lib/utils/browser.js +10 -4
- package/dist/lib/utils/browser.js.map +1 -1
- package/dist/lib/utils/identity.js +8 -4
- package/dist/lib/utils/identity.js.map +1 -1
- package/dist/lib/utils/storage.js +14 -6
- package/dist/lib/utils/storage.js.map +1 -1
- package/dist/umd/index.js +2 -1
- package/dist/umd/index.js.LICENSE.txt +14 -0
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../../src/lib/features/ecommerce/subscriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG
|
|
1
|
+
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../../src/lib/features/ecommerce/subscriptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* @fileoverview Ecommerce - Wishlist Tracking
|
|
3
4
|
* @module features/ecommerce/wishlist
|
|
@@ -37,7 +38,9 @@
|
|
|
37
38
|
* });
|
|
38
39
|
* ```
|
|
39
40
|
*/
|
|
40
|
-
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.WishlistTracking = void 0;
|
|
43
|
+
const transport_1 = require("../../client/transport");
|
|
41
44
|
// ============================================================================
|
|
42
45
|
// WISHLIST TRACKING CLASS
|
|
43
46
|
// ============================================================================
|
|
@@ -76,7 +79,7 @@ import { FlowGridTransport } from "../../client/transport";
|
|
|
76
79
|
* });
|
|
77
80
|
* ```
|
|
78
81
|
*/
|
|
79
|
-
|
|
82
|
+
class WishlistTracking extends transport_1.FlowGridTransport {
|
|
80
83
|
/**
|
|
81
84
|
* Tracks adding product to wishlist.
|
|
82
85
|
*
|
|
@@ -182,5 +185,6 @@ export class WishlistTracking extends FlowGridTransport {
|
|
|
182
185
|
});
|
|
183
186
|
}
|
|
184
187
|
}
|
|
185
|
-
|
|
188
|
+
exports.WishlistTracking = WishlistTracking;
|
|
189
|
+
exports.default = WishlistTracking;
|
|
186
190
|
//# sourceMappingURL=wishlist.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wishlist.js","sourceRoot":"","sources":["../../../../src/lib/features/ecommerce/wishlist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG
|
|
1
|
+
{"version":3,"file":"wishlist.js","sourceRoot":"","sources":["../../../../src/lib/features/ecommerce/wishlist.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;;;AAEH,sDAA2D;AAuF3D,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAa,gBAAiB,SAAQ,6BAAiB;IACrD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,GAAG,CAAC,MAA2B;QACnC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACxC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,MAAM,CAAC,MAAgC;QAC3C,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC7C,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,aAAa;YACtC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,QAAkB;QAC3B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACtC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;YAChC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,UAAmB;QACpD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACzC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,kBAAkB;YAC3B,OAAO;YACP,UAAU;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CACT,UAAkB,EAClB,MAAmC;QAEnC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACvC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,gBAAgB;YACzB,UAAU;YACV,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;CAEF;AAjHD,4CAiHC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* @fileoverview Enterprise - Marketing & Acquisition Analytics
|
|
3
4
|
* @module features/enterprise/acquisition
|
|
@@ -38,14 +39,21 @@
|
|
|
38
39
|
* });
|
|
39
40
|
* ```
|
|
40
41
|
*/
|
|
41
|
-
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.AcquisitionAnalytics = void 0;
|
|
44
|
+
exports.calculateCAC = calculateCAC;
|
|
45
|
+
exports.calculateROAS = calculateROAS;
|
|
46
|
+
exports.calculateLTVCACRatio = calculateLTVCACRatio;
|
|
47
|
+
exports.parseUTMParams = parseUTMParams;
|
|
48
|
+
exports.classifySource = classifySource;
|
|
49
|
+
const transport_1 = require("../../client/transport");
|
|
42
50
|
// ============================================================================
|
|
43
51
|
// HELPER FUNCTIONS
|
|
44
52
|
// ============================================================================
|
|
45
53
|
/**
|
|
46
54
|
* Calculate CAC.
|
|
47
55
|
*/
|
|
48
|
-
|
|
56
|
+
function calculateCAC(totalSpend, totalAcquisitions, currency) {
|
|
49
57
|
if (totalAcquisitions === 0) {
|
|
50
58
|
return { amount: 0, currency };
|
|
51
59
|
}
|
|
@@ -57,7 +65,7 @@ export function calculateCAC(totalSpend, totalAcquisitions, currency) {
|
|
|
57
65
|
/**
|
|
58
66
|
* Calculate ROAS (Return on Ad Spend).
|
|
59
67
|
*/
|
|
60
|
-
|
|
68
|
+
function calculateROAS(revenue, spend) {
|
|
61
69
|
if (spend === 0)
|
|
62
70
|
return 0;
|
|
63
71
|
return Math.round((revenue / spend) * 100) / 100;
|
|
@@ -65,7 +73,7 @@ export function calculateROAS(revenue, spend) {
|
|
|
65
73
|
/**
|
|
66
74
|
* Calculate LTV:CAC ratio.
|
|
67
75
|
*/
|
|
68
|
-
|
|
76
|
+
function calculateLTVCACRatio(ltv, cac) {
|
|
69
77
|
if (cac === 0)
|
|
70
78
|
return 0;
|
|
71
79
|
return Math.round((ltv / cac) * 100) / 100;
|
|
@@ -73,7 +81,7 @@ export function calculateLTVCACRatio(ltv, cac) {
|
|
|
73
81
|
/**
|
|
74
82
|
* Parse UTM parameters from URL.
|
|
75
83
|
*/
|
|
76
|
-
|
|
84
|
+
function parseUTMParams(url) {
|
|
77
85
|
const params = {};
|
|
78
86
|
try {
|
|
79
87
|
const urlObj = new URL(url);
|
|
@@ -93,7 +101,7 @@ export function parseUTMParams(url) {
|
|
|
93
101
|
/**
|
|
94
102
|
* Classify acquisition source from UTM parameters.
|
|
95
103
|
*/
|
|
96
|
-
|
|
104
|
+
function classifySource(utmSource, utmMedium) {
|
|
97
105
|
if (!utmSource && !utmMedium)
|
|
98
106
|
return 'direct';
|
|
99
107
|
const source = utmSource?.toLowerCase() ?? '';
|
|
@@ -121,7 +129,7 @@ export function classifySource(utmSource, utmMedium) {
|
|
|
121
129
|
/**
|
|
122
130
|
* Marketing and acquisition analytics class.
|
|
123
131
|
*/
|
|
124
|
-
|
|
132
|
+
class AcquisitionAnalytics extends transport_1.FlowGridTransport {
|
|
125
133
|
/**
|
|
126
134
|
* Track user acquisition.
|
|
127
135
|
*/
|
|
@@ -163,4 +171,5 @@ export class AcquisitionAnalytics extends FlowGridTransport {
|
|
|
163
171
|
});
|
|
164
172
|
}
|
|
165
173
|
}
|
|
174
|
+
exports.AcquisitionAnalytics = AcquisitionAnalytics;
|
|
166
175
|
//# sourceMappingURL=acquisition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acquisition.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/acquisition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;
|
|
1
|
+
{"version":3,"file":"acquisition.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/acquisition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* @fileoverview Enterprise - Alerts & Anomaly Detection
|
|
3
4
|
* @module features/enterprise/alerts
|
|
@@ -40,14 +41,22 @@
|
|
|
40
41
|
* });
|
|
41
42
|
* ```
|
|
42
43
|
*/
|
|
43
|
-
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.AlertsAnalytics = void 0;
|
|
46
|
+
exports.calculateStdDev = calculateStdDev;
|
|
47
|
+
exports.calculateZScore = calculateZScore;
|
|
48
|
+
exports.isAnomaly = isAnomaly;
|
|
49
|
+
exports.calculateAnomalyScore = calculateAnomalyScore;
|
|
50
|
+
exports.classifySeverity = classifySeverity;
|
|
51
|
+
exports.checkAlertCondition = checkAlertCondition;
|
|
52
|
+
const transport_1 = require("../../client/transport");
|
|
44
53
|
// ============================================================================
|
|
45
54
|
// HELPER FUNCTIONS
|
|
46
55
|
// ============================================================================
|
|
47
56
|
/**
|
|
48
57
|
* Calculate standard deviation.
|
|
49
58
|
*/
|
|
50
|
-
|
|
59
|
+
function calculateStdDev(values) {
|
|
51
60
|
if (values.length === 0)
|
|
52
61
|
return 0;
|
|
53
62
|
const mean = values.reduce((a, b) => a + b, 0) / values.length;
|
|
@@ -58,7 +67,7 @@ export function calculateStdDev(values) {
|
|
|
58
67
|
/**
|
|
59
68
|
* Calculate Z-score for anomaly detection.
|
|
60
69
|
*/
|
|
61
|
-
|
|
70
|
+
function calculateZScore(value, mean, stdDev) {
|
|
62
71
|
if (stdDev === 0)
|
|
63
72
|
return 0;
|
|
64
73
|
return (value - mean) / stdDev;
|
|
@@ -66,7 +75,7 @@ export function calculateZScore(value, mean, stdDev) {
|
|
|
66
75
|
/**
|
|
67
76
|
* Determine if value is anomalous based on Z-score.
|
|
68
77
|
*/
|
|
69
|
-
|
|
78
|
+
function isAnomaly(zScore, sensitivity = 0.5) {
|
|
70
79
|
// Higher sensitivity = lower threshold for anomaly detection
|
|
71
80
|
const threshold = 4 - (sensitivity * 2); // Ranges from 2 to 4
|
|
72
81
|
return Math.abs(zScore) > threshold;
|
|
@@ -74,7 +83,7 @@ export function isAnomaly(zScore, sensitivity = 0.5) {
|
|
|
74
83
|
/**
|
|
75
84
|
* Calculate anomaly score (0-1).
|
|
76
85
|
*/
|
|
77
|
-
|
|
86
|
+
function calculateAnomalyScore(zScore) {
|
|
78
87
|
// Normalize Z-score to 0-1 range
|
|
79
88
|
const absZ = Math.abs(zScore);
|
|
80
89
|
if (absZ <= 2)
|
|
@@ -88,7 +97,7 @@ export function calculateAnomalyScore(zScore) {
|
|
|
88
97
|
/**
|
|
89
98
|
* Classify severity from anomaly score.
|
|
90
99
|
*/
|
|
91
|
-
|
|
100
|
+
function classifySeverity(anomalyScore) {
|
|
92
101
|
if (anomalyScore < 0.25)
|
|
93
102
|
return 'info';
|
|
94
103
|
if (anomalyScore < 0.5)
|
|
@@ -100,7 +109,7 @@ export function classifySeverity(anomalyScore) {
|
|
|
100
109
|
/**
|
|
101
110
|
* Check if alert condition is met.
|
|
102
111
|
*/
|
|
103
|
-
|
|
112
|
+
function checkAlertCondition(currentValue, condition, threshold, previousValue, changePercent) {
|
|
104
113
|
switch (condition) {
|
|
105
114
|
case 'exceeds':
|
|
106
115
|
return currentValue > threshold;
|
|
@@ -123,7 +132,7 @@ export function checkAlertCondition(currentValue, condition, threshold, previous
|
|
|
123
132
|
/**
|
|
124
133
|
* Alerts and anomaly detection class.
|
|
125
134
|
*/
|
|
126
|
-
|
|
135
|
+
class AlertsAnalytics extends transport_1.FlowGridTransport {
|
|
127
136
|
/**
|
|
128
137
|
* Create an alert rule.
|
|
129
138
|
*/
|
|
@@ -243,4 +252,5 @@ export class AlertsAnalytics extends FlowGridTransport {
|
|
|
243
252
|
});
|
|
244
253
|
}
|
|
245
254
|
}
|
|
255
|
+
exports.AlertsAnalytics = AlertsAnalytics;
|
|
246
256
|
//# sourceMappingURL=alerts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alerts.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/alerts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;
|
|
1
|
+
{"version":3,"file":"alerts.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/alerts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* @fileoverview Enterprise - Churn & Predictive Analytics
|
|
3
4
|
* @module features/enterprise/churn
|
|
@@ -37,14 +38,19 @@
|
|
|
37
38
|
* const atRisk = await churn.getAtRiskUsers({ minScore: 70 });
|
|
38
39
|
* ```
|
|
39
40
|
*/
|
|
40
|
-
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.ChurnAnalytics = void 0;
|
|
43
|
+
exports.calculateChurnRiskScore = calculateChurnRiskScore;
|
|
44
|
+
exports.classifyRiskLevel = classifyRiskLevel;
|
|
45
|
+
exports.generateRecommendations = generateRecommendations;
|
|
46
|
+
const transport_1 = require("../../client/transport");
|
|
41
47
|
// ============================================================================
|
|
42
48
|
// HELPER FUNCTIONS
|
|
43
49
|
// ============================================================================
|
|
44
50
|
/**
|
|
45
51
|
* Calculate churn risk score from factors.
|
|
46
52
|
*/
|
|
47
|
-
|
|
53
|
+
function calculateChurnRiskScore(factors) {
|
|
48
54
|
const weights = {
|
|
49
55
|
daysSinceLastActivity: 0.25,
|
|
50
56
|
usageTrend: 0.20,
|
|
@@ -81,7 +87,7 @@ export function calculateChurnRiskScore(factors) {
|
|
|
81
87
|
/**
|
|
82
88
|
* Classify risk level from score.
|
|
83
89
|
*/
|
|
84
|
-
|
|
90
|
+
function classifyRiskLevel(score) {
|
|
85
91
|
if (score < 25)
|
|
86
92
|
return 'low';
|
|
87
93
|
if (score < 50)
|
|
@@ -93,7 +99,7 @@ export function classifyRiskLevel(score) {
|
|
|
93
99
|
/**
|
|
94
100
|
* Generate churn prevention recommendations.
|
|
95
101
|
*/
|
|
96
|
-
|
|
102
|
+
function generateRecommendations(riskFactors) {
|
|
97
103
|
const recommendations = [];
|
|
98
104
|
const factorActions = {
|
|
99
105
|
daysSinceLastActivity: 'Send a re-engagement email or push notification',
|
|
@@ -118,7 +124,7 @@ export function generateRecommendations(riskFactors) {
|
|
|
118
124
|
/**
|
|
119
125
|
* Churn and predictive analytics class.
|
|
120
126
|
*/
|
|
121
|
-
|
|
127
|
+
class ChurnAnalytics extends transport_1.FlowGridTransport {
|
|
122
128
|
/**
|
|
123
129
|
* Track usage decay.
|
|
124
130
|
*/
|
|
@@ -172,4 +178,5 @@ export class ChurnAnalytics extends FlowGridTransport {
|
|
|
172
178
|
});
|
|
173
179
|
}
|
|
174
180
|
}
|
|
181
|
+
exports.ChurnAnalytics = ChurnAnalytics;
|
|
175
182
|
//# sourceMappingURL=churn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"churn.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/churn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;
|
|
1
|
+
{"version":3,"file":"churn.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/churn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* @fileoverview Enterprise - Advanced Cohorts & Segmentation
|
|
3
4
|
* @module features/enterprise/cohorts
|
|
@@ -38,14 +39,18 @@
|
|
|
38
39
|
* });
|
|
39
40
|
* ```
|
|
40
41
|
*/
|
|
41
|
-
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.Cohorts = void 0;
|
|
44
|
+
exports.evaluateCohortRules = evaluateCohortRules;
|
|
45
|
+
exports.generateCohortId = generateCohortId;
|
|
46
|
+
const transport_1 = require("../../client/transport");
|
|
42
47
|
// ============================================================================
|
|
43
48
|
// HELPER FUNCTIONS
|
|
44
49
|
// ============================================================================
|
|
45
50
|
/**
|
|
46
51
|
* Evaluate if a user matches cohort rules.
|
|
47
52
|
*/
|
|
48
|
-
|
|
53
|
+
function evaluateCohortRules(userAttributes, rules) {
|
|
49
54
|
let result = true;
|
|
50
55
|
let currentOperator = 'and';
|
|
51
56
|
for (const rule of rules) {
|
|
@@ -103,7 +108,7 @@ function evaluateRule(attributeValue, operator, ruleValue) {
|
|
|
103
108
|
/**
|
|
104
109
|
* Generate cohort ID from name.
|
|
105
110
|
*/
|
|
106
|
-
|
|
111
|
+
function generateCohortId(name) {
|
|
107
112
|
return name
|
|
108
113
|
.toLowerCase()
|
|
109
114
|
.replace(/[^a-z0-9]+/g, '_')
|
|
@@ -115,7 +120,7 @@ export function generateCohortId(name) {
|
|
|
115
120
|
/**
|
|
116
121
|
* Advanced cohorts and segmentation class.
|
|
117
122
|
*/
|
|
118
|
-
|
|
123
|
+
class Cohorts extends transport_1.FlowGridTransport {
|
|
119
124
|
/**
|
|
120
125
|
* Create a new cohort.
|
|
121
126
|
*/
|
|
@@ -198,4 +203,5 @@ export class Cohorts extends FlowGridTransport {
|
|
|
198
203
|
});
|
|
199
204
|
}
|
|
200
205
|
}
|
|
206
|
+
exports.Cohorts = Cohorts;
|
|
201
207
|
//# sourceMappingURL=cohorts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cohorts.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/cohorts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;
|
|
1
|
+
{"version":3,"file":"cohorts.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/cohorts.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;AAuLH,kDAqBC;AAiDD,4CAKC;AAhQD,sDAA2D;AA8K3D,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,mBAAmB,CACjC,cAAuC,EACvC,KAAmB;IAEnB,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,eAAe,GAAiB,KAAK,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3E,IAAI,eAAe,KAAK,KAAK,EAAE,CAAC;YAC9B,MAAM,GAAG,MAAM,IAAI,UAAU,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,IAAI,UAAU,CAAC;QAChC,CAAC;QAED,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;IAClD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CACnB,cAAuB,EACvB,QAAwB,EACxB,SAAkB;IAElB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,cAAc,KAAK,SAAS,CAAC;QACtC,KAAK,YAAY;YACf,OAAO,cAAc,KAAK,SAAS,CAAC;QACtC,KAAK,UAAU;YACb,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5D,KAAK,cAAc;YACjB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7D,KAAK,IAAI;YACP,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;QACrD,KAAK,IAAI;YACP,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;QACrD,KAAK,IAAI;YACP,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACxE,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACzE,KAAK,QAAQ;YACX,OAAO,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,CAAC;QACjE,KAAK,YAAY;YACf,OAAO,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,CAAC;QACjE,KAAK,SAAS;YACZ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvD,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;gBACnC,OAAO,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,KAAK,CAAC;QACf;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;GAEG;AACH,MAAa,OAAQ,SAAQ,6BAAiB;IAC5C;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,UAA4B;QAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE1E,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YAC9C,IAAI,EAAE,SAAS;YACf,QAAQ;YACR,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,UAAU,EAAE,UAAU,CAAC,IAAI;YAC3B,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI;YACnC,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,OAAkC;QACrE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC9C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YAC9C,IAAI,EAAE,SAAS;YACf,QAAQ;YACR,UAAU;YACV,GAAG,IAAI;YACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YAC9C,IAAI,EAAE,SAAS;YACf,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAA8B;QAC9C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;YAC5C,IAAI,EAAE,SAAS;YACf,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,QAAgB;QACnD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE;YACxD,IAAI,EAAE,SAAS;YACf,MAAM;YACN,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,UAA6B;QAC/C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE;YACtD,IAAI,EAAE,SAAS;YACf,GAAG,UAAU;YACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAA8B;QACjD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YAC/C,IAAI,EAAE,SAAS;YACf,GAAG,MAAM;YACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;CAEF;AA1FD,0BA0FC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* @fileoverview Enterprise - Engagement Analytics
|
|
3
4
|
* @module features/enterprise/engagement
|
|
@@ -38,15 +39,20 @@
|
|
|
38
39
|
* });
|
|
39
40
|
* ```
|
|
40
41
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.Engagement = void 0;
|
|
44
|
+
exports.calculateEngagementScore = calculateEngagementScore;
|
|
45
|
+
exports.classifyEngagementLevel = classifyEngagementLevel;
|
|
46
|
+
exports.calculateSessionDepthScore = calculateSessionDepthScore;
|
|
47
|
+
const transport_1 = require("../../client/transport");
|
|
48
|
+
const browser_1 = require("../../utils/browser");
|
|
43
49
|
// ============================================================================
|
|
44
50
|
// HELPER FUNCTIONS
|
|
45
51
|
// ============================================================================
|
|
46
52
|
/**
|
|
47
53
|
* Calculate engagement score from multiple factors.
|
|
48
54
|
*/
|
|
49
|
-
|
|
55
|
+
function calculateEngagementScore(dwellTime, sessionDepth, activityRatio, contentCompletion) {
|
|
50
56
|
const weights = {
|
|
51
57
|
dwellTime: 0.25,
|
|
52
58
|
sessionDepth: 0.25,
|
|
@@ -61,7 +67,7 @@ export function calculateEngagementScore(dwellTime, sessionDepth, activityRatio,
|
|
|
61
67
|
/**
|
|
62
68
|
* Classify user engagement level.
|
|
63
69
|
*/
|
|
64
|
-
|
|
70
|
+
function classifyEngagementLevel(score) {
|
|
65
71
|
if (score < 25)
|
|
66
72
|
return 'low';
|
|
67
73
|
if (score < 50)
|
|
@@ -73,7 +79,7 @@ export function classifyEngagementLevel(score) {
|
|
|
73
79
|
/**
|
|
74
80
|
* Calculate session depth score.
|
|
75
81
|
*/
|
|
76
|
-
|
|
82
|
+
function calculateSessionDepthScore(pagesVisited, featuresUsed, actionsTaken) {
|
|
77
83
|
const pageScore = Math.min(pagesVisited / 10, 1) * 30;
|
|
78
84
|
const featureScore = Math.min(featuresUsed / 5, 1) * 40;
|
|
79
85
|
const actionScore = Math.min(actionsTaken / 20, 1) * 30;
|
|
@@ -85,7 +91,7 @@ export function calculateSessionDepthScore(pagesVisited, featuresUsed, actionsTa
|
|
|
85
91
|
/**
|
|
86
92
|
* Engagement analytics tracking class.
|
|
87
93
|
*/
|
|
88
|
-
|
|
94
|
+
class Engagement extends transport_1.FlowGridTransport {
|
|
89
95
|
/**
|
|
90
96
|
* Track feature dwell time.
|
|
91
97
|
*/
|
|
@@ -156,9 +162,9 @@ export class Engagement extends FlowGridTransport {
|
|
|
156
162
|
* active milliseconds.
|
|
157
163
|
*/
|
|
158
164
|
autoTrackDwell(featureId, options = {}) {
|
|
159
|
-
if (!isBrowser())
|
|
165
|
+
if (!(0, browser_1.isBrowser)())
|
|
160
166
|
return () => { };
|
|
161
|
-
const doc = getDocument();
|
|
167
|
+
const doc = (0, browser_1.getDocument)();
|
|
162
168
|
if (!doc)
|
|
163
169
|
return () => { };
|
|
164
170
|
let activeMs = 0;
|
|
@@ -221,10 +227,10 @@ export class Engagement extends FlowGridTransport {
|
|
|
221
227
|
* ```
|
|
222
228
|
*/
|
|
223
229
|
autoTrack(options = {}) {
|
|
224
|
-
if (!isBrowser())
|
|
230
|
+
if (!(0, browser_1.isBrowser)())
|
|
225
231
|
return () => { };
|
|
226
|
-
const win = getWindow();
|
|
227
|
-
const doc = getDocument();
|
|
232
|
+
const win = (0, browser_1.getWindow)();
|
|
233
|
+
const doc = (0, browser_1.getDocument)();
|
|
228
234
|
if (!win || !doc)
|
|
229
235
|
return () => { };
|
|
230
236
|
const idleAfterMs = options.idleAfterMs ?? 30000;
|
|
@@ -329,7 +335,8 @@ export class Engagement extends FlowGridTransport {
|
|
|
329
335
|
});
|
|
330
336
|
};
|
|
331
337
|
win.addEventListener("pagehide", sendDepth);
|
|
332
|
-
return combineTeardowns(() => win.clearInterval(ticker), () => doc.removeEventListener("visibilitychange", onVisibility), () => doc.removeEventListener("click", onInput, true), () => doc.removeEventListener("keydown", onInput, true), () => doc.removeEventListener("scroll", onInput, true), () => win.removeEventListener("popstate", onNav), () => win.removeEventListener("pagehide", sendDepth), () => { win.history.pushState = origPush; win.history.replaceState = origReplace; }, () => sendDepth());
|
|
338
|
+
return (0, browser_1.combineTeardowns)(() => win.clearInterval(ticker), () => doc.removeEventListener("visibilitychange", onVisibility), () => doc.removeEventListener("click", onInput, true), () => doc.removeEventListener("keydown", onInput, true), () => doc.removeEventListener("scroll", onInput, true), () => win.removeEventListener("popstate", onNav), () => win.removeEventListener("pagehide", sendDepth), () => { win.history.pushState = origPush; win.history.replaceState = origReplace; }, () => sendDepth());
|
|
333
339
|
}
|
|
334
340
|
}
|
|
341
|
+
exports.Engagement = Engagement;
|
|
335
342
|
//# sourceMappingURL=engagement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engagement.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/engagement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;
|
|
1
|
+
{"version":3,"file":"engagement.js","sourceRoot":"","sources":["../../../../src/lib/features/enterprise/engagement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* @fileoverview Enterprise - Product Usage Forecasting
|
|
3
4
|
* @module features/enterprise/forecasting
|
|
@@ -38,14 +39,22 @@
|
|
|
38
39
|
* });
|
|
39
40
|
* ```
|
|
40
41
|
*/
|
|
41
|
-
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.Forecasting = void 0;
|
|
44
|
+
exports.calculateMAPE = calculateMAPE;
|
|
45
|
+
exports.calculateRMSE = calculateRMSE;
|
|
46
|
+
exports.calculateR2 = calculateR2;
|
|
47
|
+
exports.classifyTrend = classifyTrend;
|
|
48
|
+
exports.calculateAvgGrowthRate = calculateAvgGrowthRate;
|
|
49
|
+
exports.applyConfidenceInterval = applyConfidenceInterval;
|
|
50
|
+
const transport_1 = require("../../client/transport");
|
|
42
51
|
// ============================================================================
|
|
43
52
|
// HELPER FUNCTIONS
|
|
44
53
|
// ============================================================================
|
|
45
54
|
/**
|
|
46
55
|
* Calculate MAPE (Mean Absolute Percentage Error).
|
|
47
56
|
*/
|
|
48
|
-
|
|
57
|
+
function calculateMAPE(actual, predicted) {
|
|
49
58
|
if (actual.length !== predicted.length || actual.length === 0)
|
|
50
59
|
return 0;
|
|
51
60
|
let sum = 0;
|
|
@@ -61,7 +70,7 @@ export function calculateMAPE(actual, predicted) {
|
|
|
61
70
|
/**
|
|
62
71
|
* Calculate RMSE (Root Mean Square Error).
|
|
63
72
|
*/
|
|
64
|
-
|
|
73
|
+
function calculateRMSE(actual, predicted) {
|
|
65
74
|
if (actual.length !== predicted.length || actual.length === 0)
|
|
66
75
|
return 0;
|
|
67
76
|
let sumSquaredError = 0;
|
|
@@ -73,7 +82,7 @@ export function calculateRMSE(actual, predicted) {
|
|
|
73
82
|
/**
|
|
74
83
|
* Calculate R-squared.
|
|
75
84
|
*/
|
|
76
|
-
|
|
85
|
+
function calculateR2(actual, predicted) {
|
|
77
86
|
if (actual.length !== predicted.length || actual.length === 0)
|
|
78
87
|
return 0;
|
|
79
88
|
const mean = actual.reduce((a, b) => a + b, 0) / actual.length;
|
|
@@ -88,7 +97,7 @@ export function calculateR2(actual, predicted) {
|
|
|
88
97
|
/**
|
|
89
98
|
* Classify trend direction.
|
|
90
99
|
*/
|
|
91
|
-
|
|
100
|
+
function classifyTrend(startValue, endValue, threshold = 5) {
|
|
92
101
|
if (startValue === 0)
|
|
93
102
|
return endValue > 0 ? 'growing' : 'stable';
|
|
94
103
|
const changePercent = ((endValue - startValue) / startValue) * 100;
|
|
@@ -101,7 +110,7 @@ export function classifyTrend(startValue, endValue, threshold = 5) {
|
|
|
101
110
|
/**
|
|
102
111
|
* Calculate average growth rate.
|
|
103
112
|
*/
|
|
104
|
-
|
|
113
|
+
function calculateAvgGrowthRate(values) {
|
|
105
114
|
if (values.length < 2)
|
|
106
115
|
return 0;
|
|
107
116
|
let totalGrowth = 0;
|
|
@@ -117,7 +126,7 @@ export function calculateAvgGrowthRate(values) {
|
|
|
117
126
|
/**
|
|
118
127
|
* Apply confidence interval.
|
|
119
128
|
*/
|
|
120
|
-
|
|
129
|
+
function applyConfidenceInterval(predicted, stdError, confidenceLevel = 0.95) {
|
|
121
130
|
// Z-score for common confidence levels
|
|
122
131
|
const zScores = {
|
|
123
132
|
0.90: 1.645,
|
|
@@ -137,7 +146,7 @@ export function applyConfidenceInterval(predicted, stdError, confidenceLevel = 0
|
|
|
137
146
|
/**
|
|
138
147
|
* Product usage forecasting class.
|
|
139
148
|
*/
|
|
140
|
-
|
|
149
|
+
class Forecasting extends transport_1.FlowGridTransport {
|
|
141
150
|
/**
|
|
142
151
|
* Forecast active users.
|
|
143
152
|
*/
|
|
@@ -229,4 +238,5 @@ export class Forecasting extends FlowGridTransport {
|
|
|
229
238
|
});
|
|
230
239
|
}
|
|
231
240
|
}
|
|
241
|
+
exports.Forecasting = Forecasting;
|
|
232
242
|
//# sourceMappingURL=forecasting.js.map
|