Docs Metrics Report: [Documentation set] [Period]
Monthly or quarterly health report for a documentation set: an
executive summary, the measurement approach and privacy rules, and six
measure groups (coverage, freshness, quality, findability, usefulness
and support impact), followed by a scorecard with targets, actions and
the metric definitions. No formal standard prescribes docs metrics;
the structure is aligned with the measurement and quality-evaluation
activities in ISO/IEC/IEEE 26511:2018 (requirements for managers of
information for users), and accessibility measures refer to WCAG 2.2
(W3C Recommendation, 12 December 2024). Measurement is privacy-first:
aggregate, cookieless and consent-respecting, honouring Global Privacy
Control, with no personal data required. Replace every [bracketed]
value and every row marked Example.
Document control
| Field | Value |
|---|
| Document ID | [DMR-YYYY-QN or DMR-YYYY-MM] |
| Documentation set | [Product name] [Docs site or section] |
| Reporting period | YYYY-MM-DD to YYYY-MM-DD |
| Comparison period | YYYY-MM-DD to YYYY-MM-DD |
| Data cut-off | YYYY-MM-DD |
| Cadence | [Monthly / Quarterly] |
| Version | [1.0] |
| Status | [Draft / Published / Corrected] |
| Owner | [@docs-owner] |
| Approvers/reviewers | [@docs-lead], [@support-lead], [@privacy-lead] |
| Distribution | [Docs team, product leadership, support leadership] |
| Classification | [Internal] |
| Last updated | YYYY-MM-DD |
Approvals
| Role | Name | Decision | Date |
|---|
| Docs owner | [@name] | [Approve / Approve with corrections] | YYYY-MM-DD |
| Support lead | [@name] | [Decision] | YYYY-MM-DD |
| Privacy lead (measurement changes only) | [@name] | [Decision] | YYYY-MM-DD |
Revision history
| Version | Date | Author | Change summary |
|---|
| 1.0 | YYYY-MM-DD | [@name] | Published for the period |
| 1.1 | YYYY-MM-DD | [@name] | Example: Corrected search totals after a late log import |
Contents
1. Executive summary
Example (Corvid Commerce developer docs, Q3 2026, 2026-07-01 to
2026-09-30): Freshness improved after the content audit: stale pages
fell from 24.3% to 16.8%. Searches with no results fell from 7.8% to
6.0%, mainly because the secret rotation how-to was published. Page
feedback is up to 74.0% positive. Coverage is flat at 87.5% with six
released features still undocumented, including partial captures. The
next quarter focuses on those six features and on the 37 stale pages.
| Measure group | Status | Headline | Trend |
|---|
| Coverage | [Green / Amber / Red] | Example: 87.5% of released features documented (42 of 48) | Flat |
| Freshness | [Status] | Example: 16.8% of pages past verify date (37 of 220) | Improving |
| Quality | [Status] | Example: 23 accessibility issues, 14 broken links | Improving |
| Findability | [Status] | Example: 6.0% zero-result searches | Improving |
| Usefulness | [Status] | Example: 74.0% positive page feedback; task success 80% | Improving |
| Support impact | [Status] | Example: 5.0% of tickets tagged docs missing or wrong | Flat |
2. Measurement approach and privacy
2.1 Data sources
| Source | What it provides | Collection method | Retention of raw data |
|---|
| Docs repository | Page count, owners, last verified dates, types | Read from page metadata at cut-off | Version control history |
| CI checks | Lint errors, broken links, accessibility issues | Automated checks on the main branch at cut-off | [90] days of job logs |
| Feature catalogue | Released features and their docs links | Product release records | Per product policy |
| Site search | Query counts and zero-result queries, aggregated | First-party search logs without user identifiers | [30] days raw, then aggregates only |
| Page feedback widget | Helpful yes/no counts per page | Anonymous button; no cookies; optional comment scrubbed of personal data | Aggregates kept; comments [90] days |
| Usage counts | Page views per page per period | Cookieless, first-party aggregate counting or server log totals | Aggregates only |
| Usability sessions | Task success rate | Moderated sessions with informed consent; results recorded without names | Per research consent form |
| Support system | Ticket counts by tag, docs links sent in replies | Aggregate report from the help desk | Per support policy |
2.2 Privacy rules
- Report aggregates only. No measure in this report is attributed to
an identifiable person, account or device.
- Use cookieless, first-party measurement. Do not load third-party
analytics, advertising or session-replay scripts on documentation
pages.
- Respect consent and honour the Global Privacy Control signal: when a
browser sends GPC, record nothing beyond what is strictly needed to
serve the page.
- Do not store IP addresses, user agents or account identifiers with
search queries or feedback. Strip them at collection, not later.
- Scrub free-text search terms and feedback comments for personal data
(email addresses, names, order numbers) before they reach the report.
- Suppress any table cell below a minimum count of [10] so small groups
cannot be singled out.
- Any change to collection methods needs privacy lead approval and a
note in the revision history. Use the Analytics Tracking Plan
(
data/analytics-tracking-plan) to document event definitions.
2.3 Data quality notes for this period
| Note | Effect on figures |
|---|
| Example: Search logs for 2026-08-03 to 2026-08-04 were lost during a platform update | Search totals understate the period by about 2 days of 92; zero-result share unaffected |
| [Note] | [Effect] |
3. Coverage
| Measure | Current period | Previous period | Target |
|---|
| Released features with at least one task-oriented page | Example: 42 of 48 (87.5%) | 40 of 46 (87.0%) | [95%] |
| Features released this period documented at release | Example: 3 of 5 (60.0%) | 4 of 4 (100%) | [100%] |
| API operations with reference entries | Example: 212 of 212 (100%) | 205 of 205 (100%) | [100%] |
| Diátaxis types per product area (areas missing a how-to or explanation) | Example: 2 of 9 areas incomplete | 3 of 9 | [0] |
| Feature | Released | Missing content | Owner | Due |
|---|
| Partial captures (Example) | 2026-08-19 | Explanation and how-to | [@sme-checkout] | YYYY-MM-DD |
| [Feature] | YYYY-MM-DD | [Content] | [@owner] | YYYY-MM-DD |
4. Freshness
| Measure | Current period | Previous period | Target |
|---|
| Pages past verify date (stale) | Example: 37 of 220 (16.8%) | 52 of 214 (24.3%) | [< 10%] |
| Pages without a named owner | Example: 4 of 220 (1.8%) | 11 of 214 (5.1%) | [0] |
| Pages verified this period | Example: 61 | 48 | [Number] |
| High-traffic pages (top 20 by views) that are stale | Example: 1 of 20 | 3 of 20 | [0] |
| Owner | Stale pages | Oldest verified date |
|---|
| [@sme-orders] (Example) | 14 | 2024-11-03 |
| [@sme-checkout] (Example) | 12 | 2025-02-14 |
| [@dev-rel] (Example) | 7 | 2025-05-30 |
| Unassigned (Example) | 4 | 2023-05-02 |
| Total (Example) | 37 | |
5. Quality
| Measure | Current period | Previous period | Target |
|---|
| Style linter errors on main | Example: 128 | 211 | [0 errors; warnings tracked] |
| Markdown linter errors on main | Example: 9 | 15 | [0] |
| Broken links (internal / external) | Example: 14 (3 / 11) | 26 (8 / 18) | [0 internal] |
| Accessibility issues from automated checks | Example: 23 | 41 | [0 Level A] |
| Pages with at least one accessibility issue | Example: 17 of 220 (7.7%) | 29 of 214 (13.6%) | [< 2%] |
| Review findings by severity (from review checklists) | Example: 3 Blocker, 19 Major, 44 Minor | 5, 22, 51 | [Trend down] |
| Code samples covered by automated tests | Example: 118 of 160 (73.8%) | 104 of 155 (67.1%) | [90%] |
Accessibility issues by WCAG 2.2 success criterion:
| Criterion | Count | Example |
|---|
| 1.1.1 Non-text Content (A) (Example) | 11 | Screenshot alt text equals file name |
| 2.4.4 Link Purpose (In Context) (A) (Example) | 6 | "Click here" links |
| 1.3.1 Info and Relationships (A) (Example) | 4 | Skipped heading levels |
| 1.4.3 Contrast (Minimum) (AA) (Example) | 2 | Light grey text in a diagram |
| Total (Example) | 23 | |
Automated checks find only part of the barriers. Pair these counts with
periodic manual evaluation in the Accessibility Audit
(quality/accessibility-audit).
6. Findability
| Measure | Current period | Previous period | Target |
|---|
| Site searches (aggregate count) | Example: 18,400 | 17,150 | Context only |
| Searches with zero results | Example: 1,104 (6.0%) | 1,338 (7.8%) | [< 5%] |
| Searches followed by a result click | Example: 12,880 (70.0%) | 11,490 (67.0%) | [75%] |
| Orphan pages (not linked from navigation or any page) | Example: 3 | 8 | [0] |
Top zero-result terms (after scrubbing personal data; terms below the
minimum count are suppressed):
| Term | Count | Decision | Action ID |
|---|
| "partial capture" (Example) | 84 | Write content | ACT-003 |
| "rotate secret" (Example) | 46 | Content published 2026-09-12; monitor | ACT-001 |
| "sandbox reset" (Example) | 31 | Add synonym for "reset test environment" | ACT-004 |
| "refund webhook" (Example) | 22 | Add synonym; reference already exists | ACT-004 |
| [Term] | [Count] | [Write / Synonym / Ignore] | [ACT-NNN] |
7. Usefulness
| Measure | Current period | Previous period | Target |
|---|
| Page feedback responses | Example: 2,350 | 2,110 | Context only |
| Positive share ("helpful: yes") | Example: 1,739 of 2,350 (74.0%) | 1,502 of 2,110 (71.2%) | [80%] |
| Pages with at least 20 responses and under 50% positive | Example: 6 | 9 | [0] |
| Task success in usability sessions | Example: 24 of 30 attempts (80.0%), 5 tasks with 6 participants | Not run | [85%] |
Lowest-rated pages (minimum 20 responses):
| Page | Positive share | Main comment theme | Action ID |
|---|
| /docs/how-to/export-orders-csv (Example) | 45% (29 of 64) | Menu path wrong | ACT-002 |
| /docs/explanation/webhooks-explained (Example) | 48% (20 of 42) | Retry model unclear | ACT-002 |
| [Page] | [Percent (count)] | [Theme] | [ACT-NNN] |
8. Support impact
| Measure | Current period | Previous period | Target |
|---|
| Support tickets (context) | Example: 3,120 | 2,980 | Context only |
| Tickets answered with a docs link | Example: 1,060 (34.0%) | 924 (31.0%) | [40%] |
| Tickets tagged "docs missing or wrong" | Example: 156 (5.0%) | 149 (5.0%) | [< 3%] |
| Self-service resolutions reported in the help widget ("this solved my problem") | Example: 410 | 352 | Trend up |
| Top ticket themes with no matching page | Example: 2 of top 10 | 3 of top 10 | [0] |
Treat ticket deflection as an estimate: a reader who solved a problem
with the docs rarely tells you. Report the self-service count as a
lower bound, never as savings presented as fact.
Ticket themes that need docs:
| Theme (ticket tag) | Tickets | Missing or wrong content | Action ID |
|---|
| partial-capture (Example) | 61 | No explanation of capture states | ACT-003 |
| sandbox-reset (Example) | 38 | Steps hidden in an FAQ answer | ACT-004 |
| [Tag] | [Count] | [Content] | [ACT-NNN] |
9. Scorecard and targets
Status rule: Green when the measure meets the target, Amber when it is
within [5] percentage points of the target, Red otherwise.
| Metric ID | Measure | Target | Current | Previous | Status |
|---|
| DM-COV-01 | Released features documented | 95% | Example: 87.5% | 87.0% | Red |
| DM-FRS-01 | Stale pages | < 10% | Example: 16.8% | 24.3% | Red |
| DM-QUA-01 | Pages with accessibility issues | < 2% | Example: 7.7% | 13.6% | Red |
| DM-QUA-02 | Internal broken links | 0 | Example: 3 | 8 | Red |
| DM-FND-01 | Zero-result searches | < 5% | Example: 6.0% | 7.8% | Amber |
| DM-USE-01 | Positive page feedback | 80% | Example: 74.0% | 71.2% | Red |
| DM-USE-02 | Task success | 85% | Example: 80.0% | Not run | Amber |
| DM-SUP-01 | Tickets tagged docs missing or wrong | < 3% | Example: 5.0% | 5.0% | Amber |
Status check for the example rows: coverage misses by 7.5 points (Red);
stale pages exceed the target by 6.8 points (Red); pages with
accessibility issues exceed it by 5.7 points (Red); internal broken links
stand at 3 against a target of 0 (Red); zero-result searches by 1.0 point (Amber); positive
feedback misses by 6.0 points (Red); task success by 5.0 points (Amber);
docs-tagged tickets by 2.0 points (Amber). Recheck every status the
same way before publishing.
10. Actions
10.1 Actions from the previous period
| Action ID | Action | Owner | Measure | Status | Effect observed |
|---|
| ACT-001 (Example) | Publish secret rotation how-to | [@author] | DM-FND-01 | Done 2026-09-12 | "rotate secret" zero-result count down from 112 to 46 |
| [ACT-NNN] | [Action] | [@owner] | [Metric ID] | [Done / In progress / Dropped] | [Effect] |
10.2 New actions
| Action ID | Action | Owner | Measure | Due |
|---|
| ACT-002 (Example) | Update the two lowest-rated pages after SME review | [@sme-orders] | DM-USE-01, DM-FRS-01 | YYYY-MM-DD |
| ACT-003 (Example) | Write partial capture explanation and how-to | [@sme-checkout] | DM-COV-01, DM-SUP-01 | YYYY-MM-DD |
| ACT-004 (Example) | Add search synonyms for top zero-result terms; move sandbox reset steps out of FAQ | [@docs-eng] | DM-FND-01 | YYYY-MM-DD |
| ACT-005 (Example) | Fix all Level A accessibility issues on top 20 pages | [@a11y-reviewer] | DM-QUA-01 | YYYY-MM-DD |
| [ACT-NNN] | [Action] | [@owner] | [Metric ID] | YYYY-MM-DD |
11. Metric definitions
| Metric ID | Name | Numerator | Denominator | Source | Notes |
|---|
| DM-COV-01 | Released features documented | Released features with at least one task-oriented page | Released features in the catalogue at cut-off | Feature catalogue, docs metadata | Count a feature once regardless of pages |
| DM-FRS-01 | Stale pages | Pages whose last verified date is older than the verify interval at cut-off | Published pages at cut-off | Docs metadata | Verify interval [12] months unless a page sets a shorter one |
| DM-QUA-01 | Pages with accessibility issues | Pages with at least one automated accessibility issue | Published pages | CI accessibility check | Automated checks only |
| DM-QUA-02 | Internal broken links | Internal links returning an error or missing anchor | Not a ratio | Link checker | External links reported separately |
| DM-FND-01 | Zero-result searches | Searches returning no results | All site searches | Search logs, aggregated | Exclude empty queries and bot traffic |
| DM-USE-01 | Positive page feedback | "Helpful: yes" responses | All feedback responses | Feedback widget | Anonymous; no cookies |
| DM-USE-02 | Task success | Task attempts completed without help | All task attempts | Usability sessions | Report tasks and participant count |
| DM-SUP-01 | Docs-tagged tickets | Tickets tagged docs missing or wrong | All tickets in period | Help desk aggregate | Tag applied by support agents |
Worked calculation (Example, DM-FND-01): 1,104 zero-result searches
divided by 18,400 searches equals 0.060, reported as 6.0%.
12. Glossary and references
12.1 Glossary
| Term | Meaning in this report |
|---|
| Coverage | Share of released product features that have task-oriented documentation |
| Stale page | Page whose last verified date is older than its verify interval |
| Zero-result search | Site search query that returned no results |
| Task success | Share of observed task attempts completed using the docs without help |
| Deflection | A support request avoided because the reader solved the problem with the docs; always an estimate |
| Cookieless measurement | Counting that stores nothing on the reader's device and keeps no identifier |
| GPC | Global Privacy Control, a browser signal asking sites not to sell or share personal data |
| Suppression threshold | Minimum count below which a figure is hidden to prevent singling out |
12.2 References
| Reference | Version or date checked | Use |
|---|
| ISO/IEC/IEEE 26511:2018, Systems and software engineering: Requirements for managers of information for users of systems, software, and services | Edition 2, 2018; reviewed and confirmed 2024 | Measurement and quality evaluation activities, structure only |
| W3C, Web Content Accessibility Guidelines (WCAG) 2.2, https://www.w3.org/TR/WCAG22/ | W3C Recommendation, 12 December 2024 | Accessibility issue classification |
| W3C, Global Privacy Control (GPC), https://www.w3.org/TR/gpc/ | W3C Working Draft, as published in September 2026; check the current status | Opt-out signal honoured in measurement |
| Diátaxis, Daniele Procida, https://diataxis.fr/ | Checked 2026-10-24 | Content type completeness per product area |
| [Internal privacy policy and analytics tracking plan] | [Version] | [Collection rules] |
Standard and licence note
Structure aligned with the measurement and quality-evaluation
activities named in ISO/IEC/IEEE 26511:2018; no ISO text, table or
definition is reproduced, and no formal standard defines the measures
in this report. Accessibility measures cite WCAG 2.2 success criteria
by number and short name only. The privacy approach references the
Global Privacy Control specification, which is a W3C Working Draft and
may change. Diátaxis type names (diataxis.fr, CC BY-SA 4.0) are used
for classification only. All example data refers to a fictional
company. This template is original text written for this collection.
Check the current official versions of every cited standard and
specification before use. Template licence: MIT.