Snapshots

Almost nothing is counted yet, so pick three numbers and start

Waiting on you
  • Our own pages have no analytics, and read asks by DM have no shared list.
  • Today we can count who started reads, briefs sent to our team and digests.
  • Proposed north star: stores where anyone hands off a pick in a week.
  • These numbers stay inside the team; test brands and staff are never counted.
  • No targets until four weeks of counts exist.
5design partners, the only count
Your call

Which three numbers do we count first?

Marketing and growth · 10.13

Growth metrics

Needs youLast checked Mon Oct 26Owner Param

Answer

The numbers that say whether Brew is growing, from a visit to a brand handing off work every week and what each brand costs; almost none are counted today, no targets exist, and Param must pick the few we count first.

Today

What can be counted now

Record What it holds Source
Who started each read private/created.json: the email and the time, per brand brew/build.js:236
Visitors log since 23 Oct Every signed in email that opens a brand, with its access kind; nothing earlier memory brew-access-rules
Sessions and an access log table on production Sign ins on feed.joinsquareup.com memory brew-prod-backend
Briefs sent to our team Each status step with its time and who moved it brew/brief-status.js:1-6
Briefs shared with the brand's own team Copied, never sent, so no record that counts them brew/brief-status.js:6
Monday digest When it went and to how many brew/digest.js:192
Plays ready emails One sent key per email and kind brew/build.js:1009
Spend per brand and month Outside data and model spend files brew/treg.js:119 handbook content/ai-and-models/cost-per-brand.md

What cannot be counted now

Gap Source
Visits to the landing, the demo or the docs: no analytics on our own pages brew/public/index.html:1-2 git grep gtag googletagmanager fbq origin/main
Hearts, makes and hand offs as events in one log: no usage analytics handbook content/product/product-metrics.md
Read asks that come by DM or email: no shared list no source found in memory or brew origin/main
Any target for any metric brand-directions/book/content/j.js j-1 what-we-count

The only firm count today is five design partners on production memory brew-live-stores.

Tomorrow

Proposed for Param, from the old book's funnel and the product metrics.

Metric Version Tag Definition
Visits v1 New People who open the landing or the ask page, per week
Read asks v1 New Store links sent to us, from any channel, per week
Sign ins v1 New Work emails accepted; refusals counted apart
Reads started v1 New New brands with a starter, per week
Reads finished v1 New Reads that end with every step done
Activation v1 New A new brand that hearts one, makes one and hands off one in its first week
Weekly hand off stores v1 New Stores where anyone hands off a pick in a Monday to Sunday week; the north star in product metrics
Second Monday v1 New Share of new brands that open Today again the next Monday
Cost per brand v1 New Model and data dollars per brand per month, from cost per brand
Cost per new brand v1 New Campaign spend plus read cost, divided by activated brands
Approved posts v2 New Share of hand offs that become a scheduled post
Measured share v3 New Share of shipped picks with a result
Paying brands v1 New, once pricing is set Brands on a paid plan

Rules: these numbers stay inside the team; progress shown to a founder is about what they did, never their sales brand-directions/book/content/j.js j-1 what-we-count.

How we do it

Proposed, until Param decides:

  1. Count every Friday, by hand until analytics exist, and write the week's row below.
  2. Sign ins: open the visitors log as staff at GET /api/admin/visitors on feed.joinsquareup.com, and count new official emails this week memory brew-access-rules.
  3. Reads started: count brands whose private/created.json is dated this week. Production stores these as rows in Cloud SQL, so ask an engineer for a read only query; never write to production to count.
  4. Briefs sent to our team: read each brand's brief statuses from the ops view.
  5. Never count test brands, Cozy Snugglet and Zenant, or our own staff emails.
Week Visits Read asks Reads started First hand offs Weekly hand off stores Notes
First row once Param picks the metrics

Numbers

This document owns every metric in Tomorrow. All are Proposed. None has a target, and none should get one until four weeks of counts exist.

Open

  1. Which three do we count first? Proposal: read asks, reads started and weekly hand off stores.
  2. Do we add analytics to the landing and the ask page? Proposal: yes, one GA4 property with four events: ask, sign in, read started, first hand off; no ad pixel until paid is decided.
  3. Do team hand offs count? Proposal: yes; log a quiet event when Share with my team copies a brief, so both hand offs count the same.
  4. Who counts on Friday? Proposal: Param, until a dashboard exists.
  5. When do targets come? Proposal: after four weeks of counts, Param sets one target for weekly hand off stores only.
Sources
  • brand-directions/book/content/j.js j-1 what-we-count, onboarding-funnel, events
  • brew origin/main a559de6: public/index.html:1-2; build.js:222-226, 236, 1009; brief-status.js:1-6; digest.js:10-12, 192; treg.js:119
  • handbook content/product/product-metrics.md, content/ai-and-models/cost-per-brand.md
  • memory: brew-access-rules, brew-prod-backend, brew-live-stores

Source file content/marketing-and-growth/growth-metrics.md · For agents: Markdown · JSON