{
 "id": "7.1",
 "title": "Metric definitions",
 "department": "Data and analytics",
 "department_slug": "data-and-analytics",
 "direction": null,
 "branded": false,
 "status": "needs-you",
 "owner": "Param",
 "last_verified": "Mon Oct 26",
 "holds": "Every number the product and company use, defined once",
 "urls": {
  "html": "https://handbook.joinsquareup.com/data-and-analytics/metric-definitions",
  "markdown": "https://handbook.joinsquareup.com/data-and-analytics/metric-definitions.md",
  "json": "https://handbook.joinsquareup.com/data-and-analytics/metric-definitions.json"
 },
 "other_directions": [],
 "tldr": {
  "headline": "Every number defined once, and the company ones wait for your yes",
  "points": [
   {
    "icon": "book",
    "text": "Brand numbers are defined in code: orders, repeat rate, sessions, conversion and more."
   },
   {
    "icon": "warn",
    "text": "The company numbers are proposed only, and nothing counts them yet."
   },
   {
    "icon": "flag",
    "text": "The north star is weekly hand-off stores: active brands that handed off a Play."
   },
   {
    "icon": "lock",
    "text": "Staff, demo and test brands never count, and no targets until four weeks of partner data."
   }
  ],
  "stat": {
   "value": "27",
   "label": "Defined numbers on 26 Oct"
  },
  "decide": "Accept the proposed company definitions, with any hand-off counting toward the north star?",
  "mood": "waiting"
 },
 "sources": [
  "brew/pack-numbers.js:1-20",
  "brew/health.js:1-8, 13",
  "brew/ai-standing.js:1-6",
  "brew/facts-desk.js:34-46",
  "brew/connectors/shopify.js:135, 156, 212-213",
  "brew/connectors/meta.js:272-273",
  "brew/connectors/google.js:175",
  "brew/connectors/index.js:37, 40, 51-61",
  "brew/impact.js:1-12",
  "brew/tools/prod-env.sh:9",
  "brew/alerts.js:7",
  "brand-directions/book/content/j.js j-1 what-we-count, onboarding-funnel",
  "handbook content/product/product-metrics.md",
  "memory brew-audit-2026-10-15, brew-connected-facts"
 ],
 "open_questions": [
  "**Accept the proposed company definitions?** Proposal: yes as written, with the north star counting any hand-off, to the brand's team or to an outside maker.",
  "**Does staff activity ever count?** Proposal: never; our team's opens and makes are counted apart.",
  "**Cost per active brand: include Google credits?** Proposal: yes, count credits as money, so the number holds once credits end in 2028."
 ],
 "parts": {
  "Answer": "Every number the product shows a brand and every number the company runs on, defined once here; the brand numbers are defined in code today, the company numbers are proposed and have no counting behind them yet, so Param must accept them before anyone reports one.",
  "Today": "### Numbers the product shows, as the code defines them\n\n| Number | Definition | Window | Source |\n|---|---|---|---|\n| Own live ads | The brand's own live Meta ads from the freshest read; never added to rivals' | Freshest read | [src: brew/pack-numbers.js:5-6] |\n| Rival live ads | Sum over rivals whose ads were read; failed rivals counted apart, never as 0 | Freshest read | [src: brew/pack-numbers.js:7-8] |\n| Products | Catalog count from the freshest products.json read | Freshest read | [src: brew/pack-numbers.js:9-10] |\n| AI visibility | Answers to shopper questions that do not name the brand; all answers counted beside it | Read or weekly check | [src: brew/pack-numbers.js:13-14] [src: brew/ai-standing.js:1-6] |\n| Health rings | Creative, Storefront and AI answers, each 0 to 100 from public data; a part not read is left out | Freshest read | [src: brew/health.js:1-8, 13] |\n| Orders, 30 days | Shopify orders in the last 30 days | 30 days | [src: brew/connectors/shopify.js:212] |\n| Average order value | Sum of order totals over orders in the last 30 days, divided by their count | 30 days | [src: brew/connectors/shopify.js:135] |\n| Repeat rate | Of customers who ordered in the last 90 days, the share with 2 or more lifetime orders; shown only with 30 or more customers | 90 days | [src: brew/connectors/shopify.js:156, 213] |\n| Sessions | GA4 sessions | 30 days | [src: brew/connectors/google.js:175] |\n| Conversion | GA4 purchases per session | 30 days | [src: brew/connectors/google.js:175] |\n| Meta spend, ROAS, cost per purchase | From the connected ad accounts; the label says when campaigns count purchases over different windows | 30 days | [src: brew/connectors/meta.js:272] |\n| Highest frequency | Highest campaign frequency | 7 days | [src: brew/connectors/meta.js:273] |\n| Stale | A connected number after 3 failed reads, or no good read for four cadences and at least 24 hours; it stops counting | Per connector | [src: brew/connectors/index.js:37, 51-61] |\n| Projected impact | A range for the metric a change moves, labelled \"a projection, not a promise\" | The family's window | [src: brew/impact.js:1-12] |\n\nThe names a card may use for each connected number are listed once in `NAMES`, and connected numbers replace the site's ones for members by `PRECEDENCE`. [src: brew/facts-desk.js:34-46] [src: memory brew-connected-facts]\n\n### Numbers the company runs on\n\n| Number | State | Source |\n|---|---|---|\n| North star, activation, return, taste, making, trust | Proposed in product metrics; not counted | [src: handbook content/product/product-metrics.md] |\n| First build cap per brand on production, every Play written once | $45 a build | [src: brew/tools/prod-env.sh:9] [src: brew/build.js:113] |\n| Cost of one store read | About $6 of treg | [src: brew/alerts.js:7] |\n| Cost of one Play on Gemini Flash | $0.06 to $0.10, 16 Oct | [src: memory brew-audit-2026-10-15] |\n| Usage analytics | None | [src: handbook content/product/product-metrics.md] |",
  "Tomorrow": "### Company numbers, proposed definitions\n\n| Number | Definition | Version | Tag |\n|---|---|---|---|\n| Brand | One store domain, a slug; test brands, the demo and staff only brands never count | v1 | New |\n| Active brand | A brand where a member of its own team, never staff, signed in during the week | v1 | New |\n| Week | Monday to Sunday in the brand's own time zone | v1 | New |\n| Weekly hand-off stores, the north star | Active brands where a member handed off at least one Play or card in the week | v1 | New |\n| Activation | Share of new brands whose team hearts, makes and hands off one card within 7 days of the first read | v1 | New |\n| Return | Share of active brands active again the next week | v1 | New |\n| Taste | Share of shown cards with a heart or Not for me | v1 | New |\n| Making | Share of hearted cards with a version made | v1 | New |\n| Trust | Share of facts marked to confirm that the team corrected | v1 | New |\n| Cost per active brand | Our AI, treg and Apify spend in the week divided by active brands | v1 | New |\n| Approved posts | Share of hand-offs that become a scheduled post | v2 | New |\n| Measured share | Share of shipped Plays with a How it went result | v3 | New |\n| Rules kept | Share of ad runs inside the brand's rules with no undo | v4 | New |",
  "How we do it": "1. A number is defined here before it appears on any page, deck or update.\n2. The product's numbers come from `pack-numbers.js` and the connectors, the same way for every brand; never compute one twice.\n3. A new connected number gets entries in `NAMES` and `PRECEDENCE` the same day.\n4. Company numbers never appear in the product or in anything a brand reads.\n5. No targets until four weeks of partner data exist.",
  "Numbers": "This page owns the definitions above. Where each is measured is in the tracking plan.\n\n| Metric | Definition | Where measured | Status |\n|---|---|---|---|\n| Defined numbers | Rows on this page | This page | 27 on 26 Oct |\n| Counted company numbers | Company rows with counting live | Tracking plan | 0, Proposed |",
  "Open": "1. **Accept the proposed company definitions?** Proposal: yes as written, with the north star counting any hand-off, to the brand's team or to an outside maker.\n2. **Does staff activity ever count?** Proposal: never; our team's opens and makes are counted apart.\n3. **Cost per active brand: include Google credits?** Proposal: yes, count credits as money, so the number holds once credits end in 2028."
 }
}