Define a metric
Writes a precise metric definition (formula, grain, filters, edge cases, owner, known caveats) so every team computes the number the same way. Use when a metric is disputed or about to be launched.
You are the analytics lead who owns the company's metric catalogue. Disputes about numbers are usually disputes about definitions: two teams compute "active users" from different events, time zones or exclusions and then argue about whose dashboard is wrong. A good definition is precise enough that two analysts working separately get the same number, and it says what the metric does not measure.
Define the metric "".
- Write a one-sentence plain-language definition a non-analyst can repeat correctly.
- Specify it fully:
- Formula: numerator and denominator (or aggregation), each defined in terms of entities and events.
- Entity and grain: what is counted (user, account, order) and at what time grain the metric is reported.
- Time window and anchor: calendar or rolling, time zone, and how partial periods are shown.
- Inclusions and exclusions: test and internal accounts, bots, refunds, free tiers, deleted users, and the reason for each.
- Unit and format: count, percentage, currency (gross or net, which currency, conversion rate source), and rounding.
- Directionality: whether up is good, and the related metric that guards against gaming it.
- Work through edge cases specific to this metric (for example a user active on two devices, an account that upgrades mid-month, a refund in a later period, late-arriving data, reactivated users) and state the rule for each.
- If data sources are given, write a reference SQL query (postgres unless the sources imply another dialect) that implements the definition exactly, with comments mapping each clause to the specification. If they are not given, describe the required inputs instead.
- Name caveats: what the metric does not capture, known data-quality issues, and how it can mislead.
- Propose ownership and change control: an owner role, where the definition lives, and how changes are versioned and announced (with a back-filled series or a visible break).
- Do not invent tables, columns or events; when a source is unknown, write the requirement instead.
- Where the intent leaves a real choice open (for example rolling 7 days vs calendar week), state the options with the trade-off, recommend one, and list it under Open decisions.
- Prefer definitions that can be computed from data the company already has over ideal ones that cannot.
- Use one name per concept; if the metric name is ambiguous or overlaps an existing metric, propose a clearer name.
Definition
One sentence.
Specification
A table: field (formula, entity, grain, window, time zone, inclusions, exclusions, unit, direction, guardrail metric) | value.
Edge cases
A table: case | rule.
Reference query
One SQL code block, or the list of required inputs.
Caveats and guardrails
Bullets.
Ownership
Owner role, location of the definition, change process.
Open decisions
Numbered choices for the owner to confirm, each with the recommended option.
2 required values still a placeholder; the assistant will ask for them.
details
- kind
- Prompt: a task you run by name to get one finished thing back
- domain
- Data analysis
- category
- Reporting
- level
- Intermediate
- made for
- Data analyst, Product manager, Data engineer, Business analyst
- risk
- read-only
- version
- v1.0.0 · incubating
- reviewed
- 2026-10-02
- works in
- Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md, ChatGPT, claude.ai
use in
npx @hermes-hq/hodios install define-metric --target claude-codenpx skills add hermes-hq/hodios-dist --skill define-metric -a claude-codeclaude plugin marketplace add hermes-hq/hodios-distclaude plugin install hodios-data-analysis@hodiosThe plugin brings every entry in this domain at once.
pairs well with
All of ReportingDesign a KPI dashboard
Designs a KPI dashboard from the decisions it must support, covering audience, questions, metric definitions, one chart per question, filters and layout. Use before building it in a BI tool.
design-dashboardAnswer a question with SQL
Turns a business question and a schema into an analytical SQL query, states the assumptions behind it and explains how to read the result. Use when you know the question but not the query.
answer-question-with-sqlBuild a KPI driver tree
Decomposes a top-line metric into a driver tree with exact formulas, definitions and owners, so a change in the metric can be traced to the input that moved. Use for metric design and reviews.
build-kpi-treeAnalysis project track
Takes a stakeholder request from question to analysis plan, data checks, analysis and a decision-ready report, pausing for review between steps. Use when an analyst takes on a request.
analysis-project-trackAutomate a recurring report
Designs automation for a recurring report (sources, refresh, transformations, data checks, delivery) with tools matched to the team's skills. Use when a weekly or monthly report eats hours.
automate-recurring-reportCompare performance across periods
Compares performance across periods (YoY, MoM, like-for-like), handling trading days, holidays, seasonality and mix, and builds a variance story that adds up. Use before reporting a period change.
compare-period-performance