---
id: "7.1"
title: "Metric definitions"
dept: data-and-analytics
status: needs-you
owner: Param
branded: false
last_verified: 2026-10-26
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"
---

# Metric definitions

## 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

| Number | Definition | Window | Source |
|---|---|---|---|
| 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] |
| 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] |
| Products | Catalog count from the freshest products.json read | Freshest read | [src: brew/pack-numbers.js:9-10] |
| 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] |
| 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] |
| Orders, 30 days | Shopify orders in the last 30 days | 30 days | [src: brew/connectors/shopify.js:212] |
| 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] |
| 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] |
| Sessions | GA4 sessions | 30 days | [src: brew/connectors/google.js:175] |
| Conversion | GA4 purchases per session | 30 days | [src: brew/connectors/google.js:175] |
| 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] |
| Highest frequency | Highest campaign frequency | 7 days | [src: brew/connectors/meta.js:273] |
| 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] |
| 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] |

The 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]

### Numbers the company runs on

| Number | State | Source |
|---|---|---|
| North star, activation, return, taste, making, trust | Proposed in product metrics; not counted | [src: handbook content/product/product-metrics.md] |
| 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] |
| Cost of one store read | About $6 of treg | [src: brew/alerts.js:7] |
| Cost of one Play on Gemini Flash | $0.06 to $0.10, 16 Oct | [src: memory brew-audit-2026-10-15] |
| Usage analytics | None | [src: handbook content/product/product-metrics.md] |

## Tomorrow

### Company numbers, proposed definitions

| Number | Definition | Version | Tag |
|---|---|---|---|
| Brand | One store domain, a slug; test brands, the demo and staff only brands never count | v1 | New |
| Active brand | A brand where a member of its own team, never staff, signed in during the week | v1 | New |
| Week | Monday to Sunday in the brand's own time zone | v1 | New |
| 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 |
| Activation | Share of new brands whose team hearts, makes and hands off one card within 7 days of the first read | v1 | New |
| Return | Share of active brands active again the next week | v1 | New |
| Taste | Share of shown cards with a heart or Not for me | v1 | New |
| Making | Share of hearted cards with a version made | v1 | New |
| Trust | Share of facts marked to confirm that the team corrected | v1 | New |
| Cost per active brand | Our AI, treg and Apify spend in the week divided by active brands | v1 | New |
| Approved posts | Share of hand-offs that become a scheduled post | v2 | New |
| Measured share | Share of shipped Plays with a How it went result | v3 | New |
| 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.
2. The product's numbers come from `pack-numbers.js` and the connectors, the same way for every brand; never compute one twice.
3. A new connected number gets entries in `NAMES` and `PRECEDENCE` the same day.
4. Company numbers never appear in the product or in anything a brand reads.
5. 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.

| Metric | Definition | Where measured | Status |
|---|---|---|---|
| Defined numbers | Rows on this page | This page | 27 on 26 Oct |
| 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.
2. **Does staff activity ever count?** Proposal: never; our team's opens and makes are counted apart.
3. **Cost per active brand: include Google credits?** Proposal: yes, count credits as money, so the number holds once credits end in 2028.
