# Metrics Desk > A metrics review desk for product managers and analysts. Paste a period-by-period product metrics table with optional targets; the browser scores every metric for free. A paid review reads the scorecard and recommends actions, and hands off to a paid drill-down that reads a segment breakdown of the metric that moved and says whether the segments changed (rate) or the blend of segments did (mix). URL: https://metrics-desk.skillsafe.ai/ API tutorial: https://metrics-desk.skillsafe.ai/api.html Derived from the agent skills @anthropics/metrics-review (primary) and @anthropics/analyze, from anthropics/knowledge-work-plugins (Apache-2.0). Model: gpt-terra. Runs are metered in SkillSafe credits and need a signed-in account; the prescan and the drill-down arithmetic are free. ## What the free prescan does (in the browser, no AI) - Reads the metrics table: Markdown pipes, tabs, semicolons or CSV. The first column is the metric; Target (Goal, Plan), Better (up/down), Unit and Owner columns are found by header; every other column is a period, oldest first. Dated period columns written newest first are turned round. 12%, $4.2M, 1.2k and (3.1) all parse. - Per metric (ids M1..Mn): latest and prior value, change (in points for a percentage, with the relative change otherwise), attainment against target, a direction-aware status (on track, at risk within 5% of target, miss beyond it; trend-based when there is no target), a least-squares slope over the last eight periods as % of the mean per period, the current streak, and a z-score of the latest value against up to twelve earlier periods. - Direction is taken from a Better column, else guessed from the name (churn, cost, latency, errors, tickets, refunds, uninstalls read as lower-is-better; "crash-free" and "uptime" do not). - Flags (P1..Pn): target misses, anomalies at |z| >= 2 (a good-direction anomaly still gets a tracking-change check), a wrong-way streak of three or more, a percentage outside 0-100, blank latest values, unreadable cells, duplicate rows, too few periods, metrics without targets, and the lifecycle stages (acquisition, activation, engagement, retention, monetization, satisfaction) the scorecard has no metric for. - Drill-down arithmetic, for one chosen metric and a segment table (ids S1..Sn): with two base columns (signups, visitors, sessions, users, base) each segment value is a rate, and the change is split exactly into rate effect (sum of w0 x change in rate), mix effect (sum of change in weight x (prior rate - prior average rate)) and interaction, which sum to the top-line change. Without base columns the segments are summed and each segment's change is its contribution. It reports the top driver and its share of gross movement, whether rate or mix dominates, and whether the segments add back to the scorecard's own top line (0.5 points for rates, 1% for volumes; a factor-of-100 units mismatch is called out). Over 30 segments, the smallest movers fold into one Other row with totals unchanged. ## Lanes (the `task` field) - `review` - the metrics review: overall (on_track, mixed, off_track), headline, summary, one scorecard entry per metric (status and a reading with the likely driver), wins, concerns, one anomaly entry per |z| >= 2 metric with persistence and a check, 2-5 typed actions (investigate, experiment, invest, alert) with a success metric, caveats, the metric to drill next with the breakdown to pull, and one response per prescan flag. - `drill` - the drill-down: the metric drilled, a verdict (rate, mix, mixed, volume, inconclusive), headline, a plain reading of the decomposition, 1-4 drivers with their exact contributions, offsets, 2-4 hypotheses each with a test, validation checks, next queries, a recommendation, and one response per prescan flag. The review hands off to the drill-down with one button: its overall call and its reading of the chosen metric travel as the `review` field. ## Input (every value a string) task, product, cadence (weekly, monthly, quarterly), pack (JSON-encoded: periods, counts, metrics M1..Mn with values and the browser's facts, prescan flags, and for the drill lane the decomposition with segments S1..Sn), notes (optional, "[N1] text" lines), question (optional), review (drill lane, optional), retry_note (reformat retry only). ## How the reply is checked Review: every metric read exactly once; a green call on a metric the browser rates red (or the reverse) is a disagreement; every |z| >= 2 metric has an anomaly entry; the drill target is a real metric; "on track" with a red metric is a disagreement. Drill: the metric is the one sent; every driver's contribution equals the browser's, largest first; offsets moved against the line; the verdict follows the rate/mix split. Both: every ref exists, every prescan flag is answered once, and every figure in the prose is looked up in what was sent (figures not found are listed for the reader to check). ## Limits Reads only what is pasted: no analytics connection, no warehouse, no benchmarks, no web. Causes are offered as hypotheses with tests, not findings. Up to 40 metrics, the latest 13 periods, 30 segments and 3,000 characters of notes per run; anything cut is stated.