kanmi-perf-revenue 1.0.0 → 1.2.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/README.md +347 -173
- package/dist/empirical/ab-testing.d.ts +83 -0
- package/dist/empirical/ab-testing.d.ts.map +1 -0
- package/dist/empirical/ab-testing.js +281 -0
- package/dist/empirical/ab-testing.js.map +1 -0
- package/dist/empirical/alerting.d.ts +85 -0
- package/dist/empirical/alerting.d.ts.map +1 -0
- package/dist/empirical/alerting.js +358 -0
- package/dist/empirical/alerting.js.map +1 -0
- package/dist/empirical/attribution.d.ts +80 -0
- package/dist/empirical/attribution.d.ts.map +1 -0
- package/dist/empirical/attribution.js +305 -0
- package/dist/empirical/attribution.js.map +1 -0
- package/dist/empirical/cohort.d.ts +75 -0
- package/dist/empirical/cohort.d.ts.map +1 -0
- package/dist/empirical/cohort.js +305 -0
- package/dist/empirical/cohort.js.map +1 -0
- package/dist/empirical/conversion-curve.d.ts +7 -10
- package/dist/empirical/conversion-curve.d.ts.map +1 -1
- package/dist/empirical/conversion-curve.js +37 -4
- package/dist/empirical/conversion-curve.js.map +1 -1
- package/dist/empirical/correlation.d.ts +91 -0
- package/dist/empirical/correlation.d.ts.map +1 -0
- package/dist/empirical/correlation.js +461 -0
- package/dist/empirical/correlation.js.map +1 -0
- package/dist/empirical/data-import.d.ts +22 -0
- package/dist/empirical/data-import.d.ts.map +1 -1
- package/dist/empirical/data-import.js +44 -0
- package/dist/empirical/data-import.js.map +1 -1
- package/dist/empirical/datadog-product-analytics.d.ts +192 -0
- package/dist/empirical/datadog-product-analytics.d.ts.map +1 -0
- package/dist/empirical/datadog-product-analytics.js +632 -0
- package/dist/empirical/datadog-product-analytics.js.map +1 -0
- package/dist/empirical/datadog-session-query.d.ts +32 -0
- package/dist/empirical/datadog-session-query.d.ts.map +1 -1
- package/dist/empirical/datadog-session-query.js +238 -17
- package/dist/empirical/datadog-session-query.js.map +1 -1
- package/dist/empirical/engagement-analysis.d.ts +112 -0
- package/dist/empirical/engagement-analysis.d.ts.map +1 -0
- package/dist/empirical/engagement-analysis.js +354 -0
- package/dist/empirical/engagement-analysis.js.map +1 -0
- package/dist/empirical/export.d.ts +75 -0
- package/dist/empirical/export.d.ts.map +1 -0
- package/dist/empirical/export.js +392 -0
- package/dist/empirical/export.js.map +1 -0
- package/dist/empirical/forecasting.d.ts +80 -0
- package/dist/empirical/forecasting.d.ts.map +1 -0
- package/dist/empirical/forecasting.js +287 -0
- package/dist/empirical/forecasting.js.map +1 -0
- package/dist/empirical/funnel.d.ts +66 -0
- package/dist/empirical/funnel.d.ts.map +1 -0
- package/dist/empirical/funnel.js +293 -0
- package/dist/empirical/funnel.js.map +1 -0
- package/dist/empirical/history.d.ts +198 -0
- package/dist/empirical/history.d.ts.map +1 -0
- package/dist/empirical/history.js +396 -0
- package/dist/empirical/history.js.map +1 -0
- package/dist/empirical/index.d.ts +41 -16
- package/dist/empirical/index.d.ts.map +1 -1
- package/dist/empirical/index.js +96 -13
- package/dist/empirical/index.js.map +1 -1
- package/dist/empirical/interactions.d.ts +89 -0
- package/dist/empirical/interactions.d.ts.map +1 -0
- package/dist/empirical/interactions.js +346 -0
- package/dist/empirical/interactions.js.map +1 -0
- package/dist/empirical/opportunity-calculator.d.ts +6 -18
- package/dist/empirical/opportunity-calculator.d.ts.map +1 -1
- package/dist/empirical/opportunity-calculator.js +19 -1
- package/dist/empirical/opportunity-calculator.js.map +1 -1
- package/dist/empirical/report.d.ts +3 -11
- package/dist/empirical/report.d.ts.map +1 -1
- package/dist/empirical/report.js +11 -7
- package/dist/empirical/report.js.map +1 -1
- package/dist/empirical/roi-calculator.d.ts +104 -0
- package/dist/empirical/roi-calculator.d.ts.map +1 -0
- package/dist/empirical/roi-calculator.js +403 -0
- package/dist/empirical/roi-calculator.js.map +1 -0
- package/dist/empirical/seasonality.d.ts +80 -0
- package/dist/empirical/seasonality.d.ts.map +1 -0
- package/dist/empirical/seasonality.js +340 -0
- package/dist/empirical/seasonality.js.map +1 -0
- package/dist/empirical/segmentation.d.ts +135 -0
- package/dist/empirical/segmentation.d.ts.map +1 -0
- package/dist/empirical/segmentation.js +379 -0
- package/dist/empirical/segmentation.js.map +1 -0
- package/dist/empirical/statistics.d.ts +118 -0
- package/dist/empirical/statistics.d.ts.map +1 -0
- package/dist/empirical/statistics.js +344 -0
- package/dist/empirical/statistics.js.map +1 -0
- package/dist/empirical/sweet-spot.d.ts +81 -0
- package/dist/empirical/sweet-spot.d.ts.map +1 -0
- package/dist/empirical/sweet-spot.js +198 -0
- package/dist/empirical/sweet-spot.js.map +1 -0
- package/package.json +2 -2
|
@@ -10,16 +10,48 @@
|
|
|
10
10
|
*
|
|
11
11
|
* @author Kanmi Obasa <i@kanmiobasa.com>
|
|
12
12
|
*/
|
|
13
|
+
export interface ConversionEvent {
|
|
14
|
+
/** Event name (e.g., 'purchase', 'add_to_cart', 'signup', 'lead') */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Event value (e.g., order total, lead score) */
|
|
17
|
+
value: number;
|
|
18
|
+
/** Timestamp of the event */
|
|
19
|
+
timestamp?: string;
|
|
20
|
+
}
|
|
13
21
|
export interface SessionData {
|
|
14
22
|
session_id: string;
|
|
15
23
|
lcp_ms: number | null;
|
|
24
|
+
fcp_ms: number | null;
|
|
16
25
|
inp_ms: number | null;
|
|
17
26
|
cls: number | null;
|
|
27
|
+
ttfb_ms: number | null;
|
|
28
|
+
tti_ms: number | null;
|
|
29
|
+
onload_ms: number | null;
|
|
30
|
+
page_size_kb: number | null;
|
|
18
31
|
has_purchase: boolean;
|
|
19
32
|
purchase_value: number;
|
|
33
|
+
conversions: ConversionEvent[];
|
|
34
|
+
bounced: boolean;
|
|
35
|
+
page_views: number;
|
|
36
|
+
session_duration_ms: number | null;
|
|
20
37
|
device: 'mobile' | 'desktop' | 'tablet';
|
|
21
38
|
page_type: string;
|
|
39
|
+
country?: string;
|
|
40
|
+
region?: string;
|
|
41
|
+
traffic_source?: 'organic' | 'paid' | 'direct' | 'referral' | 'social' | 'email' | 'other';
|
|
42
|
+
utm_source?: string;
|
|
43
|
+
utm_medium?: string;
|
|
44
|
+
utm_campaign?: string;
|
|
45
|
+
user_id?: string;
|
|
46
|
+
is_new_user?: boolean;
|
|
47
|
+
entry_page?: string;
|
|
48
|
+
exit_page?: string;
|
|
49
|
+
pages_visited?: string[];
|
|
50
|
+
experiment_id?: string;
|
|
51
|
+
experiment_variant?: string;
|
|
22
52
|
timestamp: string;
|
|
53
|
+
hour_of_day?: number;
|
|
54
|
+
day_of_week?: number;
|
|
23
55
|
}
|
|
24
56
|
export interface DatadogQueryConfig {
|
|
25
57
|
apiKey: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datadog-session-query.d.ts","sourceRoot":"","sources":["../../src/empirical/datadog-session-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IAEnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IAEvB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"datadog-session-query.d.ts","sourceRoot":"","sources":["../../src/empirical/datadog-session-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,31 +73,91 @@ export async function queryDatadogSessions(config) {
|
|
|
73
73
|
session = {
|
|
74
74
|
session_id: sessionId,
|
|
75
75
|
lcp_ms: null,
|
|
76
|
+
fcp_ms: null,
|
|
76
77
|
inp_ms: null,
|
|
77
78
|
cls: null,
|
|
79
|
+
ttfb_ms: null,
|
|
80
|
+
tti_ms: null,
|
|
81
|
+
onload_ms: null,
|
|
82
|
+
page_size_kb: null,
|
|
78
83
|
has_purchase: false,
|
|
79
84
|
purchase_value: 0,
|
|
85
|
+
conversions: [],
|
|
86
|
+
bounced: true,
|
|
87
|
+
page_views: 0,
|
|
88
|
+
session_duration_ms: attrs.session?.time_spent || null,
|
|
80
89
|
device: normalizeDevice(attrs.device?.type),
|
|
81
90
|
page_type: extractPageType(attrs.view?.url_path),
|
|
91
|
+
country: attrs.geo?.country,
|
|
92
|
+
region: attrs.geo?.region,
|
|
93
|
+
traffic_source: normalizeTrafficSource(attrs.session?.referrer),
|
|
94
|
+
user_id: attrs.usr?.id,
|
|
95
|
+
is_new_user: attrs.session?.is_first_visit,
|
|
96
|
+
entry_page: attrs.session?.initial_view?.url_path,
|
|
97
|
+
pages_visited: [],
|
|
82
98
|
timestamp: attrs['@timestamp'] || attrs.date,
|
|
99
|
+
hour_of_day: new Date(attrs['@timestamp'] || attrs.date).getHours(),
|
|
100
|
+
day_of_week: new Date(attrs['@timestamp'] || attrs.date).getDay(),
|
|
83
101
|
};
|
|
84
102
|
sessionMap.set(sessionId, session);
|
|
85
103
|
}
|
|
86
|
-
//
|
|
104
|
+
// Track page views and bounce status
|
|
105
|
+
if (attrs.view) {
|
|
106
|
+
session.page_views++;
|
|
107
|
+
if (session.page_views > 1) {
|
|
108
|
+
session.bounced = false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// Update performance metrics (take worst/highest values)
|
|
87
112
|
if (attrs.view?.largest_contentful_paint != null) {
|
|
88
113
|
session.lcp_ms = Math.max(session.lcp_ms || 0, attrs.view.largest_contentful_paint);
|
|
89
114
|
}
|
|
115
|
+
if (attrs.view?.first_contentful_paint != null) {
|
|
116
|
+
session.fcp_ms = Math.max(session.fcp_ms || 0, attrs.view.first_contentful_paint);
|
|
117
|
+
}
|
|
90
118
|
if (attrs.view?.interaction_to_next_paint != null) {
|
|
91
119
|
session.inp_ms = Math.max(session.inp_ms || 0, attrs.view.interaction_to_next_paint);
|
|
92
120
|
}
|
|
93
121
|
if (attrs.view?.cumulative_layout_shift != null) {
|
|
94
122
|
session.cls = Math.max(session.cls || 0, attrs.view.cumulative_layout_shift);
|
|
95
123
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
124
|
+
if (attrs.view?.time_to_first_byte != null) {
|
|
125
|
+
session.ttfb_ms = Math.max(session.ttfb_ms || 0, attrs.view.time_to_first_byte);
|
|
126
|
+
}
|
|
127
|
+
// TTI (Time to Interactive) - Datadog uses dom_interactive
|
|
128
|
+
if (attrs.view?.dom_interactive != null) {
|
|
129
|
+
session.tti_ms = Math.max(session.tti_ms || 0, attrs.view.dom_interactive);
|
|
130
|
+
}
|
|
131
|
+
if (attrs.view?.load_event != null) {
|
|
132
|
+
session.onload_ms = Math.max(session.onload_ms || 0, attrs.view.load_event);
|
|
133
|
+
}
|
|
134
|
+
// Track page size (transferred bytes)
|
|
135
|
+
if (attrs.resource?.size != null) {
|
|
136
|
+
session.page_size_kb = (session.page_size_kb || 0) + attrs.resource.size / 1024;
|
|
137
|
+
}
|
|
138
|
+
// Track pages visited
|
|
139
|
+
if (attrs.view?.url_path && session.pages_visited) {
|
|
140
|
+
if (!session.pages_visited.includes(attrs.view.url_path)) {
|
|
141
|
+
session.pages_visited.push(attrs.view.url_path);
|
|
142
|
+
}
|
|
143
|
+
// Track exit page (last page seen)
|
|
144
|
+
session.exit_page = attrs.view.url_path;
|
|
145
|
+
}
|
|
146
|
+
// Check for any custom action (conversion events)
|
|
147
|
+
if (attrs.action?.type === 'custom') {
|
|
148
|
+
const eventName = attrs.action?.name;
|
|
149
|
+
const eventValue = attrs.action?.custom?.value || 0;
|
|
150
|
+
// Add to conversions array
|
|
151
|
+
session.conversions.push({
|
|
152
|
+
name: eventName,
|
|
153
|
+
value: eventValue,
|
|
154
|
+
timestamp: attrs['@timestamp'],
|
|
155
|
+
});
|
|
156
|
+
// Legacy: track purchase specifically
|
|
157
|
+
if (eventName === purchaseAction) {
|
|
158
|
+
session.has_purchase = true;
|
|
159
|
+
session.purchase_value += eventValue;
|
|
160
|
+
}
|
|
101
161
|
}
|
|
102
162
|
}
|
|
103
163
|
sessions.push(...sessionMap.values());
|
|
@@ -134,10 +194,15 @@ export function generateMockSessions(options) {
|
|
|
134
194
|
const { count, startDate, endDate, baseConversionRate = 0.03, lcpConversionImpact = 0.85, } = options;
|
|
135
195
|
const sessions = [];
|
|
136
196
|
for (let i = 0; i < count; i++) {
|
|
137
|
-
// Generate realistic
|
|
138
|
-
const
|
|
197
|
+
// Generate realistic performance distributions (log-normal)
|
|
198
|
+
const ttfb = generateLogNormalTtfb();
|
|
199
|
+
const fcp = generateLogNormalFcp(ttfb);
|
|
200
|
+
const lcp = generateLogNormalLcp(fcp);
|
|
201
|
+
const tti = generateLogNormalTti(fcp);
|
|
139
202
|
const inp = generateLogNormalInp();
|
|
140
203
|
const cls = generateCls();
|
|
204
|
+
const onload = generateLogNormalOnload(lcp);
|
|
205
|
+
const pageSize = generatePageSize();
|
|
141
206
|
// Calculate conversion probability based on LCP
|
|
142
207
|
// Empirical model: CVR drops as LCP increases
|
|
143
208
|
const lcpSeconds = lcp / 1000;
|
|
@@ -156,16 +221,90 @@ export function generateMockSessions(options) {
|
|
|
156
221
|
{ value: 'checkout', weight: 0.15 },
|
|
157
222
|
{ value: 'homepage', weight: 0.15 },
|
|
158
223
|
]);
|
|
224
|
+
// Generate engagement metrics
|
|
225
|
+
// Bounce rate is inversely correlated with performance
|
|
226
|
+
const { bounced, pageViews, sessionDuration } = generateEngagementMetrics(lcp, hasPurchase);
|
|
227
|
+
// Generate segmentation data
|
|
228
|
+
const trafficSource = weightedRandom([
|
|
229
|
+
{ value: 'organic', weight: 0.35 },
|
|
230
|
+
{ value: 'paid', weight: 0.25 },
|
|
231
|
+
{ value: 'direct', weight: 0.20 },
|
|
232
|
+
{ value: 'social', weight: 0.10 },
|
|
233
|
+
{ value: 'referral', weight: 0.07 },
|
|
234
|
+
{ value: 'email', weight: 0.03 },
|
|
235
|
+
]);
|
|
236
|
+
const country = weightedRandom([
|
|
237
|
+
{ value: 'US', weight: 0.45 },
|
|
238
|
+
{ value: 'GB', weight: 0.15 },
|
|
239
|
+
{ value: 'CA', weight: 0.10 },
|
|
240
|
+
{ value: 'DE', weight: 0.08 },
|
|
241
|
+
{ value: 'FR', weight: 0.07 },
|
|
242
|
+
{ value: 'AU', weight: 0.05 },
|
|
243
|
+
{ value: 'Other', weight: 0.10 },
|
|
244
|
+
]);
|
|
245
|
+
// Generate conversion events
|
|
246
|
+
const conversions = [];
|
|
247
|
+
const timestamp = generateRandomTimestamp(startDate, endDate);
|
|
248
|
+
const timestampDate = new Date(timestamp);
|
|
249
|
+
// Add to cart event (happens before purchase, ~15% of sessions)
|
|
250
|
+
const hasAddToCart = Math.random() < 0.15 || hasPurchase;
|
|
251
|
+
if (hasAddToCart) {
|
|
252
|
+
conversions.push({
|
|
253
|
+
name: 'add_to_cart',
|
|
254
|
+
value: hasPurchase ? purchaseValue : generateOrderValue() * 0.8,
|
|
255
|
+
timestamp,
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
// Signup event (~2% of sessions)
|
|
259
|
+
if (Math.random() < 0.02) {
|
|
260
|
+
conversions.push({ name: 'signup', value: 0, timestamp });
|
|
261
|
+
}
|
|
262
|
+
// Lead form (~3% of sessions)
|
|
263
|
+
if (Math.random() < 0.03) {
|
|
264
|
+
conversions.push({ name: 'lead', value: 50, timestamp });
|
|
265
|
+
}
|
|
266
|
+
// Purchase event
|
|
267
|
+
if (hasPurchase) {
|
|
268
|
+
conversions.push({
|
|
269
|
+
name: 'purchase',
|
|
270
|
+
value: purchaseValue,
|
|
271
|
+
timestamp,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
// Generate user tracking data
|
|
275
|
+
const userId = `user-${Math.floor(Math.random() * 10000)}`;
|
|
276
|
+
const isNewUser = Math.random() < 0.40;
|
|
277
|
+
// Generate pages visited based on pageViews
|
|
278
|
+
const possiblePages = ['/home', '/products', '/product/123', '/cart', '/checkout', '/account'];
|
|
279
|
+
const pagesVisited = possiblePages.slice(0, Math.min(pageViews, possiblePages.length));
|
|
159
280
|
sessions.push({
|
|
160
281
|
session_id: `mock-${i}-${Date.now()}`,
|
|
161
282
|
lcp_ms: lcp,
|
|
283
|
+
fcp_ms: fcp,
|
|
162
284
|
inp_ms: inp,
|
|
163
285
|
cls,
|
|
286
|
+
ttfb_ms: ttfb,
|
|
287
|
+
tti_ms: tti,
|
|
288
|
+
onload_ms: onload,
|
|
289
|
+
page_size_kb: pageSize,
|
|
164
290
|
has_purchase: hasPurchase,
|
|
165
291
|
purchase_value: purchaseValue,
|
|
292
|
+
conversions,
|
|
293
|
+
bounced,
|
|
294
|
+
page_views: pageViews,
|
|
295
|
+
session_duration_ms: sessionDuration,
|
|
166
296
|
device,
|
|
167
297
|
page_type: pageType,
|
|
168
|
-
|
|
298
|
+
country,
|
|
299
|
+
traffic_source: trafficSource,
|
|
300
|
+
user_id: userId,
|
|
301
|
+
is_new_user: isNewUser,
|
|
302
|
+
entry_page: pagesVisited[0],
|
|
303
|
+
exit_page: pagesVisited[pagesVisited.length - 1],
|
|
304
|
+
pages_visited: pagesVisited,
|
|
305
|
+
timestamp,
|
|
306
|
+
hour_of_day: timestampDate.getHours(),
|
|
307
|
+
day_of_week: timestampDate.getDay(),
|
|
169
308
|
});
|
|
170
309
|
}
|
|
171
310
|
const sessionsWithLcp = sessions.filter((s) => s.lcp_ms !== null).length;
|
|
@@ -211,14 +350,46 @@ function extractPageType(urlPath) {
|
|
|
211
350
|
return 'homepage';
|
|
212
351
|
return 'other';
|
|
213
352
|
}
|
|
214
|
-
function
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
const
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
353
|
+
function normalizeTrafficSource(referrer) {
|
|
354
|
+
if (!referrer)
|
|
355
|
+
return 'direct';
|
|
356
|
+
const ref = referrer.toLowerCase();
|
|
357
|
+
// Search engines (organic)
|
|
358
|
+
if (ref.includes('google.') || ref.includes('bing.') || ref.includes('yahoo.') ||
|
|
359
|
+
ref.includes('duckduckgo.') || ref.includes('baidu.')) {
|
|
360
|
+
return 'organic';
|
|
361
|
+
}
|
|
362
|
+
// Social platforms
|
|
363
|
+
if (ref.includes('facebook.') || ref.includes('instagram.') || ref.includes('twitter.') ||
|
|
364
|
+
ref.includes('linkedin.') || ref.includes('tiktok.') || ref.includes('pinterest.') ||
|
|
365
|
+
ref.includes('youtube.') || ref.includes('reddit.')) {
|
|
366
|
+
return 'social';
|
|
367
|
+
}
|
|
368
|
+
// Email clients
|
|
369
|
+
if (ref.includes('mail.') || ref.includes('outlook.') || ref.includes('gmail.')) {
|
|
370
|
+
return 'email';
|
|
371
|
+
}
|
|
372
|
+
// Paid (usually has utm params, but referrer-based detection)
|
|
373
|
+
if (ref.includes('googleads.') || ref.includes('doubleclick.') || ref.includes('facebook.com/ads')) {
|
|
374
|
+
return 'paid';
|
|
375
|
+
}
|
|
376
|
+
return 'referral';
|
|
377
|
+
}
|
|
378
|
+
function generateLogNormalFcp(ttfb) {
|
|
379
|
+
// FCP is typically TTFB + render time (200-800ms after TTFB)
|
|
380
|
+
const renderTime = 200 + Math.random() * 600;
|
|
381
|
+
return Math.round(ttfb + renderTime);
|
|
382
|
+
}
|
|
383
|
+
function generateLogNormalLcp(fcp) {
|
|
384
|
+
// LCP is typically after FCP, add 200-1500ms for largest content
|
|
385
|
+
const additionalTime = 200 + Math.random() * 1300;
|
|
386
|
+
return Math.round(fcp + additionalTime);
|
|
387
|
+
}
|
|
388
|
+
function generateLogNormalTti(fcp) {
|
|
389
|
+
// TTI (Time to Interactive) is typically after FCP
|
|
390
|
+
// Usually 500-2000ms after FCP for JS hydration
|
|
391
|
+
const hydrationTime = 500 + Math.random() * 1500;
|
|
392
|
+
return Math.round(fcp + hydrationTime);
|
|
222
393
|
}
|
|
223
394
|
function generateLogNormalInp() {
|
|
224
395
|
// INP centered around 150ms
|
|
@@ -235,6 +406,29 @@ function generateCls() {
|
|
|
235
406
|
const spike = Math.random() < 0.1 ? Math.random() * 0.3 : 0;
|
|
236
407
|
return Math.round((base + spike) * 1000) / 1000;
|
|
237
408
|
}
|
|
409
|
+
function generateLogNormalTtfb() {
|
|
410
|
+
// TTFB centered around 400ms
|
|
411
|
+
const mu = Math.log(400);
|
|
412
|
+
const sigma = 0.5;
|
|
413
|
+
const u1 = Math.random();
|
|
414
|
+
const u2 = Math.random();
|
|
415
|
+
const z = Math.sqrt(-2 * Math.log(u1)) * Math.cos(2 * Math.PI * u2);
|
|
416
|
+
return Math.round(Math.exp(mu + sigma * z));
|
|
417
|
+
}
|
|
418
|
+
function generateLogNormalOnload(lcp) {
|
|
419
|
+
// Onload is typically after LCP, with some variance
|
|
420
|
+
const base = lcp + 500 + Math.random() * 1000;
|
|
421
|
+
return Math.round(base);
|
|
422
|
+
}
|
|
423
|
+
function generatePageSize() {
|
|
424
|
+
// Page size in KB, log-normal distribution centered around 2MB
|
|
425
|
+
const mu = Math.log(2000);
|
|
426
|
+
const sigma = 0.6;
|
|
427
|
+
const u1 = Math.random();
|
|
428
|
+
const u2 = Math.random();
|
|
429
|
+
const z = Math.sqrt(-2 * Math.log(u1)) * Math.cos(2 * Math.PI * u2);
|
|
430
|
+
return Math.round(Math.exp(mu + sigma * z));
|
|
431
|
+
}
|
|
238
432
|
function generateOrderValue() {
|
|
239
433
|
// Typical e-commerce AOV distribution
|
|
240
434
|
const base = 50 + Math.random() * 100;
|
|
@@ -257,4 +451,31 @@ function generateRandomTimestamp(start, end) {
|
|
|
257
451
|
const randomMs = startMs + Math.random() * (endMs - startMs);
|
|
258
452
|
return new Date(randomMs).toISOString();
|
|
259
453
|
}
|
|
454
|
+
function generateEngagementMetrics(lcpMs, hasPurchase) {
|
|
455
|
+
// Bounce rate correlates with LCP - slower pages = higher bounce
|
|
456
|
+
// Base bounce rate: ~45% for fast pages, up to 70%+ for slow pages
|
|
457
|
+
const lcpSeconds = lcpMs / 1000;
|
|
458
|
+
const baseBounceRate = 0.45;
|
|
459
|
+
const lcpPenalty = Math.min(0.3, lcpSeconds * 0.05); // +5% bounce per second LCP
|
|
460
|
+
const bounceRate = baseBounceRate + lcpPenalty;
|
|
461
|
+
// Purchasers never bounce (they completed checkout)
|
|
462
|
+
const bounced = hasPurchase ? false : Math.random() < bounceRate;
|
|
463
|
+
// Page views: bounced = 1, non-bounced = 2-8 pages
|
|
464
|
+
let pageViews;
|
|
465
|
+
if (bounced) {
|
|
466
|
+
pageViews = 1;
|
|
467
|
+
}
|
|
468
|
+
else if (hasPurchase) {
|
|
469
|
+
// Purchasers typically view more pages (product, cart, checkout, confirmation)
|
|
470
|
+
pageViews = 3 + Math.floor(Math.random() * 5); // 3-7 pages
|
|
471
|
+
}
|
|
472
|
+
else {
|
|
473
|
+
pageViews = 2 + Math.floor(Math.random() * 4); // 2-5 pages
|
|
474
|
+
}
|
|
475
|
+
// Session duration correlates with page views and inversely with bounce
|
|
476
|
+
// Average time per page: 30-90 seconds
|
|
477
|
+
const avgTimePerPage = 30000 + Math.random() * 60000; // 30-90s in ms
|
|
478
|
+
const sessionDuration = Math.round(pageViews * avgTimePerPage);
|
|
479
|
+
return { bounced, pageViews, sessionDuration };
|
|
480
|
+
}
|
|
260
481
|
//# sourceMappingURL=datadog-session-query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datadog-session-query.js","sourceRoot":"","sources":["../../src/empirical/datadog-session-query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"datadog-session-query.js","sourceRoot":"","sources":["../../src/empirical/datadog-session-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Engagement Analysis
|
|
3
|
+
*
|
|
4
|
+
* Analyzes the relationship between performance and user engagement.
|
|
5
|
+
* Key metrics: bounce rate, page views per session, session duration.
|
|
6
|
+
*
|
|
7
|
+
* This complements conversion analysis by showing HOW performance
|
|
8
|
+
* affects user behavior before conversion decisions.
|
|
9
|
+
*
|
|
10
|
+
* @author Kanmi Obasa <i@kanmiobasa.com>
|
|
11
|
+
*/
|
|
12
|
+
import type { SessionData } from './datadog-session-query.js';
|
|
13
|
+
import type { PerformanceMetric } from './conversion-curve.js';
|
|
14
|
+
export interface EngagementBucket {
|
|
15
|
+
/** Bucket range (e.g., "0-1s" for LCP) */
|
|
16
|
+
range: string;
|
|
17
|
+
/** Lower bound in ms */
|
|
18
|
+
lower_ms: number;
|
|
19
|
+
/** Upper bound in ms */
|
|
20
|
+
upper_ms: number;
|
|
21
|
+
/** Number of sessions in this bucket */
|
|
22
|
+
sessions: number;
|
|
23
|
+
/** Number of bounced sessions */
|
|
24
|
+
bounces: number;
|
|
25
|
+
/** Bounce rate (bounces / sessions) */
|
|
26
|
+
bounce_rate: number;
|
|
27
|
+
/** Average page views per session */
|
|
28
|
+
avg_page_views: number;
|
|
29
|
+
/** Average session duration in ms */
|
|
30
|
+
avg_session_duration_ms: number;
|
|
31
|
+
/** Statistical confidence */
|
|
32
|
+
confidence: 'high' | 'medium' | 'low';
|
|
33
|
+
}
|
|
34
|
+
export interface EngagementCurve {
|
|
35
|
+
/** The metric being analyzed */
|
|
36
|
+
metric: PerformanceMetric;
|
|
37
|
+
/** Buckets from fastest to slowest */
|
|
38
|
+
buckets: EngagementBucket[];
|
|
39
|
+
/** Summary statistics */
|
|
40
|
+
summary: {
|
|
41
|
+
total_sessions: number;
|
|
42
|
+
total_bounces: number;
|
|
43
|
+
overall_bounce_rate: number;
|
|
44
|
+
avg_page_views: number;
|
|
45
|
+
avg_session_duration_ms: number;
|
|
46
|
+
/** Bounce rate delta between fastest and slowest bucket */
|
|
47
|
+
bounce_rate_range: number;
|
|
48
|
+
/** Relative bounce rate increase from fast to slow */
|
|
49
|
+
relative_bounce_increase: number;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export interface EngagementOpportunity {
|
|
53
|
+
/** The metric analyzed */
|
|
54
|
+
metric: PerformanceMetric;
|
|
55
|
+
/** Target threshold in ms */
|
|
56
|
+
target_ms: number;
|
|
57
|
+
/** Sessions above target (slow) */
|
|
58
|
+
slow_sessions: number;
|
|
59
|
+
/** Bounce rate for slow sessions */
|
|
60
|
+
slow_bounce_rate: number;
|
|
61
|
+
/** Bounce rate for fast sessions */
|
|
62
|
+
fast_bounce_rate: number;
|
|
63
|
+
/** Bounce rate delta */
|
|
64
|
+
bounce_rate_delta: number;
|
|
65
|
+
/** Potential bounces prevented if slow sessions achieved fast performance */
|
|
66
|
+
potential_bounces_prevented: number;
|
|
67
|
+
/** Confidence level */
|
|
68
|
+
confidence: 'high' | 'medium' | 'low';
|
|
69
|
+
/** Insight text */
|
|
70
|
+
insight: string;
|
|
71
|
+
}
|
|
72
|
+
export interface EngagementReport {
|
|
73
|
+
/** Engagement curves for each metric */
|
|
74
|
+
curves: Record<PerformanceMetric, EngagementCurve>;
|
|
75
|
+
/** Top opportunities to reduce bounce rate */
|
|
76
|
+
opportunities: EngagementOpportunity[];
|
|
77
|
+
/** Overall summary */
|
|
78
|
+
summary: {
|
|
79
|
+
total_sessions: number;
|
|
80
|
+
overall_bounce_rate: number;
|
|
81
|
+
avg_page_views: number;
|
|
82
|
+
primary_driver: PerformanceMetric | null;
|
|
83
|
+
primary_driver_impact: string;
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export interface EngagementConfig {
|
|
87
|
+
/** Minimum sessions per bucket for consideration. Default: 50 */
|
|
88
|
+
minSessions?: number;
|
|
89
|
+
/** Custom bucket boundaries in ms. Default: CWV thresholds */
|
|
90
|
+
bucketBoundaries?: number[];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Build an engagement curve showing bounce rate by performance bucket.
|
|
94
|
+
*/
|
|
95
|
+
export declare function buildEngagementCurve(sessions: SessionData[], metric: PerformanceMetric, config?: EngagementConfig): EngagementCurve;
|
|
96
|
+
/**
|
|
97
|
+
* Build engagement curves for all performance metrics.
|
|
98
|
+
*/
|
|
99
|
+
export declare function buildAllEngagementCurves(sessions: SessionData[], config?: EngagementConfig): Record<PerformanceMetric, EngagementCurve>;
|
|
100
|
+
/**
|
|
101
|
+
* Calculate engagement opportunities for a single metric.
|
|
102
|
+
*/
|
|
103
|
+
export declare function calculateEngagementOpportunity(curve: EngagementCurve, targetMs: number): EngagementOpportunity | null;
|
|
104
|
+
/**
|
|
105
|
+
* Generate a full engagement report.
|
|
106
|
+
*/
|
|
107
|
+
export declare function generateEngagementReport(sessions: SessionData[], config?: EngagementConfig): EngagementReport;
|
|
108
|
+
/**
|
|
109
|
+
* Generate a markdown report of engagement analysis.
|
|
110
|
+
*/
|
|
111
|
+
export declare function generateEngagementMarkdownReport(report: EngagementReport): string;
|
|
112
|
+
//# sourceMappingURL=engagement-analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engagement-analysis.d.ts","sourceRoot":"","sources":["../../src/empirical/engagement-analysis.ts"],"names":[],"mappings":"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"}
|