@ak--47/dungeon-master 1.1.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/dungeons/technical/ad-spend-schema.json +2 -2
- package/dungeons/technical/ad-spend.js +1 -1
- package/dungeons/technical/anonymous-users-schema.json +4 -3
- package/dungeons/technical/anonymous-users.js +1 -1
- package/dungeons/technical/array-of-object-lookup-schema.json +1 -1
- package/dungeons/technical/array-of-object-lookup.js +1 -1
- package/dungeons/technical/experiments-schema.json +25 -19
- package/dungeons/technical/experiments.js +1 -1
- package/dungeons/technical/foobar.js +1 -1
- package/dungeons/technical/group-analytics-schema.json +92 -0
- package/dungeons/technical/group-analytics.js +1 -1
- package/dungeons/technical/mirror-strategies-schema.json +4 -4
- package/dungeons/technical/mirror-strategies.js +1 -1
- package/dungeons/technical/nested-objects.js +1 -1
- package/dungeons/technical/retention-cadence.js +1 -2
- package/dungeons/technical/sanity-schema.json +22 -22
- package/dungeons/technical/sanity.js +1 -0
- package/dungeons/technical/scale-test.js +1 -1
- package/dungeons/technical/scd-schema.json +230 -33
- package/dungeons/technical/scd.js +1 -0
- package/dungeons/technical/simple-schema.json +132 -48
- package/dungeons/technical/simple.js +1 -1
- package/dungeons/technical/simplest-schema.json +168 -79
- package/dungeons/technical/simplest.js +1 -1
- package/dungeons/technical/text-generation-schema.json +7 -4
- package/dungeons/technical/text-generation.js +1 -2
- package/dungeons/vertical/community-schema.json +71 -49
- package/dungeons/vertical/community.js +8 -2
- package/dungeons/vertical/devtools-schema.json +69 -48
- package/dungeons/vertical/devtools.js +8 -2
- package/dungeons/vertical/ecommerce-schema.json +126 -108
- package/dungeons/vertical/ecommerce.js +9 -2
- package/dungeons/vertical/education-schema.json +5261 -272
- package/dungeons/vertical/education.js +16 -3
- package/dungeons/vertical/fintech-schema.json +165 -98
- package/dungeons/vertical/fintech.js +16 -3
- package/dungeons/vertical/fitness-schema.json +69 -47
- package/dungeons/vertical/fitness.js +8 -2
- package/dungeons/vertical/food-delivery-schema.json +36237 -187
- package/dungeons/vertical/food-delivery.js +16 -3
- package/dungeons/vertical/gaming-schema.json +103 -59
- package/dungeons/vertical/gaming.js +20 -9
- package/dungeons/vertical/healthcare-schema.json +70 -48
- package/dungeons/vertical/healthcare.js +8 -2
- package/dungeons/vertical/insurance-application-schema.json +66 -47
- package/dungeons/vertical/insurance-application.js +8 -2
- package/dungeons/vertical/logistics-schema.json +60 -38
- package/dungeons/vertical/logistics.js +8 -2
- package/dungeons/vertical/marketplace-schema.json +65 -43
- package/dungeons/vertical/marketplace.js +8 -2
- package/dungeons/vertical/media-schema.json +4085 -123
- package/dungeons/vertical/media.js +9 -3
- package/dungeons/vertical/rpg-schema.json +1984 -147
- package/dungeons/vertical/rpg.js +9 -3
- package/dungeons/vertical/sass-schema.json +2622 -147
- package/dungeons/vertical/sass.js +16 -3
- package/dungeons/vertical/social-schema.json +146 -78
- package/dungeons/vertical/social.js +16 -3
- package/dungeons/vertical/travel-schema.json +57 -35
- package/dungeons/vertical/travel.js +8 -2
- package/index.js +1 -1
- package/lib/core/context.js +9 -0
- package/lib/core/storage.js +2 -0
- package/lib/orchestrators/user-loop.js +4 -1
- package/package.json +1 -1
- package/scripts/extract-dungeon-schema.mjs +64 -18
- package/types.d.ts +3 -0
|
@@ -10,7 +10,7 @@ const chance = u.initChance(SEED);
|
|
|
10
10
|
const num_users = 5_000;
|
|
11
11
|
const days = 100;
|
|
12
12
|
|
|
13
|
-
/** @typedef {import("
|
|
13
|
+
/** @typedef {import("../../types").Dungeon} Config */
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* ═══════════════════════════════════════════════════════════════════════════════
|
|
@@ -203,7 +203,6 @@ const config = {
|
|
|
203
203
|
hasAdSpend: false,
|
|
204
204
|
percentUsersBornInDataset: 50,
|
|
205
205
|
hasAvatar: true,
|
|
206
|
-
batchSize: 2_500_000,
|
|
207
206
|
concurrency: 1,
|
|
208
207
|
writeToDisk: false,
|
|
209
208
|
|
|
@@ -440,7 +439,21 @@ const config = {
|
|
|
440
439
|
platform: ["Web", "iOS", "Android", "iPad"],
|
|
441
440
|
},
|
|
442
441
|
|
|
443
|
-
scdProps: {
|
|
442
|
+
scdProps: {
|
|
443
|
+
enrollment_status: {
|
|
444
|
+
values: ["enrolled", "active", "completed", "dropped"],
|
|
445
|
+
frequency: "month",
|
|
446
|
+
timing: "fuzzy",
|
|
447
|
+
max: 6
|
|
448
|
+
},
|
|
449
|
+
course_status: {
|
|
450
|
+
values: ["draft", "published", "archived", "deprecated"],
|
|
451
|
+
frequency: "month",
|
|
452
|
+
timing: "fixed",
|
|
453
|
+
max: 6,
|
|
454
|
+
type: "course_id"
|
|
455
|
+
}
|
|
456
|
+
},
|
|
444
457
|
|
|
445
458
|
userProps: {
|
|
446
459
|
"account_type": ["student", "student", "student", "student", "student", "student", "student", "student", "instructor"],
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"isFirstEvent": true,
|
|
6
6
|
"properties": {
|
|
7
7
|
"account_type": [
|
|
8
|
-
"
|
|
9
|
-
"
|
|
8
|
+
"personal",
|
|
9
|
+
"business"
|
|
10
10
|
],
|
|
11
11
|
"signup_channel": [
|
|
12
12
|
"app",
|
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
"properties": {
|
|
23
23
|
"session_duration_sec": {
|
|
24
24
|
"$range": [
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
115,
|
|
26
|
+
487
|
|
27
27
|
]
|
|
28
28
|
},
|
|
29
29
|
"pages_viewed": [
|
|
30
30
|
5,
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
10,
|
|
32
|
+
4
|
|
33
33
|
],
|
|
34
34
|
"month_end_anxiety": [
|
|
35
35
|
false
|
|
@@ -140,9 +140,10 @@
|
|
|
140
140
|
2710
|
|
141
141
|
]
|
|
142
142
|
},
|
|
143
|
-
"auto_pay":
|
|
144
|
-
|
|
145
|
-
|
|
143
|
+
"auto_pay": [
|
|
144
|
+
false,
|
|
145
|
+
true
|
|
146
|
+
],
|
|
146
147
|
"missed_payment": [
|
|
147
148
|
false
|
|
148
149
|
],
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
]
|
|
236
237
|
},
|
|
237
238
|
"action": [
|
|
238
|
-
"buy"
|
|
239
|
+
"buy",
|
|
240
|
+
"sell"
|
|
239
241
|
],
|
|
240
242
|
"premium_returns": [
|
|
241
243
|
false
|
|
@@ -316,13 +318,12 @@
|
|
|
316
318
|
]
|
|
317
319
|
},
|
|
318
320
|
"interest_rate": [
|
|
319
|
-
4,
|
|
320
|
-
14,
|
|
321
|
-
7,
|
|
322
321
|
17,
|
|
323
322
|
10,
|
|
324
323
|
18,
|
|
325
|
-
8
|
|
324
|
+
8,
|
|
325
|
+
9,
|
|
326
|
+
6
|
|
326
327
|
]
|
|
327
328
|
}
|
|
328
329
|
},
|
|
@@ -336,13 +337,13 @@
|
|
|
336
337
|
"premium"
|
|
337
338
|
],
|
|
338
339
|
"new_tier": [
|
|
339
|
-
"
|
|
340
|
-
"
|
|
340
|
+
"plus",
|
|
341
|
+
"premium"
|
|
341
342
|
],
|
|
342
343
|
"monthly_fee": [
|
|
343
|
-
14.99,
|
|
344
344
|
4.99,
|
|
345
|
-
9.99
|
|
345
|
+
9.99,
|
|
346
|
+
14.99
|
|
346
347
|
]
|
|
347
348
|
}
|
|
348
349
|
},
|
|
@@ -363,9 +364,10 @@
|
|
|
363
364
|
"transfer",
|
|
364
365
|
"technical"
|
|
365
366
|
],
|
|
366
|
-
"resolved":
|
|
367
|
-
|
|
368
|
-
|
|
367
|
+
"resolved": [
|
|
368
|
+
false,
|
|
369
|
+
true
|
|
370
|
+
],
|
|
369
371
|
"fraud_sequence": [
|
|
370
372
|
false
|
|
371
373
|
]
|
|
@@ -383,9 +385,10 @@
|
|
|
383
385
|
"security",
|
|
384
386
|
"promo"
|
|
385
387
|
],
|
|
386
|
-
"action_taken":
|
|
387
|
-
|
|
388
|
-
|
|
388
|
+
"action_taken": [
|
|
389
|
+
false,
|
|
390
|
+
true
|
|
391
|
+
]
|
|
389
392
|
}
|
|
390
393
|
},
|
|
391
394
|
{
|
|
@@ -399,15 +402,15 @@
|
|
|
399
402
|
"partner_offer"
|
|
400
403
|
],
|
|
401
404
|
"value": [
|
|
405
|
+
74,
|
|
406
|
+
39,
|
|
402
407
|
23,
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
47,
|
|
410
|
-
20
|
|
408
|
+
30,
|
|
409
|
+
60,
|
|
410
|
+
73,
|
|
411
|
+
46,
|
|
412
|
+
25,
|
|
413
|
+
27
|
|
411
414
|
],
|
|
412
415
|
"premium_reward": [
|
|
413
416
|
false
|
|
@@ -415,71 +418,6 @@
|
|
|
415
418
|
}
|
|
416
419
|
}
|
|
417
420
|
],
|
|
418
|
-
"superProps": {
|
|
419
|
-
"account_tier": [
|
|
420
|
-
"plus",
|
|
421
|
-
"basic",
|
|
422
|
-
"premium"
|
|
423
|
-
],
|
|
424
|
-
"platform": [
|
|
425
|
-
"ios",
|
|
426
|
-
"android",
|
|
427
|
-
"web"
|
|
428
|
-
],
|
|
429
|
-
"low_balance_churn": [
|
|
430
|
-
false
|
|
431
|
-
]
|
|
432
|
-
},
|
|
433
|
-
"userProps": {
|
|
434
|
-
"credit_score_range": [
|
|
435
|
-
"300-579",
|
|
436
|
-
"580-669",
|
|
437
|
-
"670-739",
|
|
438
|
-
"740-799",
|
|
439
|
-
"800-850"
|
|
440
|
-
],
|
|
441
|
-
"income_bracket": [
|
|
442
|
-
"under_30k",
|
|
443
|
-
"30k_50k",
|
|
444
|
-
"50k_75k",
|
|
445
|
-
"75k_100k",
|
|
446
|
-
"100k_150k",
|
|
447
|
-
"over_150k"
|
|
448
|
-
],
|
|
449
|
-
"account_age_months": {
|
|
450
|
-
"$range": [
|
|
451
|
-
17,
|
|
452
|
-
46
|
|
453
|
-
]
|
|
454
|
-
},
|
|
455
|
-
"total_balance": {
|
|
456
|
-
"$range": [
|
|
457
|
-
16006,
|
|
458
|
-
83008
|
|
459
|
-
]
|
|
460
|
-
},
|
|
461
|
-
"has_direct_deposit": {
|
|
462
|
-
"$type": "array"
|
|
463
|
-
},
|
|
464
|
-
"account_segment": [
|
|
465
|
-
"personal"
|
|
466
|
-
],
|
|
467
|
-
"employee_count": [
|
|
468
|
-
0
|
|
469
|
-
],
|
|
470
|
-
"annual_revenue": [
|
|
471
|
-
0
|
|
472
|
-
],
|
|
473
|
-
"industry": [
|
|
474
|
-
""
|
|
475
|
-
],
|
|
476
|
-
"age_range": [
|
|
477
|
-
""
|
|
478
|
-
],
|
|
479
|
-
"life_stage": [
|
|
480
|
-
""
|
|
481
|
-
]
|
|
482
|
-
},
|
|
483
421
|
"funnels": [
|
|
484
422
|
{
|
|
485
423
|
"sequence": [
|
|
@@ -559,5 +497,134 @@
|
|
|
559
497
|
"conversionRate": 25,
|
|
560
498
|
"timeToConvert": 10
|
|
561
499
|
}
|
|
562
|
-
]
|
|
500
|
+
],
|
|
501
|
+
"superProps": {
|
|
502
|
+
"account_tier": [
|
|
503
|
+
"basic",
|
|
504
|
+
"plus",
|
|
505
|
+
"premium"
|
|
506
|
+
],
|
|
507
|
+
"platform": [
|
|
508
|
+
"ios",
|
|
509
|
+
"android",
|
|
510
|
+
"web"
|
|
511
|
+
],
|
|
512
|
+
"low_balance_churn": [
|
|
513
|
+
false
|
|
514
|
+
]
|
|
515
|
+
},
|
|
516
|
+
"userProps": {
|
|
517
|
+
"credit_score_range": [
|
|
518
|
+
"300-579",
|
|
519
|
+
"580-669",
|
|
520
|
+
"670-739",
|
|
521
|
+
"740-799",
|
|
522
|
+
"800-850"
|
|
523
|
+
],
|
|
524
|
+
"income_bracket": [
|
|
525
|
+
"under_30k",
|
|
526
|
+
"30k_50k",
|
|
527
|
+
"50k_75k",
|
|
528
|
+
"75k_100k",
|
|
529
|
+
"100k_150k",
|
|
530
|
+
"over_150k"
|
|
531
|
+
],
|
|
532
|
+
"account_age_months": {
|
|
533
|
+
"$range": [
|
|
534
|
+
15,
|
|
535
|
+
44
|
|
536
|
+
]
|
|
537
|
+
},
|
|
538
|
+
"total_balance": {
|
|
539
|
+
"$range": [
|
|
540
|
+
16006,
|
|
541
|
+
83008
|
|
542
|
+
]
|
|
543
|
+
},
|
|
544
|
+
"has_direct_deposit": [
|
|
545
|
+
false,
|
|
546
|
+
true
|
|
547
|
+
],
|
|
548
|
+
"account_segment": [
|
|
549
|
+
"personal"
|
|
550
|
+
],
|
|
551
|
+
"employee_count": [
|
|
552
|
+
0
|
|
553
|
+
],
|
|
554
|
+
"annual_revenue": [
|
|
555
|
+
0
|
|
556
|
+
],
|
|
557
|
+
"industry": [
|
|
558
|
+
""
|
|
559
|
+
],
|
|
560
|
+
"age_range": [
|
|
561
|
+
""
|
|
562
|
+
],
|
|
563
|
+
"life_stage": [
|
|
564
|
+
""
|
|
565
|
+
]
|
|
566
|
+
},
|
|
567
|
+
"groupKeys": [
|
|
568
|
+
{
|
|
569
|
+
"key": "household_id",
|
|
570
|
+
"count": 500,
|
|
571
|
+
"affectsEvents": [
|
|
572
|
+
"transaction completed",
|
|
573
|
+
"transfer sent",
|
|
574
|
+
"bill paid",
|
|
575
|
+
"savings goal set"
|
|
576
|
+
]
|
|
577
|
+
}
|
|
578
|
+
],
|
|
579
|
+
"groupProps": {
|
|
580
|
+
"household_id": {
|
|
581
|
+
"household_size": {
|
|
582
|
+
"$range": [
|
|
583
|
+
1,
|
|
584
|
+
6
|
|
585
|
+
]
|
|
586
|
+
},
|
|
587
|
+
"combined_income": {
|
|
588
|
+
"$range": [
|
|
589
|
+
61633,
|
|
590
|
+
263131
|
|
591
|
+
]
|
|
592
|
+
},
|
|
593
|
+
"financial_health_score": {
|
|
594
|
+
"$range": [
|
|
595
|
+
12,
|
|
596
|
+
81
|
|
597
|
+
]
|
|
598
|
+
},
|
|
599
|
+
"primary_bank": [
|
|
600
|
+
"NexBank_only",
|
|
601
|
+
"multi_bank"
|
|
602
|
+
]
|
|
603
|
+
}
|
|
604
|
+
},
|
|
605
|
+
"scdProps": {
|
|
606
|
+
"account_tier": {
|
|
607
|
+
"type": "user",
|
|
608
|
+
"frequency": "month",
|
|
609
|
+
"timing": "fuzzy",
|
|
610
|
+
"max": 6,
|
|
611
|
+
"values": [
|
|
612
|
+
"basic",
|
|
613
|
+
"plus",
|
|
614
|
+
"premium"
|
|
615
|
+
]
|
|
616
|
+
},
|
|
617
|
+
"risk_category": {
|
|
618
|
+
"type": "household_id",
|
|
619
|
+
"frequency": "month",
|
|
620
|
+
"timing": "fixed",
|
|
621
|
+
"max": 8,
|
|
622
|
+
"values": [
|
|
623
|
+
"low",
|
|
624
|
+
"medium",
|
|
625
|
+
"high",
|
|
626
|
+
"critical"
|
|
627
|
+
]
|
|
628
|
+
}
|
|
629
|
+
}
|
|
563
630
|
}
|
|
@@ -9,7 +9,7 @@ const chance = u.initChance(SEED);
|
|
|
9
9
|
const num_users = 5_000;
|
|
10
10
|
const days = 100;
|
|
11
11
|
|
|
12
|
-
/** @typedef {import("
|
|
12
|
+
/** @typedef {import("../../types").Dungeon} Config */
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* ===================================================================
|
|
@@ -151,11 +151,24 @@ const config = {
|
|
|
151
151
|
|
|
152
152
|
hasAvatar: true,
|
|
153
153
|
|
|
154
|
-
batchSize: 2_500_000,
|
|
155
154
|
concurrency: 1,
|
|
156
155
|
writeToDisk: false,
|
|
157
156
|
|
|
158
|
-
scdProps: {
|
|
157
|
+
scdProps: {
|
|
158
|
+
account_tier: {
|
|
159
|
+
values: ["basic", "plus", "premium"],
|
|
160
|
+
frequency: "month",
|
|
161
|
+
timing: "fuzzy",
|
|
162
|
+
max: 6
|
|
163
|
+
},
|
|
164
|
+
risk_category: {
|
|
165
|
+
values: ["low", "medium", "high", "critical"],
|
|
166
|
+
frequency: "month",
|
|
167
|
+
timing: "fixed",
|
|
168
|
+
max: 8,
|
|
169
|
+
type: "household_id"
|
|
170
|
+
}
|
|
171
|
+
},
|
|
159
172
|
|
|
160
173
|
funnels: [
|
|
161
174
|
{
|
|
@@ -392,6 +392,9 @@
|
|
|
392
392
|
},
|
|
393
393
|
{
|
|
394
394
|
"event": "account deactivated",
|
|
395
|
+
"isChurnEvent": true,
|
|
396
|
+
"returnLikelihood": 0.15,
|
|
397
|
+
"isStrictEvent": true,
|
|
395
398
|
"properties": {
|
|
396
399
|
"reason": [
|
|
397
400
|
"lost_motivation",
|
|
@@ -403,52 +406,6 @@
|
|
|
403
406
|
}
|
|
404
407
|
}
|
|
405
408
|
],
|
|
406
|
-
"superProps": {
|
|
407
|
-
"platform": [
|
|
408
|
-
"ios",
|
|
409
|
-
"android"
|
|
410
|
-
],
|
|
411
|
-
"workout_type": [
|
|
412
|
-
"strength",
|
|
413
|
-
"cardio",
|
|
414
|
-
"yoga",
|
|
415
|
-
"hiit",
|
|
416
|
-
"running",
|
|
417
|
-
"cycling"
|
|
418
|
-
]
|
|
419
|
-
},
|
|
420
|
-
"userProps": {
|
|
421
|
-
"fitness_level": [
|
|
422
|
-
"beginner"
|
|
423
|
-
],
|
|
424
|
-
"segment": [
|
|
425
|
-
"casual"
|
|
426
|
-
],
|
|
427
|
-
"streak_days": [
|
|
428
|
-
0
|
|
429
|
-
],
|
|
430
|
-
"total_workouts": {
|
|
431
|
-
"$range": [
|
|
432
|
-
0,
|
|
433
|
-
0
|
|
434
|
-
]
|
|
435
|
-
},
|
|
436
|
-
"preferred_workout": [
|
|
437
|
-
"strength",
|
|
438
|
-
"cardio",
|
|
439
|
-
"yoga",
|
|
440
|
-
"hiit",
|
|
441
|
-
"running",
|
|
442
|
-
"cycling"
|
|
443
|
-
],
|
|
444
|
-
"goal": [
|
|
445
|
-
"weight_loss",
|
|
446
|
-
"muscle_gain",
|
|
447
|
-
"endurance",
|
|
448
|
-
"flexibility",
|
|
449
|
-
"general_health"
|
|
450
|
-
]
|
|
451
|
-
},
|
|
452
409
|
"funnels": [
|
|
453
410
|
{
|
|
454
411
|
"sequence": [
|
|
@@ -457,6 +414,7 @@
|
|
|
457
414
|
"workout planned",
|
|
458
415
|
"workout completed"
|
|
459
416
|
],
|
|
417
|
+
"name": "Onboarding",
|
|
460
418
|
"isFirstFunnel": true,
|
|
461
419
|
"conversionRate": 45,
|
|
462
420
|
"timeToConvert": 72,
|
|
@@ -468,6 +426,7 @@
|
|
|
468
426
|
"workout completed",
|
|
469
427
|
"progress checked"
|
|
470
428
|
],
|
|
429
|
+
"name": "Workout Loop",
|
|
471
430
|
"conversionRate": 45,
|
|
472
431
|
"timeToConvert": 48,
|
|
473
432
|
"weight": 5
|
|
@@ -478,6 +437,7 @@
|
|
|
478
437
|
"leaderboard viewed",
|
|
479
438
|
"challenge joined"
|
|
480
439
|
],
|
|
440
|
+
"name": "Social Engagement",
|
|
481
441
|
"conversionRate": 35,
|
|
482
442
|
"timeToConvert": 96,
|
|
483
443
|
"weight": 3
|
|
@@ -489,6 +449,7 @@
|
|
|
489
449
|
"challenge completed",
|
|
490
450
|
"achievement unlocked"
|
|
491
451
|
],
|
|
452
|
+
"name": "Challenge Completion",
|
|
492
453
|
"conversionRate": 30,
|
|
493
454
|
"timeToConvert": 336,
|
|
494
455
|
"weight": 2
|
|
@@ -500,9 +461,70 @@
|
|
|
500
461
|
"workout completed",
|
|
501
462
|
"progress checked"
|
|
502
463
|
],
|
|
464
|
+
"name": "Coaching Path",
|
|
503
465
|
"conversionRate": 50,
|
|
504
466
|
"timeToConvert": 72,
|
|
505
467
|
"weight": 2
|
|
506
468
|
}
|
|
507
|
-
]
|
|
469
|
+
],
|
|
470
|
+
"superProps": {
|
|
471
|
+
"platform": [
|
|
472
|
+
"ios",
|
|
473
|
+
"android"
|
|
474
|
+
],
|
|
475
|
+
"workout_type": [
|
|
476
|
+
"strength",
|
|
477
|
+
"cardio",
|
|
478
|
+
"yoga",
|
|
479
|
+
"hiit",
|
|
480
|
+
"running",
|
|
481
|
+
"cycling"
|
|
482
|
+
]
|
|
483
|
+
},
|
|
484
|
+
"userProps": {
|
|
485
|
+
"fitness_level": [
|
|
486
|
+
"beginner"
|
|
487
|
+
],
|
|
488
|
+
"segment": [
|
|
489
|
+
"casual"
|
|
490
|
+
],
|
|
491
|
+
"streak_days": [
|
|
492
|
+
0
|
|
493
|
+
],
|
|
494
|
+
"total_workouts": {
|
|
495
|
+
"$range": [
|
|
496
|
+
0,
|
|
497
|
+
0
|
|
498
|
+
]
|
|
499
|
+
},
|
|
500
|
+
"preferred_workout": [
|
|
501
|
+
"strength",
|
|
502
|
+
"cardio",
|
|
503
|
+
"yoga",
|
|
504
|
+
"hiit",
|
|
505
|
+
"running",
|
|
506
|
+
"cycling"
|
|
507
|
+
],
|
|
508
|
+
"goal": [
|
|
509
|
+
"weight_loss",
|
|
510
|
+
"muscle_gain",
|
|
511
|
+
"endurance",
|
|
512
|
+
"flexibility",
|
|
513
|
+
"general_health"
|
|
514
|
+
]
|
|
515
|
+
},
|
|
516
|
+
"scdProps": {
|
|
517
|
+
"fitness_level": {
|
|
518
|
+
"type": "user",
|
|
519
|
+
"frequency": "month",
|
|
520
|
+
"timing": "fuzzy",
|
|
521
|
+
"max": 8,
|
|
522
|
+
"values": [
|
|
523
|
+
"beginner",
|
|
524
|
+
"intermediate",
|
|
525
|
+
"advanced",
|
|
526
|
+
"elite"
|
|
527
|
+
]
|
|
528
|
+
}
|
|
529
|
+
}
|
|
508
530
|
}
|
|
@@ -275,10 +275,16 @@ const config = {
|
|
|
275
275
|
hasAdSpend: false,
|
|
276
276
|
percentUsersBornInDataset: 35,
|
|
277
277
|
hasAvatar: true,
|
|
278
|
-
batchSize: 2_500_000,
|
|
279
278
|
concurrency: 1,
|
|
280
279
|
writeToDisk: false,
|
|
281
|
-
scdProps: {
|
|
280
|
+
scdProps: {
|
|
281
|
+
fitness_level: {
|
|
282
|
+
values: ["beginner", "intermediate", "advanced", "elite"],
|
|
283
|
+
frequency: "month",
|
|
284
|
+
timing: "fuzzy",
|
|
285
|
+
max: 8
|
|
286
|
+
}
|
|
287
|
+
},
|
|
282
288
|
mirrorProps: {},
|
|
283
289
|
lookupTables: [],
|
|
284
290
|
|