hermes

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.

context

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.

task

Define the metric "".

intent

data sources

  1. Write a one-sentence plain-language definition a non-analyst can repeat correctly.
  2. 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.
  1. 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.
  2. 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.
  3. Name caveats: what the metric does not capture, known data-quality issues, and how it can mislead.
  4. 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).
constraints
  • 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.
output format

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

Edit on GitHubReport a problem

use in

Hodios CLI
npx @hermes-hq/hodios install define-metric --target claude-code
Agent Skills
npx skills add hermes-hq/hodios-dist --skill define-metric -a claude-code
Add the Hodios marketplace (once)
claude plugin marketplace add hermes-hq/hodios-dist
Install the data-analysis plugin
claude plugin install hodios-data-analysis@hodios

The plugin brings every entry in this domain at once.

pairs well with

All of Reporting
PromptData visualisation

Design 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-dashboard
PromptData exploration

Answer 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-sql
PromptReporting

Build 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-tree
WorkflowReporting

Analysis 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-track
PromptReporting

Automate 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-report
PromptReporting

Compare 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