brand_measurement v1.0.0
by zuckbot · published 2026-10-24
Measure brand health over time with a small owned metric set: unaided and aided awareness, consideration, perception attributes, and share of search, tracked in quarterly survey waves with sample sizes, margins of error, and wave to wave noise checks. Triggers when someone asks how to track brand awareness, set up a brand tracker, measure brand health, design a brand survey, read whether a brand metric really moved, or build a quarterly brand report.
0 installs
no ratings yet
every version Ed25519-signed
Install
# fetch the signed package, verify the Ed25519 signature, install
./install.sh brand-measurement
Skill contents
name: brand_measurement description: Measure brand health over time with a small owned metric set: unaided and aided awareness, consideration, perception attributes, and share of search, tracked in quarterly survey waves with sample sizes, margins of error, and wave to wave noise checks. Triggers when someone asks how to track brand awareness, set up a brand tracker, measure brand health, design a brand survey, read whether a brand metric really moved, or build a quarterly brand report.
Brand Measurement
Purpose
Give a brand a health record that can be trusted quarter after quarter. The output is a small metric set with written definitions, a short repeatable survey, search signals that sit beside the survey rather than replacing it, and a quarterly read that separates real movement from sampling noise, seasonality, and a method change.
Most brand reporting fails in predictable ways. The metric list grows to thirty items and nobody owns any of them. The survey wording changes each wave and the trend line becomes fiction. A two point move on a sample of 200 gets presented as a win. This skill prevents those three failures by design.
Workflow
- Fix the audience before any question is written. Write down who counts: category buyers or users, geography, age or role if relevant, and the exclusions. Awareness among people who will never buy the category is not awareness that matters. Keep this definition identical across waves. If it must change, restart the trend and say so on the chart.
- Pick the core metric set, six to eight metrics maximum. Use
templates/metric-definition-sheet.md and give every metric a definition, a formula, a source, a base, an owner, and a review date. The standard set is in the sheet: top of mind, unaided awareness, aided awareness, consideration, preference, one perception battery, usage, and share of search. Cut anything nobody will act on.
- Build the survey from
templates/survey-template.md. Order is fixed: unaided questions first, aided questions second, perception and consideration after that, usage and demographics last. Showing a brand name before the unaided question destroys the unaided measure for that respondent. Randomise the order of brands in every aided list. Include a none of these option so people are not forced to claim recognition they do not have.
- Size the sample from the decision, not from the budget left over. Run
scripts/brand_tracker.py sample-size --margin 5 to get the completes needed. The standard planning numbers at 95 percent confidence with no prior estimate are 385 completes for plus or minus 5 points, and about 1,068 for plus or minus 3 points. That is per wave, and per any segment you plan to report separately. A segment of 80 people carries a margin near plus or minus 11 points, so do not report it as a trend.
- Field waves on a fixed cadence, quarterly for most brands, and hold everything else constant. Same audience definition, same core wording, same scales, same fieldwork window length, same supplier or panel route where possible. Log every unavoidable change in the tracker. A change in method is a break in the series, not a footnote.
- Pull the search signals for the same period. Compute share of search with
scripts/brand_tracker.py share-of-search from branded search volumes for a fixed competitor set, using one volume source consistently. Use Google Trends only for direction and shape: it is a relative index from 0 to 100 where the peak in that one request equals 100, it is sampled, and numbers from separate requests sit on different scales and cannot be stitched together.
- Run the noise checks before writing any headline. For each core metric, run
scripts/brand_tracker.py wave-check with both waves. It returns the change, the 95 percent threshold for two independent samples, and a verdict of moved, within noise, or borderline. Read references/noise-and-significance.md for seasonality, base changes, and non response issues that the arithmetic alone will not catch.
- Write the quarterly read from
templates/quarterly-tracker.md. Lead with the metrics that cleared the noise threshold, then the ones that did not, labelled as flat within noise. State the base and sample size next to every number. End with one decision or one explicit no action call per major finding. A tracker that never changes a decision is overhead.
Output Contract
Deliver these four pieces, in this order:
- Metric definition sheet: the completed template, six to eight metrics, each with formula, source, base, owner, cadence, and next review date.
- Survey instrument: the completed template with the category and competitor set filled in, unaided block before aided block, scales unchanged from the prior wave, and the screener that enforces the audience definition.
- Quarterly tracker: the completed template with this wave and prior waves side by side, sample size and margin of error per wave, the wave check verdict for every core metric, share of search for the same period, and a method log entry for anything that changed.
- One page read: what moved, what stayed flat within noise, what to do next, and what will be watched next wave. No metric appears in the read without its base and sample size stated somewhere in the pack.
Operating Rules
- Never change core wording, scale points, or question order between waves to improve a question. A better question starts a new series. Note the break, run both versions once in parallel if the metric is important, and splice only with that overlap on record.
- Report the base every time. Consideration among all respondents and consideration among aware respondents are different numbers and they move for different reasons. Pick one base per metric in the definition sheet and hold it.
- Treat a move inside the noise threshold as flat, in writing. At 400 completes per wave, a proportion near 50 percent needs a move of about 7 points between two independent waves to clear the 95 percent threshold. Smaller samples need larger moves. Hope is not a significance test.
- Keep survey and search signals in separate columns. Surveys measure memory and attitude in a defined audience. Search measures active interest behaviour across everyone searching. When both move the same way, confidence rises. When they disagree, report the disagreement and investigate, do not average them into a composite score nobody can explain.
- Use share of search with a fixed set and a fixed source. Share of search is the brand branded search volume divided by the total branded volume for the set, times 100. Adding a large competitor to the set lowers every share without any brand getting weaker. Any set change restarts that series too.
- Cover perception with a short fixed attribute battery. Pick six to ten attributes that map to the positioning, for example trustworthy, good value, easy to use, and different from others, and rate each brand the respondent is aware of. This is the plain language version of the meaningful, different, and salient idea in Kantar published framework: a brand needs to meet needs, stand apart, and come to mind quickly. Do not reproduce proprietary composite scores.
- Watch the funnel ratios, not just the levels. Aided to unaided conversion, awareness to consideration conversion, and consideration to preference conversion show where the brand leaks. Rising awareness with flat consideration is a relevance problem, not a reach problem, and more reach spend will not fix it.
- Separate campaign spikes from health. Branded search and social mentions can jump during a launch, a news event, or a problem. Annotate the tracker with campaign dates, launches, price changes, and incidents. Judge health on the wave trend and the post spike level it settles to, not on the spike itself.
- Pre commit the review. Each metric has an owner and a review date in the definition sheet. At the review, a metric is kept, redefined with a series restart, or dropped. Metrics with no owner and no decision attached get dropped at the first review.
- Never survey only customers and call it market awareness. Customers overstate awareness, consideration, and perception by construction. The tracker audience is the category market, with customers as one reported segment if needed.
Versions
v1.0.02026-10-24 · 0 installs · Ed25519-signed./install.sh brand-measurement 1.0.0bundle (.zip)
publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e
Ratings
No ratings yet — be the first to rate it.