@adtrackify/at-tracking-event-types 4.41.0 → 4.41.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.
Files changed (55) hide show
  1. package/dist/cjs/types/api/measures/definitions/channel-measure-definitions.js +654 -110
  2. package/dist/cjs/types/api/measures/definitions/channel-measure-definitions.js.map +1 -1
  3. package/dist/cjs/types/api/measures/definitions/core-measure-definitions.js +494 -163
  4. package/dist/cjs/types/api/measures/definitions/core-measure-definitions.js.map +1 -1
  5. package/dist/cjs/types/api/measures/definitions/emq-measure-definitions.js +77 -16
  6. package/dist/cjs/types/api/measures/definitions/emq-measure-definitions.js.map +1 -1
  7. package/dist/cjs/types/api/measures/definitions/facebook-measure-definitions.js +552 -105
  8. package/dist/cjs/types/api/measures/definitions/facebook-measure-definitions.js.map +1 -1
  9. package/dist/cjs/types/api/measures/definitions/google-measure-definitions.js +121 -21
  10. package/dist/cjs/types/api/measures/definitions/google-measure-definitions.js.map +1 -1
  11. package/dist/cjs/types/api/measures/definitions/measure-categories.d.ts +47 -0
  12. package/dist/cjs/types/api/measures/definitions/measure-categories.js +49 -1
  13. package/dist/cjs/types/api/measures/definitions/measure-categories.js.map +1 -1
  14. package/dist/cjs/types/api/measures/definitions/measure-definitions.d.ts +12 -3
  15. package/dist/cjs/types/api/measures/definitions/measure-definitions.js.map +1 -1
  16. package/dist/cjs/types/api/measures/definitions/orders-measure-definitions.js +834 -138
  17. package/dist/cjs/types/api/measures/definitions/orders-measure-definitions.js.map +1 -1
  18. package/dist/cjs/types/api/measures/definitions/session-measure-definitions.js +111 -24
  19. package/dist/cjs/types/api/measures/definitions/session-measure-definitions.js.map +1 -1
  20. package/dist/cjs/types/api/measures/definitions/shopify/shopify-measure-definitions.js +190 -0
  21. package/dist/cjs/types/api/measures/definitions/shopify/shopify-measure-definitions.js.map +1 -1
  22. package/dist/cjs/types/api/measures/definitions/shopify/shopify-nc-measure-definitions.js +94 -0
  23. package/dist/cjs/types/api/measures/definitions/shopify/shopify-nc-measure-definitions.js.map +1 -1
  24. package/dist/cjs/types/api/measures/definitions/shopify/shopify-rc-measure-definitions.js +100 -0
  25. package/dist/cjs/types/api/measures/definitions/shopify/shopify-rc-measure-definitions.js.map +1 -1
  26. package/dist/cjs/types/api/measures/definitions/tracked-measure-definitions.js +265 -51
  27. package/dist/cjs/types/api/measures/definitions/tracked-measure-definitions.js.map +1 -1
  28. package/dist/esm/types/api/measures/definitions/channel-measure-definitions.js +655 -111
  29. package/dist/esm/types/api/measures/definitions/channel-measure-definitions.js.map +1 -1
  30. package/dist/esm/types/api/measures/definitions/core-measure-definitions.js +495 -164
  31. package/dist/esm/types/api/measures/definitions/core-measure-definitions.js.map +1 -1
  32. package/dist/esm/types/api/measures/definitions/emq-measure-definitions.js +78 -17
  33. package/dist/esm/types/api/measures/definitions/emq-measure-definitions.js.map +1 -1
  34. package/dist/esm/types/api/measures/definitions/facebook-measure-definitions.js +553 -106
  35. package/dist/esm/types/api/measures/definitions/facebook-measure-definitions.js.map +1 -1
  36. package/dist/esm/types/api/measures/definitions/google-measure-definitions.js +122 -22
  37. package/dist/esm/types/api/measures/definitions/google-measure-definitions.js.map +1 -1
  38. package/dist/esm/types/api/measures/definitions/measure-categories.d.ts +47 -0
  39. package/dist/esm/types/api/measures/definitions/measure-categories.js +48 -0
  40. package/dist/esm/types/api/measures/definitions/measure-categories.js.map +1 -1
  41. package/dist/esm/types/api/measures/definitions/measure-definitions.d.ts +12 -3
  42. package/dist/esm/types/api/measures/definitions/measure-definitions.js.map +1 -1
  43. package/dist/esm/types/api/measures/definitions/orders-measure-definitions.js +835 -139
  44. package/dist/esm/types/api/measures/definitions/orders-measure-definitions.js.map +1 -1
  45. package/dist/esm/types/api/measures/definitions/session-measure-definitions.js +112 -25
  46. package/dist/esm/types/api/measures/definitions/session-measure-definitions.js.map +1 -1
  47. package/dist/esm/types/api/measures/definitions/shopify/shopify-measure-definitions.js +191 -1
  48. package/dist/esm/types/api/measures/definitions/shopify/shopify-measure-definitions.js.map +1 -1
  49. package/dist/esm/types/api/measures/definitions/shopify/shopify-nc-measure-definitions.js +95 -1
  50. package/dist/esm/types/api/measures/definitions/shopify/shopify-nc-measure-definitions.js.map +1 -1
  51. package/dist/esm/types/api/measures/definitions/shopify/shopify-rc-measure-definitions.js +101 -1
  52. package/dist/esm/types/api/measures/definitions/shopify/shopify-rc-measure-definitions.js.map +1 -1
  53. package/dist/esm/types/api/measures/definitions/tracked-measure-definitions.js +266 -52
  54. package/dist/esm/types/api/measures/definitions/tracked-measure-definitions.js.map +1 -1
  55. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { MEASURE } from '../measures.js';
2
- import { MEASURE_CATEGORY } from './measure-categories.js';
2
+ import { MEASURE_CATEGORY, MEASURE_SUBCATEGORY } from './measure-categories.js';
3
3
  import { MeasureValueType } from './measure-value-type.js';
4
4
  import { ATTRIBUTION_APPLICABLE_CONTEXTS, STANDARD_APPLICABLE_CONTEXTS, } from './measure-applicable-contexts.js';
5
5
  export const ORDERS_MEASURES_MAP = {
@@ -12,11 +12,14 @@ export const ORDERS_MEASURES_MAP = {
12
12
  avgSuffix: '',
13
13
  icon: 'shopping-cart',
14
14
  measure: MEASURE.ORDERS_COUNT,
15
- category: MEASURE_CATEGORY.SALES,
15
+ category: MEASURE_CATEGORY.ORDERS,
16
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_COUNTS,
16
17
  valueType: MeasureValueType.NUMBER,
17
18
  decimalPlaces: 0,
18
19
  useCompactNotation: false,
19
20
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
21
+ tooltip: 'The total number of orders placed in the selected period. Use this as the baseline count for order volume.',
22
+ relatedMeasures: [MEASURE.ORDERS_TOTAL_REVENUE, MEASURE.ORDERS_TOTAL_AOV, MEASURE.ORDERS_NEW_CUSTOMER_COUNT, MEASURE.ORDERS_RETURNING_CUSTOMER_COUNT],
20
23
  },
21
24
  [MEASURE.ORDERS_UNIQUE_CUSTOMERS]: {
22
25
  title: 'Unique Customers',
@@ -27,11 +30,15 @@ export const ORDERS_MEASURES_MAP = {
27
30
  avgSuffix: '',
28
31
  icon: 'users',
29
32
  measure: MEASURE.ORDERS_UNIQUE_CUSTOMERS,
30
- category: MEASURE_CATEGORY.SALES,
33
+ category: MEASURE_CATEGORY.ORDERS,
34
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_CUSTOMER_SEGMENTS,
31
35
  valueType: MeasureValueType.NUMBER,
32
36
  decimalPlaces: 0,
33
37
  useCompactNotation: false,
34
38
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
39
+ shortTitle: 'Unique Cust.',
40
+ tooltip: 'The count of distinct customers who placed at least one order in the period. Each customer is counted once regardless of how many orders they placed.',
41
+ relatedMeasures: [MEASURE.ORDERS_NEW_CUSTOMERS, MEASURE.ORDERS_RETURNING_CUSTOMERS, MEASURE.ORDERS_AVG_ORDERS_PER_CUSTOMER],
35
42
  },
36
43
  [MEASURE.ORDERS_NEW_CUSTOMER_COUNT]: {
37
44
  title: 'New Customer Orders',
@@ -42,11 +49,15 @@ export const ORDERS_MEASURES_MAP = {
42
49
  avgSuffix: '',
43
50
  icon: 'user-plus',
44
51
  measure: MEASURE.ORDERS_NEW_CUSTOMER_COUNT,
45
- category: MEASURE_CATEGORY.SALES,
52
+ category: MEASURE_CATEGORY.ORDERS,
53
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_CUSTOMER_SEGMENTS,
46
54
  valueType: MeasureValueType.NUMBER,
47
55
  decimalPlaces: 0,
48
56
  useCompactNotation: false,
49
57
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
58
+ shortTitle: 'NC Orders',
59
+ tooltip: 'Orders placed by customers who have never bought from this store before. Tracks acquisition volume.',
60
+ relatedMeasures: [MEASURE.ORDERS_COUNT, MEASURE.ORDERS_NEW_CUSTOMER_RATE, MEASURE.ORDERS_NEW_CUSTOMERS, MEASURE.ORDERS_RETURNING_CUSTOMER_COUNT],
50
61
  },
51
62
  [MEASURE.ORDERS_RETURNING_CUSTOMER_COUNT]: {
52
63
  title: 'Returning Customer Orders',
@@ -57,11 +68,15 @@ export const ORDERS_MEASURES_MAP = {
57
68
  avgSuffix: '',
58
69
  icon: 'user-check',
59
70
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_COUNT,
60
- category: MEASURE_CATEGORY.SALES,
71
+ category: MEASURE_CATEGORY.ORDERS,
72
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_CUSTOMER_SEGMENTS,
61
73
  valueType: MeasureValueType.NUMBER,
62
74
  decimalPlaces: 0,
63
75
  useCompactNotation: false,
64
76
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
77
+ shortTitle: 'RC Orders',
78
+ tooltip: 'Orders placed by customers who have purchased from this store at least once before. Tracks repeat purchase volume.',
79
+ relatedMeasures: [MEASURE.ORDERS_COUNT, MEASURE.ORDERS_RETURNING_CUSTOMER_RATE, MEASURE.ORDERS_RETURNING_CUSTOMERS, MEASURE.ORDERS_NEW_CUSTOMER_COUNT],
65
80
  },
66
81
  [MEASURE.ORDERS_UNITS]: {
67
82
  title: 'Units Sold',
@@ -72,11 +87,14 @@ export const ORDERS_MEASURES_MAP = {
72
87
  avgSuffix: '',
73
88
  icon: 'package',
74
89
  measure: MEASURE.ORDERS_UNITS,
75
- category: MEASURE_CATEGORY.SALES,
90
+ category: MEASURE_CATEGORY.ORDERS,
91
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_COUNTS,
76
92
  valueType: MeasureValueType.NUMBER,
77
93
  decimalPlaces: 0,
78
94
  useCompactNotation: false,
79
95
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
96
+ tooltip: 'The total quantity of individual product units sold across all orders in the period.',
97
+ relatedMeasures: [MEASURE.ORDERS_COUNT, MEASURE.ORDERS_UNITS_PER_ORDER],
80
98
  },
81
99
  [MEASURE.ORDERS_NEW_CUSTOMER_UNITS]: {
82
100
  title: 'New Customer Units',
@@ -87,11 +105,15 @@ export const ORDERS_MEASURES_MAP = {
87
105
  avgSuffix: '',
88
106
  icon: 'package',
89
107
  measure: MEASURE.ORDERS_NEW_CUSTOMER_UNITS,
90
- category: MEASURE_CATEGORY.SALES,
108
+ category: MEASURE_CATEGORY.ORDERS,
109
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_COUNTS,
91
110
  valueType: MeasureValueType.NUMBER,
92
111
  decimalPlaces: 0,
93
112
  useCompactNotation: false,
94
113
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
114
+ shortTitle: 'NC Units',
115
+ tooltip: 'Total product units purchased by new customers. Useful for understanding acquisition basket size.',
116
+ relatedMeasures: [MEASURE.ORDERS_UNITS, MEASURE.ORDERS_NEW_CUSTOMER_UNITS_PER_ORDER, MEASURE.ORDERS_RETURNING_CUSTOMER_UNITS],
95
117
  },
96
118
  [MEASURE.ORDERS_RETURNING_CUSTOMER_UNITS]: {
97
119
  title: 'Returning Customer Units',
@@ -102,11 +124,15 @@ export const ORDERS_MEASURES_MAP = {
102
124
  avgSuffix: '',
103
125
  icon: 'package',
104
126
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_UNITS,
105
- category: MEASURE_CATEGORY.SALES,
127
+ category: MEASURE_CATEGORY.ORDERS,
128
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_COUNTS,
106
129
  valueType: MeasureValueType.NUMBER,
107
130
  decimalPlaces: 0,
108
131
  useCompactNotation: false,
109
132
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
133
+ shortTitle: 'RC Units',
134
+ tooltip: 'Total product units purchased by returning customers. Reflects repeat buyer basket size.',
135
+ relatedMeasures: [MEASURE.ORDERS_UNITS, MEASURE.ORDERS_RETURNING_CUSTOMER_UNITS_PER_ORDER, MEASURE.ORDERS_NEW_CUSTOMER_UNITS],
110
136
  },
111
137
  [MEASURE.ORDERS_UNITS_PER_ORDER]: {
112
138
  title: 'Units Per Order',
@@ -117,11 +143,16 @@ export const ORDERS_MEASURES_MAP = {
117
143
  avgSuffix: '',
118
144
  icon: 'package',
119
145
  measure: MEASURE.ORDERS_UNITS_PER_ORDER,
120
- category: MEASURE_CATEGORY.SALES,
146
+ category: MEASURE_CATEGORY.ORDERS,
147
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_COUNTS,
121
148
  valueType: MeasureValueType.NUMBER,
122
149
  decimalPlaces: 2,
123
150
  useCompactNotation: false,
124
151
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
152
+ tooltip: 'The average number of product units included in each order. Higher values indicate larger basket sizes.',
153
+ formulaDisplay: 'Units Sold ÷ Order Count',
154
+ formula: 'units_sold / order_count',
155
+ relatedMeasures: [MEASURE.ORDERS_UNITS, MEASURE.ORDERS_COUNT, MEASURE.ORDERS_NEW_CUSTOMER_UNITS_PER_ORDER, MEASURE.ORDERS_RETURNING_CUSTOMER_UNITS_PER_ORDER],
125
156
  },
126
157
  [MEASURE.ORDERS_NEW_CUSTOMER_UNITS_PER_ORDER]: {
127
158
  title: 'NC Units Per Order',
@@ -132,11 +163,17 @@ export const ORDERS_MEASURES_MAP = {
132
163
  avgSuffix: '',
133
164
  icon: 'package',
134
165
  measure: MEASURE.ORDERS_NEW_CUSTOMER_UNITS_PER_ORDER,
135
- category: MEASURE_CATEGORY.SALES,
166
+ category: MEASURE_CATEGORY.ORDERS,
167
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_COUNTS,
136
168
  valueType: MeasureValueType.NUMBER,
137
169
  decimalPlaces: 2,
138
170
  useCompactNotation: false,
139
171
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
172
+ shortTitle: 'NC Units/Order',
173
+ tooltip: 'Average number of units per order for new customers. Compare to returning customers to gauge first-time buyer behavior.',
174
+ formulaDisplay: 'NC Units Sold ÷ NC Order Count',
175
+ formula: 'nc_units_sold / nc_order_count',
176
+ relatedMeasures: [MEASURE.ORDERS_UNITS_PER_ORDER, MEASURE.ORDERS_RETURNING_CUSTOMER_UNITS_PER_ORDER, MEASURE.ORDERS_NEW_CUSTOMER_UNITS],
140
177
  },
141
178
  [MEASURE.ORDERS_RETURNING_CUSTOMER_UNITS_PER_ORDER]: {
142
179
  title: 'RC Units Per Order',
@@ -147,11 +184,17 @@ export const ORDERS_MEASURES_MAP = {
147
184
  avgSuffix: '',
148
185
  icon: 'package',
149
186
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_UNITS_PER_ORDER,
150
- category: MEASURE_CATEGORY.SALES,
187
+ category: MEASURE_CATEGORY.ORDERS,
188
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_COUNTS,
151
189
  valueType: MeasureValueType.NUMBER,
152
190
  decimalPlaces: 2,
153
191
  useCompactNotation: false,
154
192
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
193
+ shortTitle: 'RC Units/Order',
194
+ tooltip: 'Average number of units per order for returning customers. Higher values than new customers suggest loyalty-driven upsell.',
195
+ formulaDisplay: 'RC Units Sold ÷ RC Order Count',
196
+ formula: 'rc_units_sold / rc_order_count',
197
+ relatedMeasures: [MEASURE.ORDERS_UNITS_PER_ORDER, MEASURE.ORDERS_NEW_CUSTOMER_UNITS_PER_ORDER, MEASURE.ORDERS_RETURNING_CUSTOMER_UNITS],
155
198
  },
156
199
  [MEASURE.ORDERS_TOTAL_REVENUE]: {
157
200
  title: 'Total Revenue',
@@ -162,11 +205,15 @@ export const ORDERS_MEASURES_MAP = {
162
205
  avgSuffix: '',
163
206
  icon: 'dollar-sign',
164
207
  measure: MEASURE.ORDERS_TOTAL_REVENUE,
165
- category: MEASURE_CATEGORY.SALES,
208
+ category: MEASURE_CATEGORY.ORDERS,
209
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_REVENUE,
166
210
  valueType: MeasureValueType.CURRENCY,
167
211
  decimalPlaces: 2,
168
212
  useCompactNotation: true,
169
213
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
214
+ shortTitle: 'Total Rev.',
215
+ tooltip: 'The total dollar amount collected from all orders including shipping and taxes, before any refunds.',
216
+ relatedMeasures: [MEASURE.ORDERS_GROSS_REVENUE, MEASURE.ORDERS_NET_REVENUE, MEASURE.ORDERS_TOTAL_AOV],
170
217
  },
171
218
  [MEASURE.ORDERS_GROSS_REVENUE]: {
172
219
  title: 'Gross Revenue',
@@ -177,11 +224,15 @@ export const ORDERS_MEASURES_MAP = {
177
224
  avgSuffix: '',
178
225
  icon: 'dollar-sign',
179
226
  measure: MEASURE.ORDERS_GROSS_REVENUE,
180
- category: MEASURE_CATEGORY.SALES,
227
+ category: MEASURE_CATEGORY.ORDERS,
228
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_REVENUE,
181
229
  valueType: MeasureValueType.CURRENCY,
182
230
  decimalPlaces: 2,
183
231
  useCompactNotation: true,
184
232
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
233
+ shortTitle: 'Gross Rev.',
234
+ tooltip: 'Revenue from product sales before subtracting discounts or refunds. The starting point for margin calculations.',
235
+ relatedMeasures: [MEASURE.ORDERS_NET_REVENUE, MEASURE.ORDERS_GROSS_AOV, MEASURE.ORDERS_DISCOUNTS, MEASURE.ORDERS_REFUNDS],
185
236
  },
186
237
  [MEASURE.ORDERS_NET_REVENUE]: {
187
238
  title: 'Net Revenue',
@@ -192,11 +243,17 @@ export const ORDERS_MEASURES_MAP = {
192
243
  avgSuffix: '',
193
244
  icon: 'dollar-sign',
194
245
  measure: MEASURE.ORDERS_NET_REVENUE,
195
- category: MEASURE_CATEGORY.SALES,
246
+ category: MEASURE_CATEGORY.ORDERS,
247
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_REVENUE,
196
248
  valueType: MeasureValueType.CURRENCY,
197
249
  decimalPlaces: 2,
198
250
  useCompactNotation: true,
199
251
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
252
+ shortTitle: 'Net Rev.',
253
+ tooltip: 'Revenue after subtracting discounts and refunds from gross revenue. The primary revenue metric for profitability analysis.',
254
+ formulaDisplay: 'Gross Revenue − Discounts − Refunds',
255
+ formula: 'gross_revenue - discounts - refunds',
256
+ relatedMeasures: [MEASURE.ORDERS_GROSS_REVENUE, MEASURE.ORDERS_NET_AOV, MEASURE.ORDERS_DISCOUNTS, MEASURE.ORDERS_REFUNDS],
200
257
  },
201
258
  [MEASURE.ORDERS_NEW_CUSTOMER_TOTAL_REVENUE]: {
202
259
  title: 'NC Total Revenue',
@@ -207,11 +264,15 @@ export const ORDERS_MEASURES_MAP = {
207
264
  avgSuffix: '',
208
265
  icon: 'dollar-sign',
209
266
  measure: MEASURE.ORDERS_NEW_CUSTOMER_TOTAL_REVENUE,
210
- category: MEASURE_CATEGORY.SALES,
267
+ category: MEASURE_CATEGORY.ORDERS,
268
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_REVENUE,
211
269
  valueType: MeasureValueType.CURRENCY,
212
270
  decimalPlaces: 2,
213
271
  useCompactNotation: true,
214
272
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
273
+ shortTitle: 'NC Total Rev.',
274
+ tooltip: 'Total revenue collected from first-time buyers including shipping and taxes. Reflects the raw dollar value of acquisition.',
275
+ relatedMeasures: [MEASURE.ORDERS_TOTAL_REVENUE, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_REVENUE, MEASURE.ORDERS_NEW_CUSTOMER_NET_REVENUE],
215
276
  },
216
277
  [MEASURE.ORDERS_NEW_CUSTOMER_GROSS_REVENUE]: {
217
278
  title: 'NC Gross Revenue',
@@ -222,11 +283,15 @@ export const ORDERS_MEASURES_MAP = {
222
283
  avgSuffix: '',
223
284
  icon: 'dollar-sign',
224
285
  measure: MEASURE.ORDERS_NEW_CUSTOMER_GROSS_REVENUE,
225
- category: MEASURE_CATEGORY.SALES,
286
+ category: MEASURE_CATEGORY.ORDERS,
287
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_REVENUE,
226
288
  valueType: MeasureValueType.CURRENCY,
227
289
  decimalPlaces: 2,
228
290
  useCompactNotation: true,
229
291
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
292
+ shortTitle: 'NC Gross Rev.',
293
+ tooltip: 'Gross product revenue from new customers before discounts and refunds. Used to calculate new customer gross margin.',
294
+ relatedMeasures: [MEASURE.ORDERS_GROSS_REVENUE, MEASURE.ORDERS_NEW_CUSTOMER_NET_REVENUE, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_AOV],
230
295
  },
231
296
  [MEASURE.ORDERS_NEW_CUSTOMER_NET_REVENUE]: {
232
297
  title: 'NC Net Revenue',
@@ -237,11 +302,15 @@ export const ORDERS_MEASURES_MAP = {
237
302
  avgSuffix: '',
238
303
  icon: 'dollar-sign',
239
304
  measure: MEASURE.ORDERS_NEW_CUSTOMER_NET_REVENUE,
240
- category: MEASURE_CATEGORY.SALES,
305
+ category: MEASURE_CATEGORY.ORDERS,
306
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_REVENUE,
241
307
  valueType: MeasureValueType.CURRENCY,
242
308
  decimalPlaces: 2,
243
309
  useCompactNotation: true,
244
310
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
311
+ shortTitle: 'NC Net Rev.',
312
+ tooltip: 'Net revenue from new customers after discounts and refunds. The clearest measure of first-order monetization.',
313
+ relatedMeasures: [MEASURE.ORDERS_NET_REVENUE, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_REVENUE, MEASURE.ORDERS_NEW_CUSTOMER_NET_AOV],
245
314
  },
246
315
  [MEASURE.ORDERS_RETURNING_CUSTOMER_TOTAL_REVENUE]: {
247
316
  title: 'RC Total Revenue',
@@ -252,11 +321,15 @@ export const ORDERS_MEASURES_MAP = {
252
321
  avgSuffix: '',
253
322
  icon: 'dollar-sign',
254
323
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_TOTAL_REVENUE,
255
- category: MEASURE_CATEGORY.SALES,
324
+ category: MEASURE_CATEGORY.ORDERS,
325
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_REVENUE,
256
326
  valueType: MeasureValueType.CURRENCY,
257
327
  decimalPlaces: 2,
258
328
  useCompactNotation: true,
259
329
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
330
+ shortTitle: 'RC Total Rev.',
331
+ tooltip: 'Total revenue from repeat buyers including shipping and taxes. High values indicate strong retention and LTV.',
332
+ relatedMeasures: [MEASURE.ORDERS_TOTAL_REVENUE, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_REVENUE, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_REVENUE],
260
333
  },
261
334
  [MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_REVENUE]: {
262
335
  title: 'RC Gross Revenue',
@@ -267,11 +340,15 @@ export const ORDERS_MEASURES_MAP = {
267
340
  avgSuffix: '',
268
341
  icon: 'dollar-sign',
269
342
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_REVENUE,
270
- category: MEASURE_CATEGORY.SALES,
343
+ category: MEASURE_CATEGORY.ORDERS,
344
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_REVENUE,
271
345
  valueType: MeasureValueType.CURRENCY,
272
346
  decimalPlaces: 2,
273
347
  useCompactNotation: true,
274
348
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
349
+ shortTitle: 'RC Gross Rev.',
350
+ tooltip: 'Gross product revenue from returning customers before discounts and refunds.',
351
+ relatedMeasures: [MEASURE.ORDERS_GROSS_REVENUE, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_REVENUE, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_AOV],
275
352
  },
276
353
  [MEASURE.ORDERS_RETURNING_CUSTOMER_NET_REVENUE]: {
277
354
  title: 'RC Net Revenue',
@@ -282,11 +359,15 @@ export const ORDERS_MEASURES_MAP = {
282
359
  avgSuffix: '',
283
360
  icon: 'dollar-sign',
284
361
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_NET_REVENUE,
285
- category: MEASURE_CATEGORY.SALES,
362
+ category: MEASURE_CATEGORY.ORDERS,
363
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_REVENUE,
286
364
  valueType: MeasureValueType.CURRENCY,
287
365
  decimalPlaces: 2,
288
366
  useCompactNotation: true,
289
367
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
368
+ shortTitle: 'RC Net Rev.',
369
+ tooltip: 'Net revenue from returning customers after discounts and refunds. Key input for repeat-purchase profitability.',
370
+ relatedMeasures: [MEASURE.ORDERS_NET_REVENUE, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_REVENUE, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_AOV],
290
371
  },
291
372
  [MEASURE.ORDERS_TOTAL_AOV]: {
292
373
  title: 'Total AOV',
@@ -297,11 +378,16 @@ export const ORDERS_MEASURES_MAP = {
297
378
  avgSuffix: '',
298
379
  icon: 'dollar-sign',
299
380
  measure: MEASURE.ORDERS_TOTAL_AOV,
300
- category: MEASURE_CATEGORY.SALES,
381
+ category: MEASURE_CATEGORY.ORDERS,
382
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_AOV,
301
383
  valueType: MeasureValueType.CURRENCY,
302
384
  decimalPlaces: 2,
303
385
  useCompactNotation: false,
304
386
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
387
+ tooltip: 'The average total revenue collected per order including shipping and taxes. Useful for understanding overall transaction size.',
388
+ formulaDisplay: 'Total Revenue ÷ Order Count',
389
+ formula: 'total_revenue / order_count',
390
+ relatedMeasures: [MEASURE.ORDERS_GROSS_AOV, MEASURE.ORDERS_NET_AOV, MEASURE.ORDERS_TOTAL_REVENUE, MEASURE.ORDERS_COUNT],
305
391
  },
306
392
  [MEASURE.ORDERS_GROSS_AOV]: {
307
393
  title: 'Gross AOV',
@@ -312,11 +398,16 @@ export const ORDERS_MEASURES_MAP = {
312
398
  avgSuffix: '',
313
399
  icon: 'dollar-sign',
314
400
  measure: MEASURE.ORDERS_GROSS_AOV,
315
- category: MEASURE_CATEGORY.SALES,
401
+ category: MEASURE_CATEGORY.ORDERS,
402
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_AOV,
316
403
  valueType: MeasureValueType.CURRENCY,
317
404
  decimalPlaces: 2,
318
405
  useCompactNotation: false,
319
406
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
407
+ tooltip: 'Average gross product revenue per order before discounts and refunds. Shows the baseline cart value customers intend to spend.',
408
+ formulaDisplay: 'Gross Revenue ÷ Order Count',
409
+ formula: 'gross_revenue / order_count',
410
+ relatedMeasures: [MEASURE.ORDERS_NET_AOV, MEASURE.ORDERS_TOTAL_AOV, MEASURE.ORDERS_GROSS_REVENUE],
320
411
  },
321
412
  [MEASURE.ORDERS_NET_AOV]: {
322
413
  title: 'Net AOV',
@@ -327,11 +418,16 @@ export const ORDERS_MEASURES_MAP = {
327
418
  avgSuffix: '',
328
419
  icon: 'dollar-sign',
329
420
  measure: MEASURE.ORDERS_NET_AOV,
330
- category: MEASURE_CATEGORY.SALES,
421
+ category: MEASURE_CATEGORY.ORDERS,
422
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_AOV,
331
423
  valueType: MeasureValueType.CURRENCY,
332
424
  decimalPlaces: 2,
333
425
  useCompactNotation: false,
334
426
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
427
+ tooltip: 'Average net revenue per order after discounts and refunds. The most reliable AOV for profitability and ROAS calculations.',
428
+ formulaDisplay: 'Net Revenue ÷ Order Count',
429
+ formula: 'net_revenue / order_count',
430
+ relatedMeasures: [MEASURE.ORDERS_GROSS_AOV, MEASURE.ORDERS_TOTAL_AOV, MEASURE.ORDERS_NET_REVENUE],
335
431
  },
336
432
  [MEASURE.ORDERS_NEW_CUSTOMER_TOTAL_AOV]: {
337
433
  title: 'NC Total AOV',
@@ -342,11 +438,17 @@ export const ORDERS_MEASURES_MAP = {
342
438
  avgSuffix: '',
343
439
  icon: 'dollar-sign',
344
440
  measure: MEASURE.ORDERS_NEW_CUSTOMER_TOTAL_AOV,
345
- category: MEASURE_CATEGORY.SALES,
441
+ category: MEASURE_CATEGORY.ORDERS,
442
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_AOV,
346
443
  valueType: MeasureValueType.CURRENCY,
347
444
  decimalPlaces: 2,
348
445
  useCompactNotation: false,
349
446
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
447
+ shortTitle: 'NC Total AOV',
448
+ tooltip: 'Average total transaction value for first-time buyers. Compare to RC Total AOV to see if new customers spend more or less.',
449
+ formulaDisplay: 'NC Total Revenue ÷ NC Order Count',
450
+ formula: 'nc_total_revenue / nc_order_count',
451
+ relatedMeasures: [MEASURE.ORDERS_TOTAL_AOV, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_AOV, MEASURE.ORDERS_NEW_CUSTOMER_NET_AOV],
350
452
  },
351
453
  [MEASURE.ORDERS_NEW_CUSTOMER_GROSS_AOV]: {
352
454
  title: 'NC Gross AOV',
@@ -357,11 +459,17 @@ export const ORDERS_MEASURES_MAP = {
357
459
  avgSuffix: '',
358
460
  icon: 'dollar-sign',
359
461
  measure: MEASURE.ORDERS_NEW_CUSTOMER_GROSS_AOV,
360
- category: MEASURE_CATEGORY.SALES,
462
+ category: MEASURE_CATEGORY.ORDERS,
463
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_AOV,
361
464
  valueType: MeasureValueType.CURRENCY,
362
465
  decimalPlaces: 2,
363
466
  useCompactNotation: false,
364
467
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
468
+ shortTitle: 'NC Gross AOV',
469
+ tooltip: 'Average gross revenue per order for new customers before discounts and refunds.',
470
+ formulaDisplay: 'NC Gross Revenue ÷ NC Order Count',
471
+ formula: 'nc_gross_revenue / nc_order_count',
472
+ relatedMeasures: [MEASURE.ORDERS_GROSS_AOV, MEASURE.ORDERS_NEW_CUSTOMER_NET_AOV, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_REVENUE],
365
473
  },
366
474
  [MEASURE.ORDERS_NEW_CUSTOMER_NET_AOV]: {
367
475
  title: 'NC Net AOV',
@@ -372,11 +480,17 @@ export const ORDERS_MEASURES_MAP = {
372
480
  avgSuffix: '',
373
481
  icon: 'dollar-sign',
374
482
  measure: MEASURE.ORDERS_NEW_CUSTOMER_NET_AOV,
375
- category: MEASURE_CATEGORY.SALES,
483
+ category: MEASURE_CATEGORY.ORDERS,
484
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_AOV,
376
485
  valueType: MeasureValueType.CURRENCY,
377
486
  decimalPlaces: 2,
378
487
  useCompactNotation: false,
379
488
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
489
+ shortTitle: 'NC Net AOV',
490
+ tooltip: 'Average net revenue per order for new customers after discounts and refunds. Key input for new customer payback calculations.',
491
+ formulaDisplay: 'NC Net Revenue ÷ NC Order Count',
492
+ formula: 'nc_net_revenue / nc_order_count',
493
+ relatedMeasures: [MEASURE.ORDERS_NET_AOV, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_AOV, MEASURE.ORDERS_NEW_CUSTOMER_NET_REVENUE],
380
494
  },
381
495
  [MEASURE.ORDERS_RETURNING_CUSTOMER_TOTAL_AOV]: {
382
496
  title: 'RC Total AOV',
@@ -387,11 +501,17 @@ export const ORDERS_MEASURES_MAP = {
387
501
  avgSuffix: '',
388
502
  icon: 'dollar-sign',
389
503
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_TOTAL_AOV,
390
- category: MEASURE_CATEGORY.SALES,
504
+ category: MEASURE_CATEGORY.ORDERS,
505
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_AOV,
391
506
  valueType: MeasureValueType.CURRENCY,
392
507
  decimalPlaces: 2,
393
508
  useCompactNotation: false,
394
509
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
510
+ shortTitle: 'RC Total AOV',
511
+ tooltip: 'Average total transaction value for returning buyers. Typically higher than new customer AOV as loyal customers buy more.',
512
+ formulaDisplay: 'RC Total Revenue ÷ RC Order Count',
513
+ formula: 'rc_total_revenue / rc_order_count',
514
+ relatedMeasures: [MEASURE.ORDERS_TOTAL_AOV, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_AOV, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_AOV],
395
515
  },
396
516
  [MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_AOV]: {
397
517
  title: 'RC Gross AOV',
@@ -402,11 +522,17 @@ export const ORDERS_MEASURES_MAP = {
402
522
  avgSuffix: '',
403
523
  icon: 'dollar-sign',
404
524
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_AOV,
405
- category: MEASURE_CATEGORY.SALES,
525
+ category: MEASURE_CATEGORY.ORDERS,
526
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_AOV,
406
527
  valueType: MeasureValueType.CURRENCY,
407
528
  decimalPlaces: 2,
408
529
  useCompactNotation: false,
409
530
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
531
+ shortTitle: 'RC Gross AOV',
532
+ tooltip: 'Average gross revenue per order for returning customers before discounts and refunds.',
533
+ formulaDisplay: 'RC Gross Revenue ÷ RC Order Count',
534
+ formula: 'rc_gross_revenue / rc_order_count',
535
+ relatedMeasures: [MEASURE.ORDERS_GROSS_AOV, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_AOV, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_REVENUE],
410
536
  },
411
537
  [MEASURE.ORDERS_RETURNING_CUSTOMER_NET_AOV]: {
412
538
  title: 'RC Net AOV',
@@ -417,11 +543,17 @@ export const ORDERS_MEASURES_MAP = {
417
543
  avgSuffix: '',
418
544
  icon: 'dollar-sign',
419
545
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_NET_AOV,
420
- category: MEASURE_CATEGORY.SALES,
546
+ category: MEASURE_CATEGORY.ORDERS,
547
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_AOV,
421
548
  valueType: MeasureValueType.CURRENCY,
422
549
  decimalPlaces: 2,
423
550
  useCompactNotation: false,
424
551
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
552
+ shortTitle: 'RC Net AOV',
553
+ tooltip: 'Average net revenue per order for returning customers after discounts and refunds.',
554
+ formulaDisplay: 'RC Net Revenue ÷ RC Order Count',
555
+ formula: 'rc_net_revenue / rc_order_count',
556
+ relatedMeasures: [MEASURE.ORDERS_NET_AOV, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_AOV, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_REVENUE],
425
557
  },
426
558
  [MEASURE.ORDERS_COGS]: {
427
559
  title: 'COGS',
@@ -432,11 +564,14 @@ export const ORDERS_MEASURES_MAP = {
432
564
  avgSuffix: '',
433
565
  icon: 'trending-down',
434
566
  measure: MEASURE.ORDERS_COGS,
435
- category: MEASURE_CATEGORY.SALES,
567
+ category: MEASURE_CATEGORY.PROFITABILITY,
568
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_COGS,
436
569
  valueType: MeasureValueType.CURRENCY,
437
570
  decimalPlaces: 2,
438
571
  useCompactNotation: true,
439
572
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
573
+ tooltip: 'The total cost of products sold, including manufacturing or purchase costs. Subtracted from revenue to calculate gross margin.',
574
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN, MEASURE.ORDERS_COGS_PER_ORDER, MEASURE.ORDERS_COGS_GROSS_RATE],
440
575
  },
441
576
  [MEASURE.ORDERS_NEW_CUSTOMER_COGS]: {
442
577
  title: 'NC COGS',
@@ -447,11 +582,14 @@ export const ORDERS_MEASURES_MAP = {
447
582
  avgSuffix: '',
448
583
  icon: 'trending-down',
449
584
  measure: MEASURE.ORDERS_NEW_CUSTOMER_COGS,
450
- category: MEASURE_CATEGORY.SALES,
585
+ category: MEASURE_CATEGORY.PROFITABILITY,
586
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_COGS,
451
587
  valueType: MeasureValueType.CURRENCY,
452
588
  decimalPlaces: 2,
453
589
  useCompactNotation: true,
454
590
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
591
+ tooltip: 'Cost of goods sold for orders placed by new customers. Used to calculate new customer gross margin.',
592
+ relatedMeasures: [MEASURE.ORDERS_COGS, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN, MEASURE.ORDERS_RETURNING_CUSTOMER_COGS],
455
593
  },
456
594
  [MEASURE.ORDERS_RETURNING_CUSTOMER_COGS]: {
457
595
  title: 'RC COGS',
@@ -462,11 +600,14 @@ export const ORDERS_MEASURES_MAP = {
462
600
  avgSuffix: '',
463
601
  icon: 'trending-down',
464
602
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_COGS,
465
- category: MEASURE_CATEGORY.SALES,
603
+ category: MEASURE_CATEGORY.PROFITABILITY,
604
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_COGS,
466
605
  valueType: MeasureValueType.CURRENCY,
467
606
  decimalPlaces: 2,
468
607
  useCompactNotation: true,
469
608
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
609
+ tooltip: 'Cost of goods sold for orders placed by returning customers. Used to calculate repeat-buyer gross margin.',
610
+ relatedMeasures: [MEASURE.ORDERS_COGS, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN, MEASURE.ORDERS_NEW_CUSTOMER_COGS],
470
611
  },
471
612
  [MEASURE.ORDERS_COGS_PER_ORDER]: {
472
613
  title: 'COGS Per Order',
@@ -477,11 +618,16 @@ export const ORDERS_MEASURES_MAP = {
477
618
  avgSuffix: '',
478
619
  icon: 'trending-down',
479
620
  measure: MEASURE.ORDERS_COGS_PER_ORDER,
480
- category: MEASURE_CATEGORY.SALES,
621
+ category: MEASURE_CATEGORY.PROFITABILITY,
622
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_COGS,
481
623
  valueType: MeasureValueType.CURRENCY,
482
624
  decimalPlaces: 2,
483
625
  useCompactNotation: false,
484
626
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
627
+ tooltip: 'Average product cost per order. Useful for understanding the cost structure of a typical order.',
628
+ formulaDisplay: 'COGS ÷ Order Count',
629
+ formula: 'cogs / order_count',
630
+ relatedMeasures: [MEASURE.ORDERS_COGS, MEASURE.ORDERS_GROSS_MARGIN_PER_ORDER, MEASURE.ORDERS_NEW_CUSTOMER_COGS_PER_ORDER],
485
631
  },
486
632
  [MEASURE.ORDERS_NEW_CUSTOMER_COGS_PER_ORDER]: {
487
633
  title: 'NC COGS Per Order',
@@ -492,11 +638,17 @@ export const ORDERS_MEASURES_MAP = {
492
638
  avgSuffix: '',
493
639
  icon: 'trending-down',
494
640
  measure: MEASURE.ORDERS_NEW_CUSTOMER_COGS_PER_ORDER,
495
- category: MEASURE_CATEGORY.SALES,
641
+ category: MEASURE_CATEGORY.PROFITABILITY,
642
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_COGS,
496
643
  valueType: MeasureValueType.CURRENCY,
497
644
  decimalPlaces: 2,
498
645
  useCompactNotation: false,
499
646
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
647
+ shortTitle: 'NC COGS/Order',
648
+ tooltip: 'Average product cost per new customer order. Compare to returning customers to assess cost mix differences.',
649
+ formulaDisplay: 'NC COGS ÷ NC Order Count',
650
+ formula: 'nc_cogs / nc_order_count',
651
+ relatedMeasures: [MEASURE.ORDERS_COGS_PER_ORDER, MEASURE.ORDERS_RETURNING_CUSTOMER_COGS_PER_ORDER, MEASURE.ORDERS_NEW_CUSTOMER_COGS],
500
652
  },
501
653
  [MEASURE.ORDERS_RETURNING_CUSTOMER_COGS_PER_ORDER]: {
502
654
  title: 'RC COGS Per Order',
@@ -507,11 +659,17 @@ export const ORDERS_MEASURES_MAP = {
507
659
  avgSuffix: '',
508
660
  icon: 'trending-down',
509
661
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_COGS_PER_ORDER,
510
- category: MEASURE_CATEGORY.SALES,
662
+ category: MEASURE_CATEGORY.PROFITABILITY,
663
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_COGS,
511
664
  valueType: MeasureValueType.CURRENCY,
512
665
  decimalPlaces: 2,
513
666
  useCompactNotation: false,
514
667
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
668
+ shortTitle: 'RC COGS/Order',
669
+ tooltip: 'Average product cost per returning customer order.',
670
+ formulaDisplay: 'RC COGS ÷ RC Order Count',
671
+ formula: 'rc_cogs / rc_order_count',
672
+ relatedMeasures: [MEASURE.ORDERS_COGS_PER_ORDER, MEASURE.ORDERS_NEW_CUSTOMER_COGS_PER_ORDER, MEASURE.ORDERS_RETURNING_CUSTOMER_COGS],
515
673
  },
516
674
  [MEASURE.ORDERS_GROSS_MARGIN]: {
517
675
  title: 'Gross Margin',
@@ -522,11 +680,16 @@ export const ORDERS_MEASURES_MAP = {
522
680
  avgSuffix: '',
523
681
  icon: 'trending-up',
524
682
  measure: MEASURE.ORDERS_GROSS_MARGIN,
525
- category: MEASURE_CATEGORY.SALES,
683
+ category: MEASURE_CATEGORY.PROFITABILITY,
684
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
526
685
  valueType: MeasureValueType.CURRENCY,
527
686
  decimalPlaces: 2,
528
687
  useCompactNotation: true,
529
688
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
689
+ tooltip: 'Gross revenue minus the cost of goods sold. Represents the profit before operating expenses.',
690
+ formulaDisplay: 'Gross Revenue − COGS',
691
+ formula: 'gross_revenue - cogs',
692
+ relatedMeasures: [MEASURE.ORDERS_COGS, MEASURE.ORDERS_GROSS_REVENUE, MEASURE.ORDERS_GROSS_MARGIN_GROSS_RATE, MEASURE.ORDERS_NET_MARGIN],
530
693
  },
531
694
  [MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN]: {
532
695
  title: 'NC Gross Margin',
@@ -537,11 +700,17 @@ export const ORDERS_MEASURES_MAP = {
537
700
  avgSuffix: '',
538
701
  icon: 'trending-up',
539
702
  measure: MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN,
540
- category: MEASURE_CATEGORY.SALES,
703
+ category: MEASURE_CATEGORY.PROFITABILITY,
704
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
541
705
  valueType: MeasureValueType.CURRENCY,
542
706
  decimalPlaces: 2,
543
707
  useCompactNotation: true,
544
708
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
709
+ shortTitle: 'NC Gross Margin',
710
+ tooltip: 'Gross revenue from new customers minus their COGS. Shows the pre-expense profit from acquisition orders.',
711
+ formulaDisplay: 'NC Gross Revenue − NC COGS',
712
+ formula: 'nc_gross_revenue - nc_cogs',
713
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN, MEASURE.ORDERS_NEW_CUSTOMER_COGS],
545
714
  },
546
715
  [MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN]: {
547
716
  title: 'RC Gross Margin',
@@ -552,11 +721,17 @@ export const ORDERS_MEASURES_MAP = {
552
721
  avgSuffix: '',
553
722
  icon: 'trending-up',
554
723
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN,
555
- category: MEASURE_CATEGORY.SALES,
724
+ category: MEASURE_CATEGORY.PROFITABILITY,
725
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
556
726
  valueType: MeasureValueType.CURRENCY,
557
727
  decimalPlaces: 2,
558
728
  useCompactNotation: true,
559
729
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
730
+ shortTitle: 'RC Gross Margin',
731
+ tooltip: 'Gross revenue from returning customers minus their COGS. Reflects the profitability of repeat business.',
732
+ formulaDisplay: 'RC Gross Revenue − RC COGS',
733
+ formula: 'rc_gross_revenue - rc_cogs',
734
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN, MEASURE.ORDERS_RETURNING_CUSTOMER_COGS],
560
735
  },
561
736
  [MEASURE.ORDERS_GROSS_MARGIN_PER_ORDER]: {
562
737
  title: 'Gross Margin Per Order',
@@ -567,11 +742,17 @@ export const ORDERS_MEASURES_MAP = {
567
742
  avgSuffix: '',
568
743
  icon: 'trending-up',
569
744
  measure: MEASURE.ORDERS_GROSS_MARGIN_PER_ORDER,
570
- category: MEASURE_CATEGORY.SALES,
745
+ category: MEASURE_CATEGORY.PROFITABILITY,
746
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
571
747
  valueType: MeasureValueType.CURRENCY,
572
748
  decimalPlaces: 2,
573
749
  useCompactNotation: false,
574
750
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
751
+ shortTitle: 'Gross Margin/Ord',
752
+ tooltip: 'Average gross profit earned per order. Helps benchmark profitability against ad spend on a per-order basis.',
753
+ formulaDisplay: 'Gross Margin ÷ Order Count',
754
+ formula: 'gross_margin / order_count',
755
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN, MEASURE.ORDERS_NET_MARGIN_PER_ORDER, MEASURE.ORDERS_COGS_PER_ORDER],
575
756
  },
576
757
  [MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN_PER_ORDER]: {
577
758
  title: 'NC Gross Margin Per Order',
@@ -582,11 +763,17 @@ export const ORDERS_MEASURES_MAP = {
582
763
  avgSuffix: '',
583
764
  icon: 'trending-up',
584
765
  measure: MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN_PER_ORDER,
585
- category: MEASURE_CATEGORY.SALES,
766
+ category: MEASURE_CATEGORY.PROFITABILITY,
767
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
586
768
  valueType: MeasureValueType.CURRENCY,
587
769
  decimalPlaces: 2,
588
770
  useCompactNotation: false,
589
771
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
772
+ shortTitle: 'NC GM/Order',
773
+ tooltip: 'Average gross profit per new customer order. Compare to CPA to evaluate first-order unit economics.',
774
+ formulaDisplay: 'NC Gross Margin ÷ NC Order Count',
775
+ formula: 'nc_gross_margin / nc_order_count',
776
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN_PER_ORDER, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN_PER_ORDER, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN],
590
777
  },
591
778
  [MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN_PER_ORDER]: {
592
779
  title: 'RC Gross Margin Per Order',
@@ -597,11 +784,17 @@ export const ORDERS_MEASURES_MAP = {
597
784
  avgSuffix: '',
598
785
  icon: 'trending-up',
599
786
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN_PER_ORDER,
600
- category: MEASURE_CATEGORY.SALES,
787
+ category: MEASURE_CATEGORY.PROFITABILITY,
788
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
601
789
  valueType: MeasureValueType.CURRENCY,
602
790
  decimalPlaces: 2,
603
791
  useCompactNotation: false,
604
792
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
793
+ shortTitle: 'RC GM/Order',
794
+ tooltip: 'Average gross profit per returning customer order.',
795
+ formulaDisplay: 'RC Gross Margin ÷ RC Order Count',
796
+ formula: 'rc_gross_margin / rc_order_count',
797
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN_PER_ORDER, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN_PER_ORDER, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN],
605
798
  },
606
799
  [MEASURE.ORDERS_NET_MARGIN]: {
607
800
  title: 'Net Margin',
@@ -612,11 +805,16 @@ export const ORDERS_MEASURES_MAP = {
612
805
  avgSuffix: '',
613
806
  icon: 'trending-up',
614
807
  measure: MEASURE.ORDERS_NET_MARGIN,
615
- category: MEASURE_CATEGORY.SALES,
808
+ category: MEASURE_CATEGORY.PROFITABILITY,
809
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
616
810
  valueType: MeasureValueType.CURRENCY,
617
811
  decimalPlaces: 2,
618
812
  useCompactNotation: true,
619
813
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
814
+ tooltip: 'Net revenue (after discounts and refunds) minus cost of goods sold. A tighter profitability view than gross margin.',
815
+ formulaDisplay: 'Net Revenue − COGS',
816
+ formula: 'net_revenue - cogs',
817
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN, MEASURE.ORDERS_NET_REVENUE, MEASURE.ORDERS_COGS, MEASURE.ORDERS_NET_MARGIN_NET_RATE],
620
818
  },
621
819
  [MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN]: {
622
820
  title: 'NC Net Margin',
@@ -627,11 +825,17 @@ export const ORDERS_MEASURES_MAP = {
627
825
  avgSuffix: '',
628
826
  icon: 'trending-up',
629
827
  measure: MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN,
630
- category: MEASURE_CATEGORY.SALES,
828
+ category: MEASURE_CATEGORY.PROFITABILITY,
829
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
631
830
  valueType: MeasureValueType.CURRENCY,
632
831
  decimalPlaces: 2,
633
832
  useCompactNotation: true,
634
833
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
834
+ shortTitle: 'NC Net Margin',
835
+ tooltip: 'Net margin from new customer orders after discounts and refunds minus COGS.',
836
+ formulaDisplay: 'NC Net Revenue − NC COGS',
837
+ formula: 'nc_net_revenue - nc_cogs',
838
+ relatedMeasures: [MEASURE.ORDERS_NET_MARGIN, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN],
635
839
  },
636
840
  [MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN]: {
637
841
  title: 'RC Net Margin',
@@ -642,11 +846,17 @@ export const ORDERS_MEASURES_MAP = {
642
846
  avgSuffix: '',
643
847
  icon: 'trending-up',
644
848
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN,
645
- category: MEASURE_CATEGORY.SALES,
849
+ category: MEASURE_CATEGORY.PROFITABILITY,
850
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
646
851
  valueType: MeasureValueType.CURRENCY,
647
852
  decimalPlaces: 2,
648
853
  useCompactNotation: true,
649
854
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
855
+ shortTitle: 'RC Net Margin',
856
+ tooltip: 'Net margin from returning customer orders after discounts and refunds minus COGS.',
857
+ formulaDisplay: 'RC Net Revenue − RC COGS',
858
+ formula: 'rc_net_revenue - rc_cogs',
859
+ relatedMeasures: [MEASURE.ORDERS_NET_MARGIN, MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN],
650
860
  },
651
861
  [MEASURE.ORDERS_NET_MARGIN_PER_ORDER]: {
652
862
  title: 'Net Margin Per Order',
@@ -657,11 +867,17 @@ export const ORDERS_MEASURES_MAP = {
657
867
  avgSuffix: '',
658
868
  icon: 'trending-up',
659
869
  measure: MEASURE.ORDERS_NET_MARGIN_PER_ORDER,
660
- category: MEASURE_CATEGORY.SALES,
870
+ category: MEASURE_CATEGORY.PROFITABILITY,
871
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
661
872
  valueType: MeasureValueType.CURRENCY,
662
873
  decimalPlaces: 2,
663
874
  useCompactNotation: false,
664
875
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
876
+ shortTitle: 'Net Margin/Ord',
877
+ tooltip: 'Average net profit per order after discounts, refunds, and COGS.',
878
+ formulaDisplay: 'Net Margin ÷ Order Count',
879
+ formula: 'net_margin / order_count',
880
+ relatedMeasures: [MEASURE.ORDERS_NET_MARGIN, MEASURE.ORDERS_GROSS_MARGIN_PER_ORDER, MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN_PER_ORDER],
665
881
  },
666
882
  [MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN_PER_ORDER]: {
667
883
  title: 'NC Net Margin Per Order',
@@ -672,11 +888,17 @@ export const ORDERS_MEASURES_MAP = {
672
888
  avgSuffix: '',
673
889
  icon: 'trending-up',
674
890
  measure: MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN_PER_ORDER,
675
- category: MEASURE_CATEGORY.SALES,
891
+ category: MEASURE_CATEGORY.PROFITABILITY,
892
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
676
893
  valueType: MeasureValueType.CURRENCY,
677
894
  decimalPlaces: 2,
678
895
  useCompactNotation: false,
679
896
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
897
+ shortTitle: 'NC NM/Order',
898
+ tooltip: 'Average net profit per new customer order. Use with CPA to evaluate whether acquisition is profitable at the first order.',
899
+ formulaDisplay: 'NC Net Margin ÷ NC Order Count',
900
+ formula: 'nc_net_margin / nc_order_count',
901
+ relatedMeasures: [MEASURE.ORDERS_NET_MARGIN_PER_ORDER, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN_PER_ORDER, MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN],
680
902
  },
681
903
  [MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN_PER_ORDER]: {
682
904
  title: 'RC Net Margin Per Order',
@@ -687,11 +909,17 @@ export const ORDERS_MEASURES_MAP = {
687
909
  avgSuffix: '',
688
910
  icon: 'trending-up',
689
911
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN_PER_ORDER,
690
- category: MEASURE_CATEGORY.SALES,
912
+ category: MEASURE_CATEGORY.PROFITABILITY,
913
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
691
914
  valueType: MeasureValueType.CURRENCY,
692
915
  decimalPlaces: 2,
693
916
  useCompactNotation: false,
694
917
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
918
+ shortTitle: 'RC NM/Order',
919
+ tooltip: 'Average net profit per returning customer order.',
920
+ formulaDisplay: 'RC Net Margin ÷ RC Order Count',
921
+ formula: 'rc_net_margin / rc_order_count',
922
+ relatedMeasures: [MEASURE.ORDERS_NET_MARGIN_PER_ORDER, MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN_PER_ORDER, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN],
695
923
  },
696
924
  [MEASURE.ORDERS_REFUNDS]: {
697
925
  title: 'Refunds',
@@ -702,11 +930,14 @@ export const ORDERS_MEASURES_MAP = {
702
930
  avgSuffix: '',
703
931
  icon: 'rotate-ccw',
704
932
  measure: MEASURE.ORDERS_REFUNDS,
705
- category: MEASURE_CATEGORY.SALES,
933
+ category: MEASURE_CATEGORY.ORDERS,
934
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
706
935
  valueType: MeasureValueType.CURRENCY,
707
936
  decimalPlaces: 2,
708
937
  useCompactNotation: true,
709
938
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
939
+ tooltip: 'The total dollar amount refunded to customers in the period. High values reduce net revenue and signal product or fulfillment issues.',
940
+ relatedMeasures: [MEASURE.ORDERS_REFUND_RATE, MEASURE.ORDERS_REFUND_COUNT, MEASURE.ORDERS_DISCOUNTS, MEASURE.ORDERS_NET_REVENUE],
710
941
  },
711
942
  [MEASURE.ORDERS_REFUND_COUNT]: {
712
943
  title: 'Refund Count',
@@ -717,11 +948,14 @@ export const ORDERS_MEASURES_MAP = {
717
948
  avgSuffix: '',
718
949
  icon: 'rotate-ccw',
719
950
  measure: MEASURE.ORDERS_REFUND_COUNT,
720
- category: MEASURE_CATEGORY.SALES,
951
+ category: MEASURE_CATEGORY.ORDERS,
952
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
721
953
  valueType: MeasureValueType.NUMBER,
722
954
  decimalPlaces: 0,
723
955
  useCompactNotation: false,
724
956
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
957
+ tooltip: 'The number of orders that had a refund issued. Use with Refund Rate to understand the scale of returns.',
958
+ relatedMeasures: [MEASURE.ORDERS_REFUNDS, MEASURE.ORDERS_REFUND_RATE, MEASURE.ORDERS_COUNT],
725
959
  },
726
960
  [MEASURE.ORDERS_REFUND_RATE]: {
727
961
  title: 'Refund Rate',
@@ -732,11 +966,16 @@ export const ORDERS_MEASURES_MAP = {
732
966
  avgSuffix: '%',
733
967
  icon: 'percent',
734
968
  measure: MEASURE.ORDERS_REFUND_RATE,
735
- category: MEASURE_CATEGORY.SALES,
969
+ category: MEASURE_CATEGORY.ORDERS,
970
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
736
971
  valueType: MeasureValueType.PERCENTAGE,
737
972
  decimalPlaces: 2,
738
973
  useCompactNotation: false,
739
974
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
975
+ tooltip: 'The share of orders that resulted in a refund. Elevated refund rates can indicate product quality, sizing, or expectation issues.',
976
+ formulaDisplay: 'Refund Count ÷ Order Count × 100',
977
+ formula: 'refund_count / order_count * 100',
978
+ relatedMeasures: [MEASURE.ORDERS_REFUNDS, MEASURE.ORDERS_REFUND_COUNT, MEASURE.ORDERS_DISCOUNT_RATE],
740
979
  },
741
980
  [MEASURE.ORDERS_REFUND_PER_ORDER]: {
742
981
  title: 'Refund Per Order',
@@ -747,11 +986,17 @@ export const ORDERS_MEASURES_MAP = {
747
986
  avgSuffix: '',
748
987
  icon: 'rotate-ccw',
749
988
  measure: MEASURE.ORDERS_REFUND_PER_ORDER,
750
- category: MEASURE_CATEGORY.SALES,
989
+ category: MEASURE_CATEGORY.ORDERS,
990
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
751
991
  valueType: MeasureValueType.CURRENCY,
752
992
  decimalPlaces: 2,
753
993
  useCompactNotation: false,
754
994
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
995
+ shortTitle: 'Refund/Order',
996
+ tooltip: 'Average refund dollar amount per order placed. Useful for modeling the true realized revenue per order.',
997
+ formulaDisplay: 'Total Refunds ÷ Order Count',
998
+ formula: 'total_refunds / order_count',
999
+ relatedMeasures: [MEASURE.ORDERS_REFUNDS, MEASURE.ORDERS_DISCOUNT_PER_ORDER, MEASURE.ORDERS_NET_AOV],
755
1000
  },
756
1001
  [MEASURE.ORDERS_DISCOUNTS]: {
757
1002
  title: 'Discounts',
@@ -762,11 +1007,14 @@ export const ORDERS_MEASURES_MAP = {
762
1007
  avgSuffix: '',
763
1008
  icon: 'tag',
764
1009
  measure: MEASURE.ORDERS_DISCOUNTS,
765
- category: MEASURE_CATEGORY.SALES,
1010
+ category: MEASURE_CATEGORY.ORDERS,
1011
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
766
1012
  valueType: MeasureValueType.CURRENCY,
767
1013
  decimalPlaces: 2,
768
1014
  useCompactNotation: true,
769
1015
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
1016
+ tooltip: 'The total dollar value of discounts applied across all orders. High discount totals reduce gross margin.',
1017
+ relatedMeasures: [MEASURE.ORDERS_DISCOUNT_RATE, MEASURE.ORDERS_REFUNDS, MEASURE.ORDERS_GROSS_REVENUE, MEASURE.ORDERS_NET_REVENUE],
770
1018
  },
771
1019
  [MEASURE.ORDERS_DISCOUNT_RATE]: {
772
1020
  title: 'Discount Rate',
@@ -777,11 +1025,16 @@ export const ORDERS_MEASURES_MAP = {
777
1025
  avgSuffix: '%',
778
1026
  icon: 'percent',
779
1027
  measure: MEASURE.ORDERS_DISCOUNT_RATE,
780
- category: MEASURE_CATEGORY.SALES,
1028
+ category: MEASURE_CATEGORY.ORDERS,
1029
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
781
1030
  valueType: MeasureValueType.PERCENTAGE,
782
1031
  decimalPlaces: 2,
783
1032
  useCompactNotation: false,
784
1033
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1034
+ tooltip: 'Discounts as a share of gross revenue. A high discount rate erodes margin and may indicate over-reliance on promotions.',
1035
+ formulaDisplay: 'Discounts ÷ Gross Revenue × 100',
1036
+ formula: 'discounts / gross_revenue * 100',
1037
+ relatedMeasures: [MEASURE.ORDERS_DISCOUNTS, MEASURE.ORDERS_REFUND_RATE, MEASURE.ORDERS_GROSS_REVENUE],
785
1038
  },
786
1039
  [MEASURE.ORDERS_DISCOUNT_PER_ORDER]: {
787
1040
  title: 'Discount Per Order',
@@ -792,11 +1045,17 @@ export const ORDERS_MEASURES_MAP = {
792
1045
  avgSuffix: '',
793
1046
  icon: 'tag',
794
1047
  measure: MEASURE.ORDERS_DISCOUNT_PER_ORDER,
795
- category: MEASURE_CATEGORY.SALES,
1048
+ category: MEASURE_CATEGORY.ORDERS,
1049
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
796
1050
  valueType: MeasureValueType.CURRENCY,
797
1051
  decimalPlaces: 2,
798
1052
  useCompactNotation: false,
799
1053
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1054
+ shortTitle: 'Discount/Order',
1055
+ tooltip: 'Average discount dollar value applied per order. Useful for understanding how much revenue is being given away per transaction.',
1056
+ formulaDisplay: 'Total Discounts ÷ Order Count',
1057
+ formula: 'total_discounts / order_count',
1058
+ relatedMeasures: [MEASURE.ORDERS_DISCOUNTS, MEASURE.ORDERS_REFUND_PER_ORDER, MEASURE.ORDERS_GROSS_AOV],
800
1059
  },
801
1060
  [MEASURE.ORDERS_SHIPPING]: {
802
1061
  title: 'Shipping',
@@ -807,11 +1066,14 @@ export const ORDERS_MEASURES_MAP = {
807
1066
  avgSuffix: '',
808
1067
  icon: 'truck',
809
1068
  measure: MEASURE.ORDERS_SHIPPING,
810
- category: MEASURE_CATEGORY.SALES,
1069
+ category: MEASURE_CATEGORY.ORDERS,
1070
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
811
1071
  valueType: MeasureValueType.CURRENCY,
812
1072
  decimalPlaces: 2,
813
1073
  useCompactNotation: true,
814
1074
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
1075
+ tooltip: 'Total shipping fees collected from customers across all orders. Shipping revenue offsets fulfillment costs.',
1076
+ relatedMeasures: [MEASURE.ORDERS_SHIPPING_RATE, MEASURE.ORDERS_SHIPPING_PER_ORDER, MEASURE.ORDERS_TOTAL_REVENUE],
815
1077
  },
816
1078
  [MEASURE.ORDERS_SHIPPING_RATE]: {
817
1079
  title: 'Shipping Rate',
@@ -822,11 +1084,16 @@ export const ORDERS_MEASURES_MAP = {
822
1084
  avgSuffix: '%',
823
1085
  icon: 'percent',
824
1086
  measure: MEASURE.ORDERS_SHIPPING_RATE,
825
- category: MEASURE_CATEGORY.SALES,
1087
+ category: MEASURE_CATEGORY.ORDERS,
1088
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
826
1089
  valueType: MeasureValueType.PERCENTAGE,
827
1090
  decimalPlaces: 2,
828
1091
  useCompactNotation: false,
829
1092
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1093
+ tooltip: 'Shipping revenue as a share of total revenue. A declining rate may indicate free shipping promotions affecting margins.',
1094
+ formulaDisplay: 'Shipping ÷ Total Revenue × 100',
1095
+ formula: 'shipping / total_revenue * 100',
1096
+ relatedMeasures: [MEASURE.ORDERS_SHIPPING, MEASURE.ORDERS_TAX_RATE, MEASURE.ORDERS_TOTAL_REVENUE],
830
1097
  },
831
1098
  [MEASURE.ORDERS_SHIPPING_PER_ORDER]: {
832
1099
  title: 'Shipping Per Order',
@@ -837,11 +1104,17 @@ export const ORDERS_MEASURES_MAP = {
837
1104
  avgSuffix: '',
838
1105
  icon: 'truck',
839
1106
  measure: MEASURE.ORDERS_SHIPPING_PER_ORDER,
840
- category: MEASURE_CATEGORY.SALES,
1107
+ category: MEASURE_CATEGORY.ORDERS,
1108
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
841
1109
  valueType: MeasureValueType.CURRENCY,
842
1110
  decimalPlaces: 2,
843
1111
  useCompactNotation: false,
844
1112
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1113
+ shortTitle: 'Shipping/Order',
1114
+ tooltip: 'Average shipping fee collected per order.',
1115
+ formulaDisplay: 'Total Shipping ÷ Order Count',
1116
+ formula: 'total_shipping / order_count',
1117
+ relatedMeasures: [MEASURE.ORDERS_SHIPPING, MEASURE.ORDERS_TAX_PER_ORDER, MEASURE.ORDERS_TOTAL_AOV],
845
1118
  },
846
1119
  [MEASURE.ORDERS_TAX]: {
847
1120
  title: 'Tax',
@@ -852,11 +1125,14 @@ export const ORDERS_MEASURES_MAP = {
852
1125
  avgSuffix: '',
853
1126
  icon: 'file-text',
854
1127
  measure: MEASURE.ORDERS_TAX,
855
- category: MEASURE_CATEGORY.SALES,
1128
+ category: MEASURE_CATEGORY.ORDERS,
1129
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
856
1130
  valueType: MeasureValueType.CURRENCY,
857
1131
  decimalPlaces: 2,
858
1132
  useCompactNotation: true,
859
1133
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
1134
+ tooltip: 'Total sales tax collected from customers across all orders. Tax is typically passed through and not retained as revenue.',
1135
+ relatedMeasures: [MEASURE.ORDERS_TAX_RATE, MEASURE.ORDERS_TAX_PER_ORDER, MEASURE.ORDERS_TOTAL_REVENUE],
860
1136
  },
861
1137
  [MEASURE.ORDERS_TAX_RATE]: {
862
1138
  title: 'Tax Rate',
@@ -867,11 +1143,16 @@ export const ORDERS_MEASURES_MAP = {
867
1143
  avgSuffix: '%',
868
1144
  icon: 'percent',
869
1145
  measure: MEASURE.ORDERS_TAX_RATE,
870
- category: MEASURE_CATEGORY.SALES,
1146
+ category: MEASURE_CATEGORY.ORDERS,
1147
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
871
1148
  valueType: MeasureValueType.PERCENTAGE,
872
1149
  decimalPlaces: 2,
873
1150
  useCompactNotation: false,
874
1151
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1152
+ tooltip: 'Tax collected as a share of total revenue. Useful for estimating effective tax burden across markets.',
1153
+ formulaDisplay: 'Tax ÷ Total Revenue × 100',
1154
+ formula: 'tax / total_revenue * 100',
1155
+ relatedMeasures: [MEASURE.ORDERS_TAX, MEASURE.ORDERS_SHIPPING_RATE, MEASURE.ORDERS_TOTAL_REVENUE],
875
1156
  },
876
1157
  [MEASURE.ORDERS_TAX_PER_ORDER]: {
877
1158
  title: 'Tax Per Order',
@@ -882,11 +1163,16 @@ export const ORDERS_MEASURES_MAP = {
882
1163
  avgSuffix: '',
883
1164
  icon: 'file-text',
884
1165
  measure: MEASURE.ORDERS_TAX_PER_ORDER,
885
- category: MEASURE_CATEGORY.SALES,
1166
+ category: MEASURE_CATEGORY.ORDERS,
1167
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
886
1168
  valueType: MeasureValueType.CURRENCY,
887
1169
  decimalPlaces: 2,
888
1170
  useCompactNotation: false,
889
1171
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1172
+ tooltip: 'Average tax amount collected per order.',
1173
+ formulaDisplay: 'Total Tax ÷ Order Count',
1174
+ formula: 'total_tax / order_count',
1175
+ relatedMeasures: [MEASURE.ORDERS_TAX, MEASURE.ORDERS_SHIPPING_PER_ORDER, MEASURE.ORDERS_TOTAL_AOV],
890
1176
  },
891
1177
  [MEASURE.ORDERS_NEW_CUSTOMER_RATE]: {
892
1178
  title: 'New Customer Rate',
@@ -897,11 +1183,17 @@ export const ORDERS_MEASURES_MAP = {
897
1183
  avgSuffix: '%',
898
1184
  icon: 'percent',
899
1185
  measure: MEASURE.ORDERS_NEW_CUSTOMER_RATE,
900
- category: MEASURE_CATEGORY.SALES,
1186
+ category: MEASURE_CATEGORY.ORDERS,
1187
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_CUSTOMER_SEGMENTS,
901
1188
  valueType: MeasureValueType.PERCENTAGE,
902
1189
  decimalPlaces: 2,
903
1190
  useCompactNotation: false,
904
1191
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
1192
+ shortTitle: 'NC Rate',
1193
+ tooltip: 'The percentage of total orders placed by first-time buyers. A high NC rate means the business is acquisition-heavy vs. retention-driven.',
1194
+ formulaDisplay: 'NC Orders ÷ Total Orders × 100',
1195
+ formula: 'nc_order_count / order_count * 100',
1196
+ relatedMeasures: [MEASURE.ORDERS_RETURNING_CUSTOMER_RATE, MEASURE.ORDERS_NEW_CUSTOMER_COUNT, MEASURE.ORDERS_COUNT],
905
1197
  },
906
1198
  [MEASURE.ORDERS_RETURNING_CUSTOMER_RATE]: {
907
1199
  title: 'Returning Customer Rate',
@@ -912,11 +1204,17 @@ export const ORDERS_MEASURES_MAP = {
912
1204
  avgSuffix: '%',
913
1205
  icon: 'percent',
914
1206
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_RATE,
915
- category: MEASURE_CATEGORY.SALES,
1207
+ category: MEASURE_CATEGORY.ORDERS,
1208
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_CUSTOMER_SEGMENTS,
916
1209
  valueType: MeasureValueType.PERCENTAGE,
917
1210
  decimalPlaces: 2,
918
1211
  useCompactNotation: false,
919
1212
  applicableContexts: STANDARD_APPLICABLE_CONTEXTS,
1213
+ shortTitle: 'RC Rate',
1214
+ tooltip: 'The percentage of total orders placed by repeat buyers. A high RC rate signals strong customer loyalty and retention.',
1215
+ formulaDisplay: 'RC Orders ÷ Total Orders × 100',
1216
+ formula: 'rc_order_count / order_count * 100',
1217
+ relatedMeasures: [MEASURE.ORDERS_NEW_CUSTOMER_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_COUNT, MEASURE.ORDERS_COUNT],
920
1218
  },
921
1219
  [MEASURE.ORDERS_CM1_MARGIN_RATE]: {
922
1220
  title: 'CM1 Rate',
@@ -927,11 +1225,16 @@ export const ORDERS_MEASURES_MAP = {
927
1225
  avgSuffix: '%',
928
1226
  icon: 'percent',
929
1227
  measure: MEASURE.ORDERS_CM1_MARGIN_RATE,
930
- category: MEASURE_CATEGORY.SALES,
1228
+ category: MEASURE_CATEGORY.PROFITABILITY,
1229
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_CONTRIBUTION_MARGIN,
931
1230
  valueType: MeasureValueType.PERCENTAGE,
932
1231
  decimalPlaces: 2,
933
1232
  useCompactNotation: false,
934
1233
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1234
+ tooltip: 'Contribution Margin 1 (gross margin minus variable selling costs) as a percentage of revenue. Measures product-level profitability.',
1235
+ formulaDisplay: 'CM1 ÷ Revenue × 100',
1236
+ formula: 'cm1 / revenue * 100',
1237
+ relatedMeasures: [MEASURE.ORDERS_CM2_MARGIN_RATE, MEASURE.ORDERS_CM3_MARGIN_RATE, MEASURE.ORDERS_CM1_PER_ORDER],
935
1238
  },
936
1239
  [MEASURE.ORDERS_CM2_MARGIN_RATE]: {
937
1240
  title: 'CM2 Rate',
@@ -942,11 +1245,16 @@ export const ORDERS_MEASURES_MAP = {
942
1245
  avgSuffix: '%',
943
1246
  icon: 'percent',
944
1247
  measure: MEASURE.ORDERS_CM2_MARGIN_RATE,
945
- category: MEASURE_CATEGORY.SALES,
1248
+ category: MEASURE_CATEGORY.PROFITABILITY,
1249
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_CONTRIBUTION_MARGIN,
946
1250
  valueType: MeasureValueType.PERCENTAGE,
947
1251
  decimalPlaces: 2,
948
1252
  useCompactNotation: false,
949
1253
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1254
+ tooltip: 'Contribution Margin 2 (CM1 minus marketing costs) as a percentage of revenue. Reflects post-marketing profitability.',
1255
+ formulaDisplay: 'CM2 ÷ Revenue × 100',
1256
+ formula: 'cm2 / revenue * 100',
1257
+ relatedMeasures: [MEASURE.ORDERS_CM1_MARGIN_RATE, MEASURE.ORDERS_CM3_MARGIN_RATE, MEASURE.ORDERS_CM2_PER_ORDER],
950
1258
  },
951
1259
  [MEASURE.ORDERS_CM3_MARGIN_RATE]: {
952
1260
  title: 'CM3 Rate',
@@ -957,11 +1265,16 @@ export const ORDERS_MEASURES_MAP = {
957
1265
  avgSuffix: '%',
958
1266
  icon: 'percent',
959
1267
  measure: MEASURE.ORDERS_CM3_MARGIN_RATE,
960
- category: MEASURE_CATEGORY.SALES,
1268
+ category: MEASURE_CATEGORY.PROFITABILITY,
1269
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_CONTRIBUTION_MARGIN,
961
1270
  valueType: MeasureValueType.PERCENTAGE,
962
1271
  decimalPlaces: 2,
963
1272
  useCompactNotation: false,
964
1273
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1274
+ tooltip: 'Contribution Margin 3 (CM2 minus additional fixed costs) as a percentage of revenue. The final contribution margin layer.',
1275
+ formulaDisplay: 'CM3 ÷ Revenue × 100',
1276
+ formula: 'cm3 / revenue * 100',
1277
+ relatedMeasures: [MEASURE.ORDERS_CM1_MARGIN_RATE, MEASURE.ORDERS_CM2_MARGIN_RATE, MEASURE.ORDERS_CM3_PER_ORDER],
965
1278
  },
966
1279
  [MEASURE.ORDERS_CM1_PER_ORDER]: {
967
1280
  title: 'CM1 Per Order',
@@ -972,11 +1285,16 @@ export const ORDERS_MEASURES_MAP = {
972
1285
  avgSuffix: '',
973
1286
  icon: 'trending-up',
974
1287
  measure: MEASURE.ORDERS_CM1_PER_ORDER,
975
- category: MEASURE_CATEGORY.SALES,
1288
+ category: MEASURE_CATEGORY.PROFITABILITY,
1289
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_CONTRIBUTION_MARGIN,
976
1290
  valueType: MeasureValueType.CURRENCY,
977
1291
  decimalPlaces: 2,
978
1292
  useCompactNotation: false,
979
1293
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1294
+ tooltip: 'Average Contribution Margin 1 per order. The per-order profit after product costs and variable selling expenses.',
1295
+ formulaDisplay: 'CM1 ÷ Order Count',
1296
+ formula: 'cm1 / order_count',
1297
+ relatedMeasures: [MEASURE.ORDERS_CM1_MARGIN_RATE, MEASURE.ORDERS_CM2_PER_ORDER, MEASURE.ORDERS_CM3_PER_ORDER],
980
1298
  },
981
1299
  [MEASURE.ORDERS_CM2_PER_ORDER]: {
982
1300
  title: 'CM2 Per Order',
@@ -987,11 +1305,16 @@ export const ORDERS_MEASURES_MAP = {
987
1305
  avgSuffix: '',
988
1306
  icon: 'trending-up',
989
1307
  measure: MEASURE.ORDERS_CM2_PER_ORDER,
990
- category: MEASURE_CATEGORY.SALES,
1308
+ category: MEASURE_CATEGORY.PROFITABILITY,
1309
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_CONTRIBUTION_MARGIN,
991
1310
  valueType: MeasureValueType.CURRENCY,
992
1311
  decimalPlaces: 2,
993
1312
  useCompactNotation: false,
994
1313
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1314
+ tooltip: 'Average Contribution Margin 2 per order, after deducting marketing costs. Helps assess marketing efficiency at the order level.',
1315
+ formulaDisplay: 'CM2 ÷ Order Count',
1316
+ formula: 'cm2 / order_count',
1317
+ relatedMeasures: [MEASURE.ORDERS_CM2_MARGIN_RATE, MEASURE.ORDERS_CM1_PER_ORDER, MEASURE.ORDERS_CM3_PER_ORDER],
995
1318
  },
996
1319
  [MEASURE.ORDERS_CM3_PER_ORDER]: {
997
1320
  title: 'CM3 Per Order',
@@ -1002,11 +1325,16 @@ export const ORDERS_MEASURES_MAP = {
1002
1325
  avgSuffix: '',
1003
1326
  icon: 'trending-up',
1004
1327
  measure: MEASURE.ORDERS_CM3_PER_ORDER,
1005
- category: MEASURE_CATEGORY.SALES,
1328
+ category: MEASURE_CATEGORY.PROFITABILITY,
1329
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_CONTRIBUTION_MARGIN,
1006
1330
  valueType: MeasureValueType.CURRENCY,
1007
1331
  decimalPlaces: 2,
1008
1332
  useCompactNotation: false,
1009
1333
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1334
+ tooltip: 'Average Contribution Margin 3 per order, after all layered cost deductions.',
1335
+ formulaDisplay: 'CM3 ÷ Order Count',
1336
+ formula: 'cm3 / order_count',
1337
+ relatedMeasures: [MEASURE.ORDERS_CM3_MARGIN_RATE, MEASURE.ORDERS_CM1_PER_ORDER, MEASURE.ORDERS_CM2_PER_ORDER],
1010
1338
  },
1011
1339
  [MEASURE.ORDERS_AVG_ORDERS_PER_CUSTOMER]: {
1012
1340
  title: 'Avg Orders Per Customer',
@@ -1017,11 +1345,17 @@ export const ORDERS_MEASURES_MAP = {
1017
1345
  avgSuffix: '',
1018
1346
  icon: 'users',
1019
1347
  measure: MEASURE.ORDERS_AVG_ORDERS_PER_CUSTOMER,
1020
- category: MEASURE_CATEGORY.SALES,
1348
+ category: MEASURE_CATEGORY.ORDERS,
1349
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_CUSTOMER_SEGMENTS,
1021
1350
  valueType: MeasureValueType.NUMBER,
1022
1351
  decimalPlaces: 2,
1023
1352
  useCompactNotation: false,
1024
1353
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1354
+ shortTitle: 'Avg Orders/Cust',
1355
+ tooltip: 'The average number of orders placed per unique customer in the period. Higher values indicate strong repeat purchase behavior.',
1356
+ formulaDisplay: 'Order Count ÷ Unique Customers',
1357
+ formula: 'order_count / unique_customers',
1358
+ relatedMeasures: [MEASURE.ORDERS_UNIQUE_CUSTOMERS, MEASURE.ORDERS_COUNT, MEASURE.ORDERS_NEW_CUSTOMERS, MEASURE.ORDERS_RETURNING_CUSTOMERS],
1025
1359
  },
1026
1360
  [MEASURE.ORDERS_NEW_CUSTOMERS]: {
1027
1361
  title: 'New Customers',
@@ -1032,11 +1366,14 @@ export const ORDERS_MEASURES_MAP = {
1032
1366
  avgSuffix: '',
1033
1367
  icon: 'user-plus',
1034
1368
  measure: MEASURE.ORDERS_NEW_CUSTOMERS,
1035
- category: MEASURE_CATEGORY.SALES,
1369
+ category: MEASURE_CATEGORY.ORDERS,
1370
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_CUSTOMER_SEGMENTS,
1036
1371
  valueType: MeasureValueType.NUMBER,
1037
1372
  decimalPlaces: 0,
1038
1373
  useCompactNotation: false,
1039
1374
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1375
+ tooltip: 'The number of distinct customers making their first-ever purchase in the period. Core acquisition metric.',
1376
+ relatedMeasures: [MEASURE.ORDERS_RETURNING_CUSTOMERS, MEASURE.ORDERS_NEW_CUSTOMER_COUNT, MEASURE.ORDERS_UNIQUE_CUSTOMERS],
1040
1377
  },
1041
1378
  [MEASURE.ORDERS_RETURNING_CUSTOMERS]: {
1042
1379
  title: 'Returning Customers',
@@ -1047,11 +1384,15 @@ export const ORDERS_MEASURES_MAP = {
1047
1384
  avgSuffix: '',
1048
1385
  icon: 'user-check',
1049
1386
  measure: MEASURE.ORDERS_RETURNING_CUSTOMERS,
1050
- category: MEASURE_CATEGORY.SALES,
1387
+ category: MEASURE_CATEGORY.ORDERS,
1388
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_CUSTOMER_SEGMENTS,
1051
1389
  valueType: MeasureValueType.NUMBER,
1052
1390
  decimalPlaces: 0,
1053
1391
  useCompactNotation: false,
1054
1392
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1393
+ shortTitle: 'Ret. Customers',
1394
+ tooltip: 'The number of distinct customers who have ordered before and purchased again in the period. Core retention metric.',
1395
+ relatedMeasures: [MEASURE.ORDERS_NEW_CUSTOMERS, MEASURE.ORDERS_RETURNING_CUSTOMER_COUNT, MEASURE.ORDERS_UNIQUE_CUSTOMERS],
1055
1396
  },
1056
1397
  [MEASURE.ORDERS_NEW_CUSTOMER_GROSS_RATE]: {
1057
1398
  title: 'NC Gross Revenue Rate',
@@ -1062,11 +1403,17 @@ export const ORDERS_MEASURES_MAP = {
1062
1403
  avgSuffix: '%',
1063
1404
  icon: 'percent',
1064
1405
  measure: MEASURE.ORDERS_NEW_CUSTOMER_GROSS_RATE,
1065
- category: MEASURE_CATEGORY.SALES,
1406
+ category: MEASURE_CATEGORY.ORDERS,
1407
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_CUSTOMER_SEGMENTS,
1066
1408
  valueType: MeasureValueType.PERCENTAGE,
1067
1409
  decimalPlaces: 2,
1068
1410
  useCompactNotation: false,
1069
1411
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1412
+ shortTitle: 'NC Gross Rate',
1413
+ tooltip: 'New customer gross revenue as a share of total gross revenue. Shows how much of top-line sales comes from first-time buyers.',
1414
+ formulaDisplay: 'NC Gross Revenue ÷ Gross Revenue × 100',
1415
+ formula: 'nc_gross_revenue / gross_revenue * 100',
1416
+ relatedMeasures: [MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_RATE, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_REVENUE, MEASURE.ORDERS_GROSS_REVENUE],
1070
1417
  },
1071
1418
  [MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_RATE]: {
1072
1419
  title: 'RC Gross Revenue Rate',
@@ -1077,11 +1424,17 @@ export const ORDERS_MEASURES_MAP = {
1077
1424
  avgSuffix: '%',
1078
1425
  icon: 'percent',
1079
1426
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_RATE,
1080
- category: MEASURE_CATEGORY.SALES,
1427
+ category: MEASURE_CATEGORY.ORDERS,
1428
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_CUSTOMER_SEGMENTS,
1081
1429
  valueType: MeasureValueType.PERCENTAGE,
1082
1430
  decimalPlaces: 2,
1083
1431
  useCompactNotation: false,
1084
1432
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1433
+ shortTitle: 'RC Gross Rate',
1434
+ tooltip: 'Returning customer gross revenue as a share of total gross revenue. High values indicate a retention-driven revenue base.',
1435
+ formulaDisplay: 'RC Gross Revenue ÷ Gross Revenue × 100',
1436
+ formula: 'rc_gross_revenue / gross_revenue * 100',
1437
+ relatedMeasures: [MEASURE.ORDERS_NEW_CUSTOMER_GROSS_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_REVENUE, MEASURE.ORDERS_GROSS_REVENUE],
1085
1438
  },
1086
1439
  [MEASURE.ORDERS_REFUND_AMOUNT_BY_REFUND_DATE]: {
1087
1440
  title: 'Refund Amount (by Refund Date)',
@@ -1092,11 +1445,15 @@ export const ORDERS_MEASURES_MAP = {
1092
1445
  avgSuffix: '',
1093
1446
  icon: 'rotate-ccw',
1094
1447
  measure: MEASURE.ORDERS_REFUND_AMOUNT_BY_REFUND_DATE,
1095
- category: MEASURE_CATEGORY.SALES,
1448
+ category: MEASURE_CATEGORY.ORDERS,
1449
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1096
1450
  valueType: MeasureValueType.CURRENCY,
1097
1451
  decimalPlaces: 2,
1098
1452
  useCompactNotation: true,
1099
1453
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1454
+ shortTitle: 'Refund by Date',
1455
+ tooltip: 'Refund amounts attributed to the date the refund was issued. Use this to track when refunds actually hit, not when orders were placed.',
1456
+ relatedMeasures: [MEASURE.ORDERS_REFUND_AMOUNT_BY_ORDER_DATE, MEASURE.ORDERS_REFUNDS, MEASURE.ORDERS_REFUND_GROSS_RATE],
1100
1457
  },
1101
1458
  [MEASURE.ORDERS_REFUND_AMOUNT_BY_ORDER_DATE]: {
1102
1459
  title: 'Refund Amount (by Order Date)',
@@ -1107,11 +1464,15 @@ export const ORDERS_MEASURES_MAP = {
1107
1464
  avgSuffix: '',
1108
1465
  icon: 'rotate-ccw',
1109
1466
  measure: MEASURE.ORDERS_REFUND_AMOUNT_BY_ORDER_DATE,
1110
- category: MEASURE_CATEGORY.SALES,
1467
+ category: MEASURE_CATEGORY.ORDERS,
1468
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1111
1469
  valueType: MeasureValueType.CURRENCY,
1112
1470
  decimalPlaces: 2,
1113
1471
  useCompactNotation: true,
1114
1472
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1473
+ shortTitle: 'Refund by Order',
1474
+ tooltip: 'Refund amounts attributed to the original order date. Useful for cohort analysis and understanding which order batches had high returns.',
1475
+ relatedMeasures: [MEASURE.ORDERS_REFUND_AMOUNT_BY_REFUND_DATE, MEASURE.ORDERS_REFUNDS, MEASURE.ORDERS_REFUND_NET_RATE],
1115
1476
  },
1116
1477
  [MEASURE.ORDERS_REFUND_GROSS_RATE]: {
1117
1478
  title: 'Refund Gross Rate',
@@ -1122,11 +1483,17 @@ export const ORDERS_MEASURES_MAP = {
1122
1483
  avgSuffix: '%',
1123
1484
  icon: 'percent',
1124
1485
  measure: MEASURE.ORDERS_REFUND_GROSS_RATE,
1125
- category: MEASURE_CATEGORY.SALES,
1486
+ category: MEASURE_CATEGORY.ORDERS,
1487
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1126
1488
  valueType: MeasureValueType.PERCENTAGE,
1127
1489
  decimalPlaces: 2,
1128
1490
  useCompactNotation: false,
1129
1491
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1492
+ shortTitle: 'Refund Gross %',
1493
+ tooltip: 'Total refunds as a percentage of gross revenue. Shows what portion of sales value is being returned.',
1494
+ formulaDisplay: 'Refunds ÷ Gross Revenue × 100',
1495
+ formula: 'refunds / gross_revenue * 100',
1496
+ relatedMeasures: [MEASURE.ORDERS_REFUND_NET_RATE, MEASURE.ORDERS_REFUNDS, MEASURE.ORDERS_GROSS_REVENUE],
1130
1497
  },
1131
1498
  [MEASURE.ORDERS_REFUND_NET_RATE]: {
1132
1499
  title: 'Refund Net Rate',
@@ -1137,11 +1504,17 @@ export const ORDERS_MEASURES_MAP = {
1137
1504
  avgSuffix: '%',
1138
1505
  icon: 'percent',
1139
1506
  measure: MEASURE.ORDERS_REFUND_NET_RATE,
1140
- category: MEASURE_CATEGORY.SALES,
1507
+ category: MEASURE_CATEGORY.ORDERS,
1508
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1141
1509
  valueType: MeasureValueType.PERCENTAGE,
1142
1510
  decimalPlaces: 2,
1143
1511
  useCompactNotation: false,
1144
1512
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1513
+ shortTitle: 'Refund Net %',
1514
+ tooltip: 'Total refunds as a percentage of net revenue. A higher rate here vs. gross rate means discounts compound the refund impact.',
1515
+ formulaDisplay: 'Refunds ÷ Net Revenue × 100',
1516
+ formula: 'refunds / net_revenue * 100',
1517
+ relatedMeasures: [MEASURE.ORDERS_REFUND_GROSS_RATE, MEASURE.ORDERS_REFUNDS, MEASURE.ORDERS_NET_REVENUE],
1145
1518
  },
1146
1519
  [MEASURE.ORDERS_DISCOUNT_COUNT]: {
1147
1520
  title: 'Discount Count',
@@ -1152,11 +1525,14 @@ export const ORDERS_MEASURES_MAP = {
1152
1525
  avgSuffix: '',
1153
1526
  icon: 'tag',
1154
1527
  measure: MEASURE.ORDERS_DISCOUNT_COUNT,
1155
- category: MEASURE_CATEGORY.SALES,
1528
+ category: MEASURE_CATEGORY.ORDERS,
1529
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1156
1530
  valueType: MeasureValueType.NUMBER,
1157
1531
  decimalPlaces: 0,
1158
1532
  useCompactNotation: false,
1159
1533
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1534
+ tooltip: 'The number of orders that had at least one discount applied. Compare to total orders to gauge discount usage frequency.',
1535
+ relatedMeasures: [MEASURE.ORDERS_DISCOUNTS, MEASURE.ORDERS_DISCOUNT_GROSS_RATE, MEASURE.ORDERS_COUNT],
1160
1536
  },
1161
1537
  [MEASURE.ORDERS_DISCOUNT_GROSS_RATE]: {
1162
1538
  title: 'Discount Gross Rate',
@@ -1167,11 +1543,17 @@ export const ORDERS_MEASURES_MAP = {
1167
1543
  avgSuffix: '%',
1168
1544
  icon: 'percent',
1169
1545
  measure: MEASURE.ORDERS_DISCOUNT_GROSS_RATE,
1170
- category: MEASURE_CATEGORY.SALES,
1546
+ category: MEASURE_CATEGORY.ORDERS,
1547
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1171
1548
  valueType: MeasureValueType.PERCENTAGE,
1172
1549
  decimalPlaces: 2,
1173
1550
  useCompactNotation: false,
1174
1551
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1552
+ shortTitle: 'Disc. Gross Rate',
1553
+ tooltip: 'Total discounts as a share of gross revenue. Tracks how aggressively promotional pricing is eroding top-line sales.',
1554
+ formulaDisplay: 'Discounts ÷ Gross Revenue × 100',
1555
+ formula: 'discounts / gross_revenue * 100',
1556
+ relatedMeasures: [MEASURE.ORDERS_DISCOUNTS, MEASURE.ORDERS_NEW_CUSTOMER_DISCOUNT_GROSS_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_DISCOUNT_GROSS_RATE],
1175
1557
  },
1176
1558
  [MEASURE.ORDERS_NEW_CUSTOMER_DISCOUNT_GROSS_RATE]: {
1177
1559
  title: 'NC Discount Gross Rate',
@@ -1182,11 +1564,17 @@ export const ORDERS_MEASURES_MAP = {
1182
1564
  avgSuffix: '%',
1183
1565
  icon: 'percent',
1184
1566
  measure: MEASURE.ORDERS_NEW_CUSTOMER_DISCOUNT_GROSS_RATE,
1185
- category: MEASURE_CATEGORY.SALES,
1567
+ category: MEASURE_CATEGORY.ORDERS,
1568
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1186
1569
  valueType: MeasureValueType.PERCENTAGE,
1187
1570
  decimalPlaces: 2,
1188
1571
  useCompactNotation: false,
1189
1572
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1573
+ shortTitle: 'NC Disc. Gross',
1574
+ tooltip: 'New customer discounts as a share of new customer gross revenue. High rates suggest heavy promotion to drive acquisition.',
1575
+ formulaDisplay: 'NC Discounts ÷ NC Gross Revenue × 100',
1576
+ formula: 'nc_discounts / nc_gross_revenue * 100',
1577
+ relatedMeasures: [MEASURE.ORDERS_DISCOUNT_GROSS_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_DISCOUNT_GROSS_RATE, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_REVENUE],
1190
1578
  },
1191
1579
  [MEASURE.ORDERS_RETURNING_CUSTOMER_DISCOUNT_GROSS_RATE]: {
1192
1580
  title: 'RC Discount Gross Rate',
@@ -1197,11 +1585,17 @@ export const ORDERS_MEASURES_MAP = {
1197
1585
  avgSuffix: '%',
1198
1586
  icon: 'percent',
1199
1587
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_DISCOUNT_GROSS_RATE,
1200
- category: MEASURE_CATEGORY.SALES,
1588
+ category: MEASURE_CATEGORY.ORDERS,
1589
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1201
1590
  valueType: MeasureValueType.PERCENTAGE,
1202
1591
  decimalPlaces: 2,
1203
1592
  useCompactNotation: false,
1204
1593
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1594
+ shortTitle: 'RC Disc. Gross',
1595
+ tooltip: 'Returning customer discounts as a share of returning customer gross revenue. High rates may indicate loyalty discounts cutting into repeat margins.',
1596
+ formulaDisplay: 'RC Discounts ÷ RC Gross Revenue × 100',
1597
+ formula: 'rc_discounts / rc_gross_revenue * 100',
1598
+ relatedMeasures: [MEASURE.ORDERS_DISCOUNT_GROSS_RATE, MEASURE.ORDERS_NEW_CUSTOMER_DISCOUNT_GROSS_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_REVENUE],
1205
1599
  },
1206
1600
  [MEASURE.ORDERS_NEW_CUSTOMER_DISCOUNT_ORDER_RATE]: {
1207
1601
  title: 'NC Discount Order Rate',
@@ -1212,11 +1606,17 @@ export const ORDERS_MEASURES_MAP = {
1212
1606
  avgSuffix: '%',
1213
1607
  icon: 'percent',
1214
1608
  measure: MEASURE.ORDERS_NEW_CUSTOMER_DISCOUNT_ORDER_RATE,
1215
- category: MEASURE_CATEGORY.SALES,
1609
+ category: MEASURE_CATEGORY.ORDERS,
1610
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1216
1611
  valueType: MeasureValueType.PERCENTAGE,
1217
1612
  decimalPlaces: 2,
1218
1613
  useCompactNotation: false,
1219
1614
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1615
+ shortTitle: 'NC Disc. Order %',
1616
+ tooltip: 'The share of new customer orders that used a discount code or promotion. High values show how dependent acquisition is on discounting.',
1617
+ formulaDisplay: 'NC Discounted Orders ÷ NC Orders × 100',
1618
+ formula: 'nc_discounted_order_count / nc_order_count * 100',
1619
+ relatedMeasures: [MEASURE.ORDERS_RETURNING_CUSTOMER_DISCOUNT_ORDER_RATE, MEASURE.ORDERS_NEW_CUSTOMER_DISCOUNT_GROSS_RATE, MEASURE.ORDERS_DISCOUNT_COUNT],
1220
1620
  },
1221
1621
  [MEASURE.ORDERS_RETURNING_CUSTOMER_DISCOUNT_ORDER_RATE]: {
1222
1622
  title: 'RC Discount Order Rate',
@@ -1227,11 +1627,17 @@ export const ORDERS_MEASURES_MAP = {
1227
1627
  avgSuffix: '%',
1228
1628
  icon: 'percent',
1229
1629
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_DISCOUNT_ORDER_RATE,
1230
- category: MEASURE_CATEGORY.SALES,
1630
+ category: MEASURE_CATEGORY.ORDERS,
1631
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1231
1632
  valueType: MeasureValueType.PERCENTAGE,
1232
1633
  decimalPlaces: 2,
1233
1634
  useCompactNotation: false,
1234
1635
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1636
+ shortTitle: 'RC Disc. Order %',
1637
+ tooltip: 'The share of returning customer orders that used a discount. Elevated values may signal discount dependency in retention.',
1638
+ formulaDisplay: 'RC Discounted Orders ÷ RC Orders × 100',
1639
+ formula: 'rc_discounted_order_count / rc_order_count * 100',
1640
+ relatedMeasures: [MEASURE.ORDERS_NEW_CUSTOMER_DISCOUNT_ORDER_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_DISCOUNT_GROSS_RATE, MEASURE.ORDERS_DISCOUNT_COUNT],
1235
1641
  },
1236
1642
  [MEASURE.ORDERS_REFUND_PLUS_DISCOUNT]: {
1237
1643
  title: 'Refund + Discount',
@@ -1242,11 +1648,17 @@ export const ORDERS_MEASURES_MAP = {
1242
1648
  avgSuffix: '',
1243
1649
  icon: 'trending-down',
1244
1650
  measure: MEASURE.ORDERS_REFUND_PLUS_DISCOUNT,
1245
- category: MEASURE_CATEGORY.SALES,
1651
+ category: MEASURE_CATEGORY.ORDERS,
1652
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1246
1653
  valueType: MeasureValueType.CURRENCY,
1247
1654
  decimalPlaces: 2,
1248
1655
  useCompactNotation: true,
1249
1656
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1657
+ shortTitle: 'Refund + Disc.',
1658
+ tooltip: 'The combined dollar value of refunds and discounts. Represents the total revenue leakage from gross sales.',
1659
+ formulaDisplay: 'Refunds + Discounts',
1660
+ formula: 'refunds + discounts',
1661
+ relatedMeasures: [MEASURE.ORDERS_REFUNDS, MEASURE.ORDERS_DISCOUNTS, MEASURE.ORDERS_NET_REVENUE],
1250
1662
  },
1251
1663
  [MEASURE.ORDERS_NEW_CUSTOMER_REFUND_PLUS_DISCOUNT]: {
1252
1664
  title: 'NC Refund + Discount',
@@ -1257,11 +1669,17 @@ export const ORDERS_MEASURES_MAP = {
1257
1669
  avgSuffix: '',
1258
1670
  icon: 'trending-down',
1259
1671
  measure: MEASURE.ORDERS_NEW_CUSTOMER_REFUND_PLUS_DISCOUNT,
1260
- category: MEASURE_CATEGORY.SALES,
1672
+ category: MEASURE_CATEGORY.ORDERS,
1673
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1261
1674
  valueType: MeasureValueType.CURRENCY,
1262
1675
  decimalPlaces: 2,
1263
1676
  useCompactNotation: true,
1264
1677
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1678
+ shortTitle: 'NC Ref+Disc',
1679
+ tooltip: 'Combined refunds and discounts for new customer orders. Reflects the total revenue given back from first-time buyer transactions.',
1680
+ formulaDisplay: 'NC Refunds + NC Discounts',
1681
+ formula: 'nc_refunds + nc_discounts',
1682
+ relatedMeasures: [MEASURE.ORDERS_REFUND_PLUS_DISCOUNT, MEASURE.ORDERS_RETURNING_CUSTOMER_REFUND_PLUS_DISCOUNT, MEASURE.ORDERS_NEW_CUSTOMER_NET_REVENUE],
1265
1683
  },
1266
1684
  [MEASURE.ORDERS_RETURNING_CUSTOMER_REFUND_PLUS_DISCOUNT]: {
1267
1685
  title: 'RC Refund + Discount',
@@ -1272,11 +1690,17 @@ export const ORDERS_MEASURES_MAP = {
1272
1690
  avgSuffix: '',
1273
1691
  icon: 'trending-down',
1274
1692
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_REFUND_PLUS_DISCOUNT,
1275
- category: MEASURE_CATEGORY.SALES,
1693
+ category: MEASURE_CATEGORY.ORDERS,
1694
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1276
1695
  valueType: MeasureValueType.CURRENCY,
1277
1696
  decimalPlaces: 2,
1278
1697
  useCompactNotation: true,
1279
1698
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1699
+ shortTitle: 'RC Ref+Disc',
1700
+ tooltip: 'Combined refunds and discounts for returning customer orders.',
1701
+ formulaDisplay: 'RC Refunds + RC Discounts',
1702
+ formula: 'rc_refunds + rc_discounts',
1703
+ relatedMeasures: [MEASURE.ORDERS_REFUND_PLUS_DISCOUNT, MEASURE.ORDERS_NEW_CUSTOMER_REFUND_PLUS_DISCOUNT, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_REVENUE],
1280
1704
  },
1281
1705
  [MEASURE.ORDERS_SUBTOTAL]: {
1282
1706
  title: 'Subtotal',
@@ -1287,11 +1711,14 @@ export const ORDERS_MEASURES_MAP = {
1287
1711
  avgSuffix: '',
1288
1712
  icon: 'dollar-sign',
1289
1713
  measure: MEASURE.ORDERS_SUBTOTAL,
1290
- category: MEASURE_CATEGORY.SALES,
1714
+ category: MEASURE_CATEGORY.ORDERS,
1715
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_REVENUE,
1291
1716
  valueType: MeasureValueType.CURRENCY,
1292
1717
  decimalPlaces: 2,
1293
1718
  useCompactNotation: true,
1294
1719
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1720
+ tooltip: 'The order subtotal before shipping and taxes are added. Reflects the product value customers commit to at checkout.',
1721
+ relatedMeasures: [MEASURE.ORDERS_GROSS_REVENUE, MEASURE.ORDERS_NET_PLUS_SHIPPING, MEASURE.ORDERS_TOTAL_REVENUE],
1295
1722
  },
1296
1723
  [MEASURE.ORDERS_NET_PLUS_SHIPPING]: {
1297
1724
  title: 'Net + Shipping',
@@ -1302,11 +1729,17 @@ export const ORDERS_MEASURES_MAP = {
1302
1729
  avgSuffix: '',
1303
1730
  icon: 'dollar-sign',
1304
1731
  measure: MEASURE.ORDERS_NET_PLUS_SHIPPING,
1305
- category: MEASURE_CATEGORY.SALES,
1732
+ category: MEASURE_CATEGORY.ORDERS,
1733
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_REVENUE,
1306
1734
  valueType: MeasureValueType.CURRENCY,
1307
1735
  decimalPlaces: 2,
1308
1736
  useCompactNotation: true,
1309
1737
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1738
+ shortTitle: 'Net + Ship.',
1739
+ tooltip: 'Net revenue plus shipping collected. Useful for businesses where shipping is a meaningful revenue contributor.',
1740
+ formulaDisplay: 'Net Revenue + Shipping',
1741
+ formula: 'net_revenue + shipping',
1742
+ relatedMeasures: [MEASURE.ORDERS_NET_REVENUE, MEASURE.ORDERS_SHIPPING, MEASURE.ORDERS_SUBTOTAL],
1310
1743
  },
1311
1744
  [MEASURE.ORDERS_CANCELLED_COUNT]: {
1312
1745
  title: 'Cancelled Orders',
@@ -1317,11 +1750,15 @@ export const ORDERS_MEASURES_MAP = {
1317
1750
  avgSuffix: '',
1318
1751
  icon: 'x-circle',
1319
1752
  measure: MEASURE.ORDERS_CANCELLED_COUNT,
1320
- category: MEASURE_CATEGORY.SALES,
1753
+ category: MEASURE_CATEGORY.ORDERS,
1754
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1321
1755
  valueType: MeasureValueType.NUMBER,
1322
1756
  decimalPlaces: 0,
1323
1757
  useCompactNotation: false,
1324
1758
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1759
+ shortTitle: 'Cancellations',
1760
+ tooltip: 'The number of orders that were cancelled before fulfillment. High counts may indicate checkout friction or inventory issues.',
1761
+ relatedMeasures: [MEASURE.ORDERS_CANCELLED_AMOUNT, MEASURE.ORDERS_COUNT, MEASURE.ORDERS_REFUND_COUNT],
1325
1762
  },
1326
1763
  [MEASURE.ORDERS_CANCELLED_AMOUNT]: {
1327
1764
  title: 'Cancelled Amount',
@@ -1332,11 +1769,15 @@ export const ORDERS_MEASURES_MAP = {
1332
1769
  avgSuffix: '',
1333
1770
  icon: 'x-circle',
1334
1771
  measure: MEASURE.ORDERS_CANCELLED_AMOUNT,
1335
- category: MEASURE_CATEGORY.SALES,
1772
+ category: MEASURE_CATEGORY.ORDERS,
1773
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_ADJUSTMENTS,
1336
1774
  valueType: MeasureValueType.CURRENCY,
1337
1775
  decimalPlaces: 2,
1338
1776
  useCompactNotation: true,
1339
1777
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1778
+ shortTitle: 'Cancelled $',
1779
+ tooltip: 'The total dollar value of cancelled orders. Represents potential revenue that was lost before fulfillment.',
1780
+ relatedMeasures: [MEASURE.ORDERS_CANCELLED_COUNT, MEASURE.ORDERS_REFUNDS, MEASURE.ORDERS_TOTAL_REVENUE],
1340
1781
  },
1341
1782
  [MEASURE.ORDERS_GROSS_PRODUCT_MARGIN]: {
1342
1783
  title: 'Gross Product Margin',
@@ -1347,11 +1788,15 @@ export const ORDERS_MEASURES_MAP = {
1347
1788
  avgSuffix: '',
1348
1789
  icon: 'trending-up',
1349
1790
  measure: MEASURE.ORDERS_GROSS_PRODUCT_MARGIN,
1350
- category: MEASURE_CATEGORY.SALES,
1791
+ category: MEASURE_CATEGORY.PROFITABILITY,
1792
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1351
1793
  valueType: MeasureValueType.CURRENCY,
1352
1794
  decimalPlaces: 2,
1353
1795
  useCompactNotation: true,
1354
1796
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1797
+ shortTitle: 'Gross Prod. Margin',
1798
+ tooltip: 'Gross margin calculated at the product level, before order-level adjustments like shipping or taxes.',
1799
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN, MEASURE.ORDERS_NET_PRODUCT_MARGIN, MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_GROSS_RATE],
1355
1800
  },
1356
1801
  [MEASURE.ORDERS_NEW_CUSTOMER_GROSS_PRODUCT_MARGIN]: {
1357
1802
  title: 'NC Gross Product Margin',
@@ -1362,11 +1807,15 @@ export const ORDERS_MEASURES_MAP = {
1362
1807
  avgSuffix: '',
1363
1808
  icon: 'trending-up',
1364
1809
  measure: MEASURE.ORDERS_NEW_CUSTOMER_GROSS_PRODUCT_MARGIN,
1365
- category: MEASURE_CATEGORY.SALES,
1810
+ category: MEASURE_CATEGORY.PROFITABILITY,
1811
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1366
1812
  valueType: MeasureValueType.CURRENCY,
1367
1813
  decimalPlaces: 2,
1368
1814
  useCompactNotation: true,
1369
1815
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1816
+ shortTitle: 'NC Gross Prod. Mg',
1817
+ tooltip: 'Product-level gross margin from new customer orders.',
1818
+ relatedMeasures: [MEASURE.ORDERS_GROSS_PRODUCT_MARGIN, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_PRODUCT_MARGIN, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN],
1370
1819
  },
1371
1820
  [MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_PRODUCT_MARGIN]: {
1372
1821
  title: 'RC Gross Product Margin',
@@ -1377,11 +1826,15 @@ export const ORDERS_MEASURES_MAP = {
1377
1826
  avgSuffix: '',
1378
1827
  icon: 'trending-up',
1379
1828
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_PRODUCT_MARGIN,
1380
- category: MEASURE_CATEGORY.SALES,
1829
+ category: MEASURE_CATEGORY.PROFITABILITY,
1830
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1381
1831
  valueType: MeasureValueType.CURRENCY,
1382
1832
  decimalPlaces: 2,
1383
1833
  useCompactNotation: true,
1384
1834
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1835
+ shortTitle: 'RC Gross Prod. Mg',
1836
+ tooltip: 'Product-level gross margin from returning customer orders.',
1837
+ relatedMeasures: [MEASURE.ORDERS_GROSS_PRODUCT_MARGIN, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_PRODUCT_MARGIN, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN],
1385
1838
  },
1386
1839
  [MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_GROSS_RATE]: {
1387
1840
  title: 'Gross Product Margin / Gross Rate',
@@ -1392,11 +1845,17 @@ export const ORDERS_MEASURES_MAP = {
1392
1845
  avgSuffix: '%',
1393
1846
  icon: 'percent',
1394
1847
  measure: MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_GROSS_RATE,
1395
- category: MEASURE_CATEGORY.SALES,
1848
+ category: MEASURE_CATEGORY.PROFITABILITY,
1849
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1396
1850
  valueType: MeasureValueType.PERCENTAGE,
1397
1851
  decimalPlaces: 2,
1398
1852
  useCompactNotation: false,
1399
1853
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1854
+ shortTitle: 'GPM / Gross %',
1855
+ tooltip: 'Gross product margin as a share of gross revenue. Shows how efficiently products are priced relative to their costs.',
1856
+ formulaDisplay: 'Gross Product Margin ÷ Gross Revenue × 100',
1857
+ formula: 'gross_product_margin / gross_revenue * 100',
1858
+ relatedMeasures: [MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_NET_RATE, MEASURE.ORDERS_GROSS_PRODUCT_MARGIN, MEASURE.ORDERS_GROSS_MARGIN_GROSS_RATE],
1400
1859
  },
1401
1860
  [MEASURE.ORDERS_NEW_CUSTOMER_GROSS_PRODUCT_MARGIN_GROSS_RATE]: {
1402
1861
  title: 'NC Gross Product Margin / Gross Rate',
@@ -1407,11 +1866,17 @@ export const ORDERS_MEASURES_MAP = {
1407
1866
  avgSuffix: '%',
1408
1867
  icon: 'percent',
1409
1868
  measure: MEASURE.ORDERS_NEW_CUSTOMER_GROSS_PRODUCT_MARGIN_GROSS_RATE,
1410
- category: MEASURE_CATEGORY.SALES,
1869
+ category: MEASURE_CATEGORY.PROFITABILITY,
1870
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1411
1871
  valueType: MeasureValueType.PERCENTAGE,
1412
1872
  decimalPlaces: 2,
1413
1873
  useCompactNotation: false,
1414
1874
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1875
+ shortTitle: 'NC GPM/Gross %',
1876
+ tooltip: 'New customer gross product margin as a share of their gross revenue.',
1877
+ formulaDisplay: 'NC Gross Product Margin ÷ NC Gross Revenue × 100',
1878
+ formula: 'nc_gross_product_margin / nc_gross_revenue * 100',
1879
+ relatedMeasures: [MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_GROSS_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_PRODUCT_MARGIN_GROSS_RATE],
1415
1880
  },
1416
1881
  [MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_PRODUCT_MARGIN_GROSS_RATE]: {
1417
1882
  title: 'RC Gross Product Margin / Gross Rate',
@@ -1422,11 +1887,17 @@ export const ORDERS_MEASURES_MAP = {
1422
1887
  avgSuffix: '%',
1423
1888
  icon: 'percent',
1424
1889
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_PRODUCT_MARGIN_GROSS_RATE,
1425
- category: MEASURE_CATEGORY.SALES,
1890
+ category: MEASURE_CATEGORY.PROFITABILITY,
1891
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1426
1892
  valueType: MeasureValueType.PERCENTAGE,
1427
1893
  decimalPlaces: 2,
1428
1894
  useCompactNotation: false,
1429
1895
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1896
+ shortTitle: 'RC GPM/Gross %',
1897
+ tooltip: 'Returning customer gross product margin as a share of their gross revenue.',
1898
+ formulaDisplay: 'RC Gross Product Margin ÷ RC Gross Revenue × 100',
1899
+ formula: 'rc_gross_product_margin / rc_gross_revenue * 100',
1900
+ relatedMeasures: [MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_GROSS_RATE, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_PRODUCT_MARGIN_GROSS_RATE],
1430
1901
  },
1431
1902
  [MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_NET_RATE]: {
1432
1903
  title: 'Gross Product Margin / Net Rate',
@@ -1437,11 +1908,17 @@ export const ORDERS_MEASURES_MAP = {
1437
1908
  avgSuffix: '%',
1438
1909
  icon: 'percent',
1439
1910
  measure: MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_NET_RATE,
1440
- category: MEASURE_CATEGORY.SALES,
1911
+ category: MEASURE_CATEGORY.PROFITABILITY,
1912
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1441
1913
  valueType: MeasureValueType.PERCENTAGE,
1442
1914
  decimalPlaces: 2,
1443
1915
  useCompactNotation: false,
1444
1916
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1917
+ shortTitle: 'GPM / Net %',
1918
+ tooltip: 'Gross product margin as a share of net revenue (after discounts and refunds).',
1919
+ formulaDisplay: 'Gross Product Margin ÷ Net Revenue × 100',
1920
+ formula: 'gross_product_margin / net_revenue * 100',
1921
+ relatedMeasures: [MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_GROSS_RATE, MEASURE.ORDERS_GROSS_PRODUCT_MARGIN, MEASURE.ORDERS_NET_PRODUCT_MARGIN_NET_RATE],
1445
1922
  },
1446
1923
  [MEASURE.ORDERS_NEW_CUSTOMER_GROSS_PRODUCT_MARGIN_NET_RATE]: {
1447
1924
  title: 'NC Gross Product Margin / Net Rate',
@@ -1452,11 +1929,17 @@ export const ORDERS_MEASURES_MAP = {
1452
1929
  avgSuffix: '%',
1453
1930
  icon: 'percent',
1454
1931
  measure: MEASURE.ORDERS_NEW_CUSTOMER_GROSS_PRODUCT_MARGIN_NET_RATE,
1455
- category: MEASURE_CATEGORY.SALES,
1932
+ category: MEASURE_CATEGORY.PROFITABILITY,
1933
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1456
1934
  valueType: MeasureValueType.PERCENTAGE,
1457
1935
  decimalPlaces: 2,
1458
1936
  useCompactNotation: false,
1459
1937
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1938
+ shortTitle: 'NC GPM/Net %',
1939
+ tooltip: 'New customer gross product margin as a share of their net revenue.',
1940
+ formulaDisplay: 'NC Gross Product Margin ÷ NC Net Revenue × 100',
1941
+ formula: 'nc_gross_product_margin / nc_net_revenue * 100',
1942
+ relatedMeasures: [MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_NET_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_PRODUCT_MARGIN_NET_RATE],
1460
1943
  },
1461
1944
  [MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_PRODUCT_MARGIN_NET_RATE]: {
1462
1945
  title: 'RC Gross Product Margin / Net Rate',
@@ -1467,11 +1950,17 @@ export const ORDERS_MEASURES_MAP = {
1467
1950
  avgSuffix: '%',
1468
1951
  icon: 'percent',
1469
1952
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_PRODUCT_MARGIN_NET_RATE,
1470
- category: MEASURE_CATEGORY.SALES,
1953
+ category: MEASURE_CATEGORY.PROFITABILITY,
1954
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1471
1955
  valueType: MeasureValueType.PERCENTAGE,
1472
1956
  decimalPlaces: 2,
1473
1957
  useCompactNotation: false,
1474
1958
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1959
+ shortTitle: 'RC GPM/Net %',
1960
+ tooltip: 'Returning customer gross product margin as a share of their net revenue.',
1961
+ formulaDisplay: 'RC Gross Product Margin ÷ RC Net Revenue × 100',
1962
+ formula: 'rc_gross_product_margin / rc_net_revenue * 100',
1963
+ relatedMeasures: [MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_NET_RATE, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_PRODUCT_MARGIN_NET_RATE],
1475
1964
  },
1476
1965
  [MEASURE.ORDERS_NET_PRODUCT_MARGIN]: {
1477
1966
  title: 'Net Product Margin',
@@ -1482,11 +1971,15 @@ export const ORDERS_MEASURES_MAP = {
1482
1971
  avgSuffix: '',
1483
1972
  icon: 'trending-up',
1484
1973
  measure: MEASURE.ORDERS_NET_PRODUCT_MARGIN,
1485
- category: MEASURE_CATEGORY.SALES,
1974
+ category: MEASURE_CATEGORY.PROFITABILITY,
1975
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1486
1976
  valueType: MeasureValueType.CURRENCY,
1487
1977
  decimalPlaces: 2,
1488
1978
  useCompactNotation: true,
1489
1979
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1980
+ shortTitle: 'Net Prod. Margin',
1981
+ tooltip: 'Net margin calculated at the product level after discounts and refunds, but before order-level fees.',
1982
+ relatedMeasures: [MEASURE.ORDERS_NET_MARGIN, MEASURE.ORDERS_GROSS_PRODUCT_MARGIN, MEASURE.ORDERS_NET_PRODUCT_MARGIN_NET_RATE],
1490
1983
  },
1491
1984
  [MEASURE.ORDERS_NEW_CUSTOMER_NET_PRODUCT_MARGIN]: {
1492
1985
  title: 'NC Net Product Margin',
@@ -1497,11 +1990,15 @@ export const ORDERS_MEASURES_MAP = {
1497
1990
  avgSuffix: '',
1498
1991
  icon: 'trending-up',
1499
1992
  measure: MEASURE.ORDERS_NEW_CUSTOMER_NET_PRODUCT_MARGIN,
1500
- category: MEASURE_CATEGORY.SALES,
1993
+ category: MEASURE_CATEGORY.PROFITABILITY,
1994
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1501
1995
  valueType: MeasureValueType.CURRENCY,
1502
1996
  decimalPlaces: 2,
1503
1997
  useCompactNotation: true,
1504
1998
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
1999
+ shortTitle: 'NC Net Prod. Mg',
2000
+ tooltip: 'Product-level net margin from new customer orders after discounts and refunds.',
2001
+ relatedMeasures: [MEASURE.ORDERS_NET_PRODUCT_MARGIN, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_PRODUCT_MARGIN, MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN],
1505
2002
  },
1506
2003
  [MEASURE.ORDERS_RETURNING_CUSTOMER_NET_PRODUCT_MARGIN]: {
1507
2004
  title: 'RC Net Product Margin',
@@ -1512,11 +2009,15 @@ export const ORDERS_MEASURES_MAP = {
1512
2009
  avgSuffix: '',
1513
2010
  icon: 'trending-up',
1514
2011
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_NET_PRODUCT_MARGIN,
1515
- category: MEASURE_CATEGORY.SALES,
2012
+ category: MEASURE_CATEGORY.PROFITABILITY,
2013
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1516
2014
  valueType: MeasureValueType.CURRENCY,
1517
2015
  decimalPlaces: 2,
1518
2016
  useCompactNotation: true,
1519
2017
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2018
+ shortTitle: 'RC Net Prod. Mg',
2019
+ tooltip: 'Product-level net margin from returning customer orders after discounts and refunds.',
2020
+ relatedMeasures: [MEASURE.ORDERS_NET_PRODUCT_MARGIN, MEASURE.ORDERS_NEW_CUSTOMER_NET_PRODUCT_MARGIN, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN],
1520
2021
  },
1521
2022
  [MEASURE.ORDERS_NET_PRODUCT_MARGIN_GROSS_RATE]: {
1522
2023
  title: 'Net Product Margin / Gross Rate',
@@ -1527,11 +2028,17 @@ export const ORDERS_MEASURES_MAP = {
1527
2028
  avgSuffix: '%',
1528
2029
  icon: 'percent',
1529
2030
  measure: MEASURE.ORDERS_NET_PRODUCT_MARGIN_GROSS_RATE,
1530
- category: MEASURE_CATEGORY.SALES,
2031
+ category: MEASURE_CATEGORY.PROFITABILITY,
2032
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1531
2033
  valueType: MeasureValueType.PERCENTAGE,
1532
2034
  decimalPlaces: 2,
1533
2035
  useCompactNotation: false,
1534
2036
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2037
+ shortTitle: 'NPM / Gross %',
2038
+ tooltip: 'Net product margin as a share of gross revenue.',
2039
+ formulaDisplay: 'Net Product Margin ÷ Gross Revenue × 100',
2040
+ formula: 'net_product_margin / gross_revenue * 100',
2041
+ relatedMeasures: [MEASURE.ORDERS_NET_PRODUCT_MARGIN_NET_RATE, MEASURE.ORDERS_NET_PRODUCT_MARGIN, MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_GROSS_RATE],
1535
2042
  },
1536
2043
  [MEASURE.ORDERS_NEW_CUSTOMER_NET_PRODUCT_MARGIN_GROSS_RATE]: {
1537
2044
  title: 'NC Net Product Margin / Gross Rate',
@@ -1542,11 +2049,17 @@ export const ORDERS_MEASURES_MAP = {
1542
2049
  avgSuffix: '%',
1543
2050
  icon: 'percent',
1544
2051
  measure: MEASURE.ORDERS_NEW_CUSTOMER_NET_PRODUCT_MARGIN_GROSS_RATE,
1545
- category: MEASURE_CATEGORY.SALES,
2052
+ category: MEASURE_CATEGORY.PROFITABILITY,
2053
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1546
2054
  valueType: MeasureValueType.PERCENTAGE,
1547
2055
  decimalPlaces: 2,
1548
2056
  useCompactNotation: false,
1549
2057
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2058
+ shortTitle: 'NC NPM/Gross %',
2059
+ tooltip: 'New customer net product margin as a share of their gross revenue.',
2060
+ formulaDisplay: 'NC Net Product Margin ÷ NC Gross Revenue × 100',
2061
+ formula: 'nc_net_product_margin / nc_gross_revenue * 100',
2062
+ relatedMeasures: [MEASURE.ORDERS_NET_PRODUCT_MARGIN_GROSS_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_PRODUCT_MARGIN_GROSS_RATE],
1550
2063
  },
1551
2064
  [MEASURE.ORDERS_RETURNING_CUSTOMER_NET_PRODUCT_MARGIN_GROSS_RATE]: {
1552
2065
  title: 'RC Net Product Margin / Gross Rate',
@@ -1557,11 +2070,17 @@ export const ORDERS_MEASURES_MAP = {
1557
2070
  avgSuffix: '%',
1558
2071
  icon: 'percent',
1559
2072
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_NET_PRODUCT_MARGIN_GROSS_RATE,
1560
- category: MEASURE_CATEGORY.SALES,
2073
+ category: MEASURE_CATEGORY.PROFITABILITY,
2074
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1561
2075
  valueType: MeasureValueType.PERCENTAGE,
1562
2076
  decimalPlaces: 2,
1563
2077
  useCompactNotation: false,
1564
2078
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2079
+ shortTitle: 'RC NPM/Gross %',
2080
+ tooltip: 'Returning customer net product margin as a share of their gross revenue.',
2081
+ formulaDisplay: 'RC Net Product Margin ÷ RC Gross Revenue × 100',
2082
+ formula: 'rc_net_product_margin / rc_gross_revenue * 100',
2083
+ relatedMeasures: [MEASURE.ORDERS_NET_PRODUCT_MARGIN_GROSS_RATE, MEASURE.ORDERS_NEW_CUSTOMER_NET_PRODUCT_MARGIN_GROSS_RATE],
1565
2084
  },
1566
2085
  [MEASURE.ORDERS_NET_PRODUCT_MARGIN_NET_RATE]: {
1567
2086
  title: 'Net Product Margin / Net Rate',
@@ -1572,11 +2091,17 @@ export const ORDERS_MEASURES_MAP = {
1572
2091
  avgSuffix: '%',
1573
2092
  icon: 'percent',
1574
2093
  measure: MEASURE.ORDERS_NET_PRODUCT_MARGIN_NET_RATE,
1575
- category: MEASURE_CATEGORY.SALES,
2094
+ category: MEASURE_CATEGORY.PROFITABILITY,
2095
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1576
2096
  valueType: MeasureValueType.PERCENTAGE,
1577
2097
  decimalPlaces: 2,
1578
2098
  useCompactNotation: false,
1579
2099
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2100
+ shortTitle: 'NPM / Net %',
2101
+ tooltip: 'Net product margin as a share of net revenue. Shows the post-discount, post-refund product profit rate.',
2102
+ formulaDisplay: 'Net Product Margin ÷ Net Revenue × 100',
2103
+ formula: 'net_product_margin / net_revenue * 100',
2104
+ relatedMeasures: [MEASURE.ORDERS_NET_PRODUCT_MARGIN_GROSS_RATE, MEASURE.ORDERS_NET_PRODUCT_MARGIN, MEASURE.ORDERS_GROSS_PRODUCT_MARGIN_NET_RATE],
1580
2105
  },
1581
2106
  [MEASURE.ORDERS_NEW_CUSTOMER_NET_PRODUCT_MARGIN_NET_RATE]: {
1582
2107
  title: 'NC Net Product Margin / Net Rate',
@@ -1587,11 +2112,17 @@ export const ORDERS_MEASURES_MAP = {
1587
2112
  avgSuffix: '%',
1588
2113
  icon: 'percent',
1589
2114
  measure: MEASURE.ORDERS_NEW_CUSTOMER_NET_PRODUCT_MARGIN_NET_RATE,
1590
- category: MEASURE_CATEGORY.SALES,
2115
+ category: MEASURE_CATEGORY.PROFITABILITY,
2116
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1591
2117
  valueType: MeasureValueType.PERCENTAGE,
1592
2118
  decimalPlaces: 2,
1593
2119
  useCompactNotation: false,
1594
2120
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2121
+ shortTitle: 'NC NPM/Net %',
2122
+ tooltip: 'New customer net product margin as a share of their net revenue.',
2123
+ formulaDisplay: 'NC Net Product Margin ÷ NC Net Revenue × 100',
2124
+ formula: 'nc_net_product_margin / nc_net_revenue * 100',
2125
+ relatedMeasures: [MEASURE.ORDERS_NET_PRODUCT_MARGIN_NET_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_PRODUCT_MARGIN_NET_RATE],
1595
2126
  },
1596
2127
  [MEASURE.ORDERS_RETURNING_CUSTOMER_NET_PRODUCT_MARGIN_NET_RATE]: {
1597
2128
  title: 'RC Net Product Margin / Net Rate',
@@ -1602,11 +2133,17 @@ export const ORDERS_MEASURES_MAP = {
1602
2133
  avgSuffix: '%',
1603
2134
  icon: 'percent',
1604
2135
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_NET_PRODUCT_MARGIN_NET_RATE,
1605
- category: MEASURE_CATEGORY.SALES,
2136
+ category: MEASURE_CATEGORY.PROFITABILITY,
2137
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1606
2138
  valueType: MeasureValueType.PERCENTAGE,
1607
2139
  decimalPlaces: 2,
1608
2140
  useCompactNotation: false,
1609
2141
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2142
+ shortTitle: 'RC NPM/Net %',
2143
+ tooltip: 'Returning customer net product margin as a share of their net revenue.',
2144
+ formulaDisplay: 'RC Net Product Margin ÷ RC Net Revenue × 100',
2145
+ formula: 'rc_net_product_margin / rc_net_revenue * 100',
2146
+ relatedMeasures: [MEASURE.ORDERS_NET_PRODUCT_MARGIN_NET_RATE, MEASURE.ORDERS_NEW_CUSTOMER_NET_PRODUCT_MARGIN_NET_RATE],
1610
2147
  },
1611
2148
  [MEASURE.ORDERS_GROSS_MARGIN_GROSS_RATE]: {
1612
2149
  title: 'Gross Margin / Gross Rate',
@@ -1617,11 +2154,17 @@ export const ORDERS_MEASURES_MAP = {
1617
2154
  avgSuffix: '%',
1618
2155
  icon: 'percent',
1619
2156
  measure: MEASURE.ORDERS_GROSS_MARGIN_GROSS_RATE,
1620
- category: MEASURE_CATEGORY.SALES,
2157
+ category: MEASURE_CATEGORY.PROFITABILITY,
2158
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1621
2159
  valueType: MeasureValueType.PERCENTAGE,
1622
2160
  decimalPlaces: 2,
1623
2161
  useCompactNotation: false,
1624
2162
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2163
+ shortTitle: 'GM / Gross %',
2164
+ tooltip: 'Gross margin (revenue minus COGS) as a percentage of gross revenue. The standard gross margin percentage metric.',
2165
+ formulaDisplay: 'Gross Margin ÷ Gross Revenue × 100',
2166
+ formula: 'gross_margin / gross_revenue * 100',
2167
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN_NET_RATE, MEASURE.ORDERS_GROSS_MARGIN, MEASURE.ORDERS_NET_MARGIN_GROSS_RATE],
1625
2168
  },
1626
2169
  [MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN_GROSS_RATE]: {
1627
2170
  title: 'NC Gross Margin / Gross Rate',
@@ -1632,11 +2175,17 @@ export const ORDERS_MEASURES_MAP = {
1632
2175
  avgSuffix: '%',
1633
2176
  icon: 'percent',
1634
2177
  measure: MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN_GROSS_RATE,
1635
- category: MEASURE_CATEGORY.SALES,
2178
+ category: MEASURE_CATEGORY.PROFITABILITY,
2179
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1636
2180
  valueType: MeasureValueType.PERCENTAGE,
1637
2181
  decimalPlaces: 2,
1638
2182
  useCompactNotation: false,
1639
2183
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2184
+ shortTitle: 'NC GM/Gross %',
2185
+ tooltip: 'New customer gross margin as a share of their gross revenue.',
2186
+ formulaDisplay: 'NC Gross Margin ÷ NC Gross Revenue × 100',
2187
+ formula: 'nc_gross_margin / nc_gross_revenue * 100',
2188
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN_GROSS_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN_GROSS_RATE, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN_NET_RATE],
1640
2189
  },
1641
2190
  [MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN_GROSS_RATE]: {
1642
2191
  title: 'RC Gross Margin / Gross Rate',
@@ -1647,11 +2196,17 @@ export const ORDERS_MEASURES_MAP = {
1647
2196
  avgSuffix: '%',
1648
2197
  icon: 'percent',
1649
2198
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN_GROSS_RATE,
1650
- category: MEASURE_CATEGORY.SALES,
2199
+ category: MEASURE_CATEGORY.PROFITABILITY,
2200
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1651
2201
  valueType: MeasureValueType.PERCENTAGE,
1652
2202
  decimalPlaces: 2,
1653
2203
  useCompactNotation: false,
1654
2204
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2205
+ shortTitle: 'RC GM/Gross %',
2206
+ tooltip: 'Returning customer gross margin as a share of their gross revenue.',
2207
+ formulaDisplay: 'RC Gross Margin ÷ RC Gross Revenue × 100',
2208
+ formula: 'rc_gross_margin / rc_gross_revenue * 100',
2209
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN_GROSS_RATE, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN_GROSS_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN_NET_RATE],
1655
2210
  },
1656
2211
  [MEASURE.ORDERS_GROSS_MARGIN_NET_RATE]: {
1657
2212
  title: 'Gross Margin / Net Rate',
@@ -1662,11 +2217,17 @@ export const ORDERS_MEASURES_MAP = {
1662
2217
  avgSuffix: '%',
1663
2218
  icon: 'percent',
1664
2219
  measure: MEASURE.ORDERS_GROSS_MARGIN_NET_RATE,
1665
- category: MEASURE_CATEGORY.SALES,
2220
+ category: MEASURE_CATEGORY.PROFITABILITY,
2221
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1666
2222
  valueType: MeasureValueType.PERCENTAGE,
1667
2223
  decimalPlaces: 2,
1668
2224
  useCompactNotation: false,
1669
2225
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2226
+ shortTitle: 'GM / Net %',
2227
+ tooltip: 'Gross margin as a share of net revenue (after discounts and refunds). Typically higher than the gross rate due to the smaller denominator.',
2228
+ formulaDisplay: 'Gross Margin ÷ Net Revenue × 100',
2229
+ formula: 'gross_margin / net_revenue * 100',
2230
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN_GROSS_RATE, MEASURE.ORDERS_GROSS_MARGIN, MEASURE.ORDERS_NET_MARGIN_NET_RATE],
1670
2231
  },
1671
2232
  [MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN_NET_RATE]: {
1672
2233
  title: 'NC Gross Margin / Net Rate',
@@ -1677,11 +2238,17 @@ export const ORDERS_MEASURES_MAP = {
1677
2238
  avgSuffix: '%',
1678
2239
  icon: 'percent',
1679
2240
  measure: MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN_NET_RATE,
1680
- category: MEASURE_CATEGORY.SALES,
2241
+ category: MEASURE_CATEGORY.PROFITABILITY,
2242
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1681
2243
  valueType: MeasureValueType.PERCENTAGE,
1682
2244
  decimalPlaces: 2,
1683
2245
  useCompactNotation: false,
1684
2246
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2247
+ shortTitle: 'NC GM/Net %',
2248
+ tooltip: 'New customer gross margin as a share of their net revenue.',
2249
+ formulaDisplay: 'NC Gross Margin ÷ NC Net Revenue × 100',
2250
+ formula: 'nc_gross_margin / nc_net_revenue * 100',
2251
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN_NET_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN_NET_RATE, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN_GROSS_RATE],
1685
2252
  },
1686
2253
  [MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN_NET_RATE]: {
1687
2254
  title: 'RC Gross Margin / Net Rate',
@@ -1692,11 +2259,17 @@ export const ORDERS_MEASURES_MAP = {
1692
2259
  avgSuffix: '%',
1693
2260
  icon: 'percent',
1694
2261
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN_NET_RATE,
1695
- category: MEASURE_CATEGORY.SALES,
2262
+ category: MEASURE_CATEGORY.PROFITABILITY,
2263
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_GROSS_MARGIN,
1696
2264
  valueType: MeasureValueType.PERCENTAGE,
1697
2265
  decimalPlaces: 2,
1698
2266
  useCompactNotation: false,
1699
2267
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2268
+ shortTitle: 'RC GM/Net %',
2269
+ tooltip: 'Returning customer gross margin as a share of their net revenue.',
2270
+ formulaDisplay: 'RC Gross Margin ÷ RC Net Revenue × 100',
2271
+ formula: 'rc_gross_margin / rc_net_revenue * 100',
2272
+ relatedMeasures: [MEASURE.ORDERS_GROSS_MARGIN_NET_RATE, MEASURE.ORDERS_NEW_CUSTOMER_GROSS_MARGIN_NET_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_GROSS_MARGIN_GROSS_RATE],
1700
2273
  },
1701
2274
  [MEASURE.ORDERS_NET_MARGIN_GROSS_RATE]: {
1702
2275
  title: 'Net Margin / Gross Rate',
@@ -1707,11 +2280,17 @@ export const ORDERS_MEASURES_MAP = {
1707
2280
  avgSuffix: '%',
1708
2281
  icon: 'percent',
1709
2282
  measure: MEASURE.ORDERS_NET_MARGIN_GROSS_RATE,
1710
- category: MEASURE_CATEGORY.SALES,
2283
+ category: MEASURE_CATEGORY.PROFITABILITY,
2284
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1711
2285
  valueType: MeasureValueType.PERCENTAGE,
1712
2286
  decimalPlaces: 2,
1713
2287
  useCompactNotation: false,
1714
2288
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2289
+ shortTitle: 'NM / Gross %',
2290
+ tooltip: 'Net margin (net revenue minus COGS) as a share of gross revenue. A conservative profitability rate that absorbs all revenue reductions.',
2291
+ formulaDisplay: 'Net Margin ÷ Gross Revenue × 100',
2292
+ formula: 'net_margin / gross_revenue * 100',
2293
+ relatedMeasures: [MEASURE.ORDERS_NET_MARGIN_NET_RATE, MEASURE.ORDERS_NET_MARGIN, MEASURE.ORDERS_GROSS_MARGIN_GROSS_RATE],
1715
2294
  },
1716
2295
  [MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN_GROSS_RATE]: {
1717
2296
  title: 'NC Net Margin / Gross Rate',
@@ -1722,11 +2301,17 @@ export const ORDERS_MEASURES_MAP = {
1722
2301
  avgSuffix: '%',
1723
2302
  icon: 'percent',
1724
2303
  measure: MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN_GROSS_RATE,
1725
- category: MEASURE_CATEGORY.SALES,
2304
+ category: MEASURE_CATEGORY.PROFITABILITY,
2305
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1726
2306
  valueType: MeasureValueType.PERCENTAGE,
1727
2307
  decimalPlaces: 2,
1728
2308
  useCompactNotation: false,
1729
2309
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2310
+ shortTitle: 'NC NM/Gross %',
2311
+ tooltip: 'New customer net margin as a share of their gross revenue.',
2312
+ formulaDisplay: 'NC Net Margin ÷ NC Gross Revenue × 100',
2313
+ formula: 'nc_net_margin / nc_gross_revenue * 100',
2314
+ relatedMeasures: [MEASURE.ORDERS_NET_MARGIN_GROSS_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN_GROSS_RATE, MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN_NET_RATE],
1730
2315
  },
1731
2316
  [MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN_GROSS_RATE]: {
1732
2317
  title: 'RC Net Margin / Gross Rate',
@@ -1737,11 +2322,17 @@ export const ORDERS_MEASURES_MAP = {
1737
2322
  avgSuffix: '%',
1738
2323
  icon: 'percent',
1739
2324
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN_GROSS_RATE,
1740
- category: MEASURE_CATEGORY.SALES,
2325
+ category: MEASURE_CATEGORY.PROFITABILITY,
2326
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1741
2327
  valueType: MeasureValueType.PERCENTAGE,
1742
2328
  decimalPlaces: 2,
1743
2329
  useCompactNotation: false,
1744
2330
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2331
+ shortTitle: 'RC NM/Gross %',
2332
+ tooltip: 'Returning customer net margin as a share of their gross revenue.',
2333
+ formulaDisplay: 'RC Net Margin ÷ RC Gross Revenue × 100',
2334
+ formula: 'rc_net_margin / rc_gross_revenue * 100',
2335
+ relatedMeasures: [MEASURE.ORDERS_NET_MARGIN_GROSS_RATE, MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN_GROSS_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN_NET_RATE],
1745
2336
  },
1746
2337
  [MEASURE.ORDERS_NET_MARGIN_NET_RATE]: {
1747
2338
  title: 'Net Margin / Net Rate',
@@ -1752,11 +2343,17 @@ export const ORDERS_MEASURES_MAP = {
1752
2343
  avgSuffix: '%',
1753
2344
  icon: 'percent',
1754
2345
  measure: MEASURE.ORDERS_NET_MARGIN_NET_RATE,
1755
- category: MEASURE_CATEGORY.SALES,
2346
+ category: MEASURE_CATEGORY.PROFITABILITY,
2347
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1756
2348
  valueType: MeasureValueType.PERCENTAGE,
1757
2349
  decimalPlaces: 2,
1758
2350
  useCompactNotation: false,
1759
2351
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2352
+ shortTitle: 'NM / Net %',
2353
+ tooltip: 'Net margin as a share of net revenue. This is the standard net margin percentage, showing profit after all product-level costs.',
2354
+ formulaDisplay: 'Net Margin ÷ Net Revenue × 100',
2355
+ formula: 'net_margin / net_revenue * 100',
2356
+ relatedMeasures: [MEASURE.ORDERS_NET_MARGIN_GROSS_RATE, MEASURE.ORDERS_NET_MARGIN, MEASURE.ORDERS_GROSS_MARGIN_NET_RATE],
1760
2357
  },
1761
2358
  [MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN_NET_RATE]: {
1762
2359
  title: 'NC Net Margin / Net Rate',
@@ -1767,11 +2364,17 @@ export const ORDERS_MEASURES_MAP = {
1767
2364
  avgSuffix: '%',
1768
2365
  icon: 'percent',
1769
2366
  measure: MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN_NET_RATE,
1770
- category: MEASURE_CATEGORY.SALES,
2367
+ category: MEASURE_CATEGORY.PROFITABILITY,
2368
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1771
2369
  valueType: MeasureValueType.PERCENTAGE,
1772
2370
  decimalPlaces: 2,
1773
2371
  useCompactNotation: false,
1774
2372
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2373
+ shortTitle: 'NC NM/Net %',
2374
+ tooltip: 'New customer net margin as a share of their net revenue.',
2375
+ formulaDisplay: 'NC Net Margin ÷ NC Net Revenue × 100',
2376
+ formula: 'nc_net_margin / nc_net_revenue * 100',
2377
+ relatedMeasures: [MEASURE.ORDERS_NET_MARGIN_NET_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN_NET_RATE, MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN_GROSS_RATE],
1775
2378
  },
1776
2379
  [MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN_NET_RATE]: {
1777
2380
  title: 'RC Net Margin / Net Rate',
@@ -1782,11 +2385,17 @@ export const ORDERS_MEASURES_MAP = {
1782
2385
  avgSuffix: '%',
1783
2386
  icon: 'percent',
1784
2387
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN_NET_RATE,
1785
- category: MEASURE_CATEGORY.SALES,
2388
+ category: MEASURE_CATEGORY.PROFITABILITY,
2389
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_NET_MARGIN,
1786
2390
  valueType: MeasureValueType.PERCENTAGE,
1787
2391
  decimalPlaces: 2,
1788
2392
  useCompactNotation: false,
1789
2393
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2394
+ shortTitle: 'RC NM/Net %',
2395
+ tooltip: 'Returning customer net margin as a share of their net revenue.',
2396
+ formulaDisplay: 'RC Net Margin ÷ RC Net Revenue × 100',
2397
+ formula: 'rc_net_margin / rc_net_revenue * 100',
2398
+ relatedMeasures: [MEASURE.ORDERS_NET_MARGIN_NET_RATE, MEASURE.ORDERS_NEW_CUSTOMER_NET_MARGIN_NET_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_NET_MARGIN_GROSS_RATE],
1790
2399
  },
1791
2400
  [MEASURE.ORDERS_COGS_GROSS_RATE]: {
1792
2401
  title: 'COGS / Gross Rate',
@@ -1797,11 +2406,17 @@ export const ORDERS_MEASURES_MAP = {
1797
2406
  avgSuffix: '%',
1798
2407
  icon: 'percent',
1799
2408
  measure: MEASURE.ORDERS_COGS_GROSS_RATE,
1800
- category: MEASURE_CATEGORY.SALES,
2409
+ category: MEASURE_CATEGORY.PROFITABILITY,
2410
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_COGS,
1801
2411
  valueType: MeasureValueType.PERCENTAGE,
1802
2412
  decimalPlaces: 2,
1803
2413
  useCompactNotation: false,
1804
2414
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2415
+ shortTitle: 'COGS/Gross %',
2416
+ tooltip: 'Cost of goods as a share of gross revenue. The complement of gross margin rate — COGS % + Gross Margin % = 100%.',
2417
+ formulaDisplay: 'COGS ÷ Gross Revenue × 100',
2418
+ formula: 'cogs / gross_revenue * 100',
2419
+ relatedMeasures: [MEASURE.ORDERS_COGS_NET_RATE, MEASURE.ORDERS_COGS, MEASURE.ORDERS_GROSS_MARGIN_GROSS_RATE],
1805
2420
  },
1806
2421
  [MEASURE.ORDERS_NEW_CUSTOMER_COGS_GROSS_RATE]: {
1807
2422
  title: 'NC COGS / Gross Rate',
@@ -1812,11 +2427,17 @@ export const ORDERS_MEASURES_MAP = {
1812
2427
  avgSuffix: '%',
1813
2428
  icon: 'percent',
1814
2429
  measure: MEASURE.ORDERS_NEW_CUSTOMER_COGS_GROSS_RATE,
1815
- category: MEASURE_CATEGORY.SALES,
2430
+ category: MEASURE_CATEGORY.PROFITABILITY,
2431
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_COGS,
1816
2432
  valueType: MeasureValueType.PERCENTAGE,
1817
2433
  decimalPlaces: 2,
1818
2434
  useCompactNotation: false,
1819
2435
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2436
+ shortTitle: 'NC COGS/Gross %',
2437
+ tooltip: 'New customer COGS as a share of their gross revenue.',
2438
+ formulaDisplay: 'NC COGS ÷ NC Gross Revenue × 100',
2439
+ formula: 'nc_cogs / nc_gross_revenue * 100',
2440
+ relatedMeasures: [MEASURE.ORDERS_COGS_GROSS_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_COGS_GROSS_RATE, MEASURE.ORDERS_NEW_CUSTOMER_COGS_NET_RATE],
1820
2441
  },
1821
2442
  [MEASURE.ORDERS_RETURNING_CUSTOMER_COGS_GROSS_RATE]: {
1822
2443
  title: 'RC COGS / Gross Rate',
@@ -1827,11 +2448,17 @@ export const ORDERS_MEASURES_MAP = {
1827
2448
  avgSuffix: '%',
1828
2449
  icon: 'percent',
1829
2450
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_COGS_GROSS_RATE,
1830
- category: MEASURE_CATEGORY.SALES,
2451
+ category: MEASURE_CATEGORY.PROFITABILITY,
2452
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_COGS,
1831
2453
  valueType: MeasureValueType.PERCENTAGE,
1832
2454
  decimalPlaces: 2,
1833
2455
  useCompactNotation: false,
1834
2456
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2457
+ shortTitle: 'RC COGS/Gross %',
2458
+ tooltip: 'Returning customer COGS as a share of their gross revenue.',
2459
+ formulaDisplay: 'RC COGS ÷ RC Gross Revenue × 100',
2460
+ formula: 'rc_cogs / rc_gross_revenue * 100',
2461
+ relatedMeasures: [MEASURE.ORDERS_COGS_GROSS_RATE, MEASURE.ORDERS_NEW_CUSTOMER_COGS_GROSS_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_COGS_NET_RATE],
1835
2462
  },
1836
2463
  [MEASURE.ORDERS_COGS_NET_RATE]: {
1837
2464
  title: 'COGS / Net Rate',
@@ -1842,11 +2469,17 @@ export const ORDERS_MEASURES_MAP = {
1842
2469
  avgSuffix: '%',
1843
2470
  icon: 'percent',
1844
2471
  measure: MEASURE.ORDERS_COGS_NET_RATE,
1845
- category: MEASURE_CATEGORY.SALES,
2472
+ category: MEASURE_CATEGORY.PROFITABILITY,
2473
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_COGS,
1846
2474
  valueType: MeasureValueType.PERCENTAGE,
1847
2475
  decimalPlaces: 2,
1848
2476
  useCompactNotation: false,
1849
2477
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2478
+ shortTitle: 'COGS/Net %',
2479
+ tooltip: 'COGS as a share of net revenue. Higher than gross rate because discounts and refunds reduce the denominator.',
2480
+ formulaDisplay: 'COGS ÷ Net Revenue × 100',
2481
+ formula: 'cogs / net_revenue * 100',
2482
+ relatedMeasures: [MEASURE.ORDERS_COGS_GROSS_RATE, MEASURE.ORDERS_COGS, MEASURE.ORDERS_GROSS_MARGIN_NET_RATE],
1850
2483
  },
1851
2484
  [MEASURE.ORDERS_NEW_CUSTOMER_COGS_NET_RATE]: {
1852
2485
  title: 'NC COGS / Net Rate',
@@ -1857,11 +2490,17 @@ export const ORDERS_MEASURES_MAP = {
1857
2490
  avgSuffix: '%',
1858
2491
  icon: 'percent',
1859
2492
  measure: MEASURE.ORDERS_NEW_CUSTOMER_COGS_NET_RATE,
1860
- category: MEASURE_CATEGORY.SALES,
2493
+ category: MEASURE_CATEGORY.PROFITABILITY,
2494
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_COGS,
1861
2495
  valueType: MeasureValueType.PERCENTAGE,
1862
2496
  decimalPlaces: 2,
1863
2497
  useCompactNotation: false,
1864
2498
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2499
+ shortTitle: 'NC COGS/Net %',
2500
+ tooltip: 'New customer COGS as a share of their net revenue.',
2501
+ formulaDisplay: 'NC COGS ÷ NC Net Revenue × 100',
2502
+ formula: 'nc_cogs / nc_net_revenue * 100',
2503
+ relatedMeasures: [MEASURE.ORDERS_COGS_NET_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_COGS_NET_RATE, MEASURE.ORDERS_NEW_CUSTOMER_COGS_GROSS_RATE],
1865
2504
  },
1866
2505
  [MEASURE.ORDERS_RETURNING_CUSTOMER_COGS_NET_RATE]: {
1867
2506
  title: 'RC COGS / Net Rate',
@@ -1872,11 +2511,17 @@ export const ORDERS_MEASURES_MAP = {
1872
2511
  avgSuffix: '%',
1873
2512
  icon: 'percent',
1874
2513
  measure: MEASURE.ORDERS_RETURNING_CUSTOMER_COGS_NET_RATE,
1875
- category: MEASURE_CATEGORY.SALES,
2514
+ category: MEASURE_CATEGORY.PROFITABILITY,
2515
+ subcategory: MEASURE_SUBCATEGORY.PROFITABILITY_COGS,
1876
2516
  valueType: MeasureValueType.PERCENTAGE,
1877
2517
  decimalPlaces: 2,
1878
2518
  useCompactNotation: false,
1879
2519
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2520
+ shortTitle: 'RC COGS/Net %',
2521
+ tooltip: 'Returning customer COGS as a share of their net revenue.',
2522
+ formulaDisplay: 'RC COGS ÷ RC Net Revenue × 100',
2523
+ formula: 'rc_cogs / rc_net_revenue * 100',
2524
+ relatedMeasures: [MEASURE.ORDERS_COGS_NET_RATE, MEASURE.ORDERS_NEW_CUSTOMER_COGS_NET_RATE, MEASURE.ORDERS_RETURNING_CUSTOMER_COGS_GROSS_RATE],
1880
2525
  },
1881
2526
  [MEASURE.ORDERS_LTV]: {
1882
2527
  title: 'Lifetime Value',
@@ -1887,11 +2532,15 @@ export const ORDERS_MEASURES_MAP = {
1887
2532
  avgSuffix: '',
1888
2533
  icon: 'dollar-sign',
1889
2534
  measure: MEASURE.ORDERS_LTV,
1890
- category: MEASURE_CATEGORY.SALES,
2535
+ category: MEASURE_CATEGORY.LIFETIME_VALUE,
2536
+ subcategory: MEASURE_SUBCATEGORY.LTV_METRICS,
1891
2537
  valueType: MeasureValueType.CURRENCY,
1892
2538
  decimalPlaces: 2,
1893
2539
  useCompactNotation: true,
1894
2540
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2541
+ shortTitle: 'LTV',
2542
+ tooltip: 'The average total revenue generated per customer over their entire purchase history. Higher LTV justifies greater acquisition spend.',
2543
+ relatedMeasures: [MEASURE.ORDERS_LTV_90, MEASURE.ORDERS_LTV_180, MEASURE.ORDERS_LTV_365, MEASURE.ORDERS_AVG_ORDERS_PER_CUSTOMER],
1895
2544
  },
1896
2545
  [MEASURE.ORDERS_LTV_90]: {
1897
2546
  title: 'LTV 90d',
@@ -1902,11 +2551,14 @@ export const ORDERS_MEASURES_MAP = {
1902
2551
  avgSuffix: '',
1903
2552
  icon: 'dollar-sign',
1904
2553
  measure: MEASURE.ORDERS_LTV_90,
1905
- category: MEASURE_CATEGORY.SALES,
2554
+ category: MEASURE_CATEGORY.LIFETIME_VALUE,
2555
+ subcategory: MEASURE_SUBCATEGORY.LTV_METRICS,
1906
2556
  valueType: MeasureValueType.CURRENCY,
1907
2557
  decimalPlaces: 2,
1908
2558
  useCompactNotation: true,
1909
2559
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2560
+ tooltip: 'Average revenue per customer within 90 days of their first purchase. Useful for evaluating short-term payback on acquisition.',
2561
+ relatedMeasures: [MEASURE.ORDERS_LTV, MEASURE.ORDERS_LTV_180, MEASURE.ORDERS_LTV_365],
1910
2562
  },
1911
2563
  [MEASURE.ORDERS_LTV_180]: {
1912
2564
  title: 'LTV 180d',
@@ -1917,11 +2569,14 @@ export const ORDERS_MEASURES_MAP = {
1917
2569
  avgSuffix: '',
1918
2570
  icon: 'dollar-sign',
1919
2571
  measure: MEASURE.ORDERS_LTV_180,
1920
- category: MEASURE_CATEGORY.SALES,
2572
+ category: MEASURE_CATEGORY.LIFETIME_VALUE,
2573
+ subcategory: MEASURE_SUBCATEGORY.LTV_METRICS,
1921
2574
  valueType: MeasureValueType.CURRENCY,
1922
2575
  decimalPlaces: 2,
1923
2576
  useCompactNotation: true,
1924
2577
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2578
+ tooltip: 'Average revenue per customer within 180 days of their first purchase. Captures two purchase cycles for most repeat-buy categories.',
2579
+ relatedMeasures: [MEASURE.ORDERS_LTV, MEASURE.ORDERS_LTV_90, MEASURE.ORDERS_LTV_365],
1925
2580
  },
1926
2581
  [MEASURE.ORDERS_LTV_365]: {
1927
2582
  title: 'LTV 365d',
@@ -1932,11 +2587,14 @@ export const ORDERS_MEASURES_MAP = {
1932
2587
  avgSuffix: '',
1933
2588
  icon: 'dollar-sign',
1934
2589
  measure: MEASURE.ORDERS_LTV_365,
1935
- category: MEASURE_CATEGORY.SALES,
2590
+ category: MEASURE_CATEGORY.LIFETIME_VALUE,
2591
+ subcategory: MEASURE_SUBCATEGORY.LTV_METRICS,
1936
2592
  valueType: MeasureValueType.CURRENCY,
1937
2593
  decimalPlaces: 2,
1938
2594
  useCompactNotation: true,
1939
2595
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2596
+ tooltip: 'Average revenue per customer in the first full year after acquisition. A standard benchmark for paid acquisition payback periods.',
2597
+ relatedMeasures: [MEASURE.ORDERS_LTV, MEASURE.ORDERS_LTV_90, MEASURE.ORDERS_LTV_180],
1940
2598
  },
1941
2599
  [MEASURE.ORDERS_COHORT_GROSS_REVENUE]: {
1942
2600
  title: 'Cohort Gross Revenue',
@@ -1947,11 +2605,15 @@ export const ORDERS_MEASURES_MAP = {
1947
2605
  avgSuffix: '',
1948
2606
  icon: 'dollar-sign',
1949
2607
  measure: MEASURE.ORDERS_COHORT_GROSS_REVENUE,
1950
- category: MEASURE_CATEGORY.SALES,
2608
+ category: MEASURE_CATEGORY.LIFETIME_VALUE,
2609
+ subcategory: MEASURE_SUBCATEGORY.LTV_COHORT,
1951
2610
  valueType: MeasureValueType.CURRENCY,
1952
2611
  decimalPlaces: 2,
1953
2612
  useCompactNotation: true,
1954
2613
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2614
+ shortTitle: 'Cohort Gross Rev',
2615
+ tooltip: 'Cumulative gross revenue generated by a customer cohort over time. Used for LTV cohort analysis across acquisition periods.',
2616
+ relatedMeasures: [MEASURE.ORDERS_COHORT_NET_REVENUE, MEASURE.ORDERS_COHORT_AOV, MEASURE.ORDERS_COHORT_CUSTOMERS],
1955
2617
  },
1956
2618
  [MEASURE.ORDERS_COHORT_NET_REVENUE]: {
1957
2619
  title: 'Cohort Net Revenue',
@@ -1962,11 +2624,15 @@ export const ORDERS_MEASURES_MAP = {
1962
2624
  avgSuffix: '',
1963
2625
  icon: 'dollar-sign',
1964
2626
  measure: MEASURE.ORDERS_COHORT_NET_REVENUE,
1965
- category: MEASURE_CATEGORY.SALES,
2627
+ category: MEASURE_CATEGORY.LIFETIME_VALUE,
2628
+ subcategory: MEASURE_SUBCATEGORY.LTV_COHORT,
1966
2629
  valueType: MeasureValueType.CURRENCY,
1967
2630
  decimalPlaces: 2,
1968
2631
  useCompactNotation: true,
1969
2632
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2633
+ shortTitle: 'Cohort Net Rev',
2634
+ tooltip: 'Cumulative net revenue (after discounts and refunds) from a customer cohort over time.',
2635
+ relatedMeasures: [MEASURE.ORDERS_COHORT_GROSS_REVENUE, MEASURE.ORDERS_COHORT_AOV, MEASURE.ORDERS_COHORT_CUSTOMERS],
1970
2636
  },
1971
2637
  [MEASURE.ORDERS_COHORT_NETT_REVENUE]: {
1972
2638
  title: 'Cohort Nett Revenue',
@@ -1977,11 +2643,15 @@ export const ORDERS_MEASURES_MAP = {
1977
2643
  avgSuffix: '',
1978
2644
  icon: 'dollar-sign',
1979
2645
  measure: MEASURE.ORDERS_COHORT_NETT_REVENUE,
1980
- category: MEASURE_CATEGORY.SALES,
2646
+ category: MEASURE_CATEGORY.LIFETIME_VALUE,
2647
+ subcategory: MEASURE_SUBCATEGORY.LTV_COHORT,
1981
2648
  valueType: MeasureValueType.CURRENCY,
1982
2649
  decimalPlaces: 2,
1983
2650
  useCompactNotation: true,
1984
2651
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2652
+ shortTitle: 'Cohort Nett Rev',
2653
+ tooltip: 'Cumulative nett revenue (net of taxes) per cohort over time.',
2654
+ relatedMeasures: [MEASURE.ORDERS_COHORT_NET_REVENUE, MEASURE.ORDERS_COHORT_NETTS_REVENUE, MEASURE.ORDERS_COHORT_NETS_REVENUE],
1985
2655
  },
1986
2656
  [MEASURE.ORDERS_COHORT_NETTS_REVENUE]: {
1987
2657
  title: 'Cohort Netts Revenue',
@@ -1992,11 +2662,15 @@ export const ORDERS_MEASURES_MAP = {
1992
2662
  avgSuffix: '',
1993
2663
  icon: 'dollar-sign',
1994
2664
  measure: MEASURE.ORDERS_COHORT_NETTS_REVENUE,
1995
- category: MEASURE_CATEGORY.SALES,
2665
+ category: MEASURE_CATEGORY.LIFETIME_VALUE,
2666
+ subcategory: MEASURE_SUBCATEGORY.LTV_COHORT,
1996
2667
  valueType: MeasureValueType.CURRENCY,
1997
2668
  decimalPlaces: 2,
1998
2669
  useCompactNotation: true,
1999
2670
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2671
+ shortTitle: 'Cohort Netts Rev',
2672
+ tooltip: 'Cumulative netts revenue (net of taxes and shipping) per cohort over time.',
2673
+ relatedMeasures: [MEASURE.ORDERS_COHORT_NETT_REVENUE, MEASURE.ORDERS_COHORT_NETS_REVENUE, MEASURE.ORDERS_COHORT_NET_REVENUE],
2000
2674
  },
2001
2675
  [MEASURE.ORDERS_COHORT_NETS_REVENUE]: {
2002
2676
  title: 'Cohort Nets Revenue',
@@ -2007,11 +2681,15 @@ export const ORDERS_MEASURES_MAP = {
2007
2681
  avgSuffix: '',
2008
2682
  icon: 'dollar-sign',
2009
2683
  measure: MEASURE.ORDERS_COHORT_NETS_REVENUE,
2010
- category: MEASURE_CATEGORY.SALES,
2684
+ category: MEASURE_CATEGORY.LIFETIME_VALUE,
2685
+ subcategory: MEASURE_SUBCATEGORY.LTV_COHORT,
2011
2686
  valueType: MeasureValueType.CURRENCY,
2012
2687
  decimalPlaces: 2,
2013
2688
  useCompactNotation: true,
2014
2689
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2690
+ shortTitle: 'Cohort Nets Rev',
2691
+ tooltip: 'Cumulative nets revenue (net of shipping) per cohort over time.',
2692
+ relatedMeasures: [MEASURE.ORDERS_COHORT_NETT_REVENUE, MEASURE.ORDERS_COHORT_NETTS_REVENUE, MEASURE.ORDERS_COHORT_NET_REVENUE],
2015
2693
  },
2016
2694
  [MEASURE.ORDERS_COHORT_CUSTOMERS]: {
2017
2695
  title: 'Cohort Customers',
@@ -2022,11 +2700,15 @@ export const ORDERS_MEASURES_MAP = {
2022
2700
  avgSuffix: '',
2023
2701
  icon: 'users',
2024
2702
  measure: MEASURE.ORDERS_COHORT_CUSTOMERS,
2025
- category: MEASURE_CATEGORY.SALES,
2703
+ category: MEASURE_CATEGORY.LIFETIME_VALUE,
2704
+ subcategory: MEASURE_SUBCATEGORY.LTV_COHORT,
2026
2705
  valueType: MeasureValueType.NUMBER,
2027
2706
  decimalPlaces: 0,
2028
2707
  useCompactNotation: true,
2029
2708
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2709
+ shortTitle: 'Cohort Cust.',
2710
+ tooltip: 'The number of customers who made their first purchase in the cohort period. The denominator for all per-customer cohort metrics.',
2711
+ relatedMeasures: [MEASURE.ORDERS_COHORT_GROSS_REVENUE, MEASURE.ORDERS_COHORT_RETENTION_RATE, MEASURE.ORDERS_COHORT_AOV],
2030
2712
  },
2031
2713
  [MEASURE.ORDERS_COHORT_RETENTION_RATE]: {
2032
2714
  title: 'Cohort Retention Rate',
@@ -2037,11 +2719,17 @@ export const ORDERS_MEASURES_MAP = {
2037
2719
  avgSuffix: '%',
2038
2720
  icon: 'percent',
2039
2721
  measure: MEASURE.ORDERS_COHORT_RETENTION_RATE,
2040
- category: MEASURE_CATEGORY.SALES,
2722
+ category: MEASURE_CATEGORY.LIFETIME_VALUE,
2723
+ subcategory: MEASURE_SUBCATEGORY.LTV_COHORT,
2041
2724
  valueType: MeasureValueType.PERCENTAGE,
2042
2725
  decimalPlaces: 2,
2043
2726
  useCompactNotation: false,
2044
2727
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2728
+ shortTitle: 'Cohort Retention',
2729
+ tooltip: 'The percentage of customers in a cohort who made an additional purchase in a subsequent period. Higher retention drives LTV.',
2730
+ formulaDisplay: 'Returning Cohort Customers ÷ Initial Cohort Customers × 100',
2731
+ formula: 'returning_cohort_customers / initial_cohort_customers * 100',
2732
+ relatedMeasures: [MEASURE.ORDERS_COHORT_CUSTOMERS, MEASURE.ORDERS_COHORT_GROSS_REVENUE, MEASURE.ORDERS_LTV],
2045
2733
  },
2046
2734
  [MEASURE.ORDERS_COHORT_AOV]: {
2047
2735
  title: 'Cohort AOV',
@@ -2052,11 +2740,16 @@ export const ORDERS_MEASURES_MAP = {
2052
2740
  avgSuffix: '',
2053
2741
  icon: 'dollar-sign',
2054
2742
  measure: MEASURE.ORDERS_COHORT_AOV,
2055
- category: MEASURE_CATEGORY.SALES,
2743
+ category: MEASURE_CATEGORY.LIFETIME_VALUE,
2744
+ subcategory: MEASURE_SUBCATEGORY.LTV_COHORT,
2056
2745
  valueType: MeasureValueType.CURRENCY,
2057
2746
  decimalPlaces: 2,
2058
2747
  useCompactNotation: true,
2059
2748
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2749
+ tooltip: 'Average order value for orders placed by customers in the cohort. Tracks whether AOV changes as a cohort matures.',
2750
+ formulaDisplay: 'Cohort Revenue ÷ Cohort Order Count',
2751
+ formula: 'cohort_revenue / cohort_order_count',
2752
+ relatedMeasures: [MEASURE.ORDERS_COHORT_GROSS_REVENUE, MEASURE.ORDERS_COHORT_CUSTOMERS, MEASURE.ORDERS_NET_AOV],
2060
2753
  },
2061
2754
  [MEASURE.ORDERS_TOP_PRODUCTS]: {
2062
2755
  title: 'Top Products',
@@ -2067,11 +2760,14 @@ export const ORDERS_MEASURES_MAP = {
2067
2760
  avgSuffix: '',
2068
2761
  icon: 'package',
2069
2762
  measure: MEASURE.ORDERS_TOP_PRODUCTS,
2070
- category: MEASURE_CATEGORY.SALES,
2763
+ category: MEASURE_CATEGORY.ORDERS,
2764
+ subcategory: MEASURE_SUBCATEGORY.ORDERS_COUNTS,
2071
2765
  valueType: MeasureValueType.NUMBER,
2072
2766
  decimalPlaces: 0,
2073
2767
  useCompactNotation: false,
2074
2768
  applicableContexts: ATTRIBUTION_APPLICABLE_CONTEXTS,
2769
+ tooltip: 'A ranking of products ordered by revenue contribution. Identifies the highest-impact products for merchandising and ad targeting.',
2770
+ relatedMeasures: [MEASURE.ORDERS_UNITS, MEASURE.ORDERS_GROSS_REVENUE, MEASURE.ORDERS_COUNT],
2075
2771
  },
2076
2772
  };
2077
2773
  //# sourceMappingURL=orders-measure-definitions.js.map