Markdown Editor

Docs Metrics Report Template (Privacy-First Docs Health)

Docs health report: coverage, freshness, quality (lint, links, accessibility), findability, usefulness, support impact, scorecard, actions, privacy-first

Dokumentasi & DukunganLengkapISO/IEC/IEEE 26511:2018 (structure); WCAG 2.2; GPCmetricsreport

Cara menggunakan: Use it monthly or quarterly to report documentation health to product and support leadership. Fill the metric definitions and privacy rules first and keep them fixed across periods, then collect aggregates at the cut-off and recompute every percentage. The main pitfall is adding measures that need tracking of individual readers or that lead to no action.

Pratinjau

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

FieldValue
Document ID[DMR-YYYY-QN or DMR-YYYY-MM]
Documentation set[Product name] [Docs site or section]
Reporting periodYYYY-MM-DD to YYYY-MM-DD
Comparison periodYYYY-MM-DD to YYYY-MM-DD
Data cut-offYYYY-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 updatedYYYY-MM-DD

Approvals

RoleNameDecisionDate
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

VersionDateAuthorChange summary
1.0YYYY-MM-DD[@name]Published for the period
1.1YYYY-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 groupStatusHeadlineTrend
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 linksImproving
Findability[Status]Example: 6.0% zero-result searchesImproving
Usefulness[Status]Example: 74.0% positive page feedback; task success 80%Improving
Support impact[Status]Example: 5.0% of tickets tagged docs missing or wrongFlat

2. Measurement approach and privacy

2.1 Data sources

SourceWhat it providesCollection methodRetention of raw data
Docs repositoryPage count, owners, last verified dates, typesRead from page metadata at cut-offVersion control history
CI checksLint errors, broken links, accessibility issuesAutomated checks on the main branch at cut-off[90] days of job logs
Feature catalogueReleased features and their docs linksProduct release recordsPer product policy
Site searchQuery counts and zero-result queries, aggregatedFirst-party search logs without user identifiers[30] days raw, then aggregates only
Page feedback widgetHelpful yes/no counts per pageAnonymous button; no cookies; optional comment scrubbed of personal dataAggregates kept; comments [90] days
Usage countsPage views per page per periodCookieless, first-party aggregate counting or server log totalsAggregates only
Usability sessionsTask success rateModerated sessions with informed consent; results recorded without namesPer research consent form
Support systemTicket counts by tag, docs links sent in repliesAggregate report from the help deskPer support policy

2.2 Privacy rules

  1. Report aggregates only. No measure in this report is attributed to an identifiable person, account or device.
  2. Use cookieless, first-party measurement. Do not load third-party analytics, advertising or session-replay scripts on documentation pages.
  3. 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.
  4. Do not store IP addresses, user agents or account identifiers with search queries or feedback. Strip them at collection, not later.
  5. Scrub free-text search terms and feedback comments for personal data (email addresses, names, order numbers) before they reach the report.
  6. Suppress any table cell below a minimum count of [10] so small groups cannot be singled out.
  7. 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

NoteEffect on figures
Example: Search logs for 2026-08-03 to 2026-08-04 were lost during a platform updateSearch totals understate the period by about 2 days of 92; zero-result share unaffected
[Note][Effect]

3. Coverage

MeasureCurrent periodPrevious periodTarget
Released features with at least one task-oriented pageExample: 42 of 48 (87.5%)40 of 46 (87.0%)[95%]
Features released this period documented at releaseExample: 3 of 5 (60.0%)4 of 4 (100%)[100%]
API operations with reference entriesExample: 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 incomplete3 of 9[0]

Undocumented features:

FeatureReleasedMissing contentOwnerDue
Partial captures (Example)2026-08-19Explanation and how-to[@sme-checkout]YYYY-MM-DD
[Feature]YYYY-MM-DD[Content][@owner]YYYY-MM-DD

4. Freshness

MeasureCurrent periodPrevious periodTarget
Pages past verify date (stale)Example: 37 of 220 (16.8%)52 of 214 (24.3%)[< 10%]
Pages without a named ownerExample: 4 of 220 (1.8%)11 of 214 (5.1%)[0]
Pages verified this periodExample: 6148[Number]
High-traffic pages (top 20 by views) that are staleExample: 1 of 203 of 20[0]

Stale pages by owner:

OwnerStale pagesOldest verified date
[@sme-orders] (Example)142024-11-03
[@sme-checkout] (Example)122025-02-14
[@dev-rel] (Example)72025-05-30
Unassigned (Example)42023-05-02
Total (Example)37

5. Quality

MeasureCurrent periodPrevious periodTarget
Style linter errors on mainExample: 128211[0 errors; warnings tracked]
Markdown linter errors on mainExample: 915[0]
Broken links (internal / external)Example: 14 (3 / 11)26 (8 / 18)[0 internal]
Accessibility issues from automated checksExample: 2341[0 Level A]
Pages with at least one accessibility issueExample: 17 of 220 (7.7%)29 of 214 (13.6%)[< 2%]
Review findings by severity (from review checklists)Example: 3 Blocker, 19 Major, 44 Minor5, 22, 51[Trend down]
Code samples covered by automated testsExample: 118 of 160 (73.8%)104 of 155 (67.1%)[90%]

Accessibility issues by WCAG 2.2 success criterion:

CriterionCountExample
1.1.1 Non-text Content (A) (Example)11Screenshot 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)4Skipped heading levels
1.4.3 Contrast (Minimum) (AA) (Example)2Light 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

MeasureCurrent periodPrevious periodTarget
Site searches (aggregate count)Example: 18,40017,150Context only
Searches with zero resultsExample: 1,104 (6.0%)1,338 (7.8%)[< 5%]
Searches followed by a result clickExample: 12,880 (70.0%)11,490 (67.0%)[75%]
Orphan pages (not linked from navigation or any page)Example: 38[0]

Top zero-result terms (after scrubbing personal data; terms below the minimum count are suppressed):

TermCountDecisionAction ID
"partial capture" (Example)84Write contentACT-003
"rotate secret" (Example)46Content published 2026-09-12; monitorACT-001
"sandbox reset" (Example)31Add synonym for "reset test environment"ACT-004
"refund webhook" (Example)22Add synonym; reference already existsACT-004
[Term][Count][Write / Synonym / Ignore][ACT-NNN]

7. Usefulness

MeasureCurrent periodPrevious periodTarget
Page feedback responsesExample: 2,3502,110Context 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% positiveExample: 69[0]
Task success in usability sessionsExample: 24 of 30 attempts (80.0%), 5 tasks with 6 participantsNot run[85%]

Lowest-rated pages (minimum 20 responses):

PagePositive shareMain comment themeAction ID
/docs/how-to/export-orders-csv (Example)45% (29 of 64)Menu path wrongACT-002
/docs/explanation/webhooks-explained (Example)48% (20 of 42)Retry model unclearACT-002
[Page][Percent (count)][Theme][ACT-NNN]

8. Support impact

MeasureCurrent periodPrevious periodTarget
Support tickets (context)Example: 3,1202,980Context only
Tickets answered with a docs linkExample: 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: 410352Trend up
Top ticket themes with no matching pageExample: 2 of top 103 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)TicketsMissing or wrong contentAction ID
partial-capture (Example)61No explanation of capture statesACT-003
sandbox-reset (Example)38Steps hidden in an FAQ answerACT-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 IDMeasureTargetCurrentPreviousStatus
DM-COV-01Released features documented95%Example: 87.5%87.0%Red
DM-FRS-01Stale pages< 10%Example: 16.8%24.3%Red
DM-QUA-01Pages with accessibility issues< 2%Example: 7.7%13.6%Red
DM-QUA-02Internal broken links0Example: 38Red
DM-FND-01Zero-result searches< 5%Example: 6.0%7.8%Amber
DM-USE-01Positive page feedback80%Example: 74.0%71.2%Red
DM-USE-02Task success85%Example: 80.0%Not runAmber
DM-SUP-01Tickets 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 IDActionOwnerMeasureStatusEffect observed
ACT-001 (Example)Publish secret rotation how-to[@author]DM-FND-01Done 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 IDActionOwnerMeasureDue
ACT-002 (Example)Update the two lowest-rated pages after SME review[@sme-orders]DM-USE-01, DM-FRS-01YYYY-MM-DD
ACT-003 (Example)Write partial capture explanation and how-to[@sme-checkout]DM-COV-01, DM-SUP-01YYYY-MM-DD
ACT-004 (Example)Add search synonyms for top zero-result terms; move sandbox reset steps out of FAQ[@docs-eng]DM-FND-01YYYY-MM-DD
ACT-005 (Example)Fix all Level A accessibility issues on top 20 pages[@a11y-reviewer]DM-QUA-01YYYY-MM-DD
[ACT-NNN][Action][@owner][Metric ID]YYYY-MM-DD

11. Metric definitions

Metric IDNameNumeratorDenominatorSourceNotes
DM-COV-01Released features documentedReleased features with at least one task-oriented pageReleased features in the catalogue at cut-offFeature catalogue, docs metadataCount a feature once regardless of pages
DM-FRS-01Stale pagesPages whose last verified date is older than the verify interval at cut-offPublished pages at cut-offDocs metadataVerify interval [12] months unless a page sets a shorter one
DM-QUA-01Pages with accessibility issuesPages with at least one automated accessibility issuePublished pagesCI accessibility checkAutomated checks only
DM-QUA-02Internal broken linksInternal links returning an error or missing anchorNot a ratioLink checkerExternal links reported separately
DM-FND-01Zero-result searchesSearches returning no resultsAll site searchesSearch logs, aggregatedExclude empty queries and bot traffic
DM-USE-01Positive page feedback"Helpful: yes" responsesAll feedback responsesFeedback widgetAnonymous; no cookies
DM-USE-02Task successTask attempts completed without helpAll task attemptsUsability sessionsReport tasks and participant count
DM-SUP-01Docs-tagged ticketsTickets tagged docs missing or wrongAll tickets in periodHelp desk aggregateTag 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

TermMeaning in this report
CoverageShare of released product features that have task-oriented documentation
Stale pagePage whose last verified date is older than its verify interval
Zero-result searchSite search query that returned no results
Task successShare of observed task attempts completed using the docs without help
DeflectionA support request avoided because the reader solved the problem with the docs; always an estimate
Cookieless measurementCounting that stores nothing on the reader's device and keeps no identifier
GPCGlobal Privacy Control, a browser signal asking sites not to sell or share personal data
Suppression thresholdMinimum count below which a figure is hidden to prevent singling out

12.2 References

ReferenceVersion or date checkedUse
ISO/IEC/IEEE 26511:2018, Systems and software engineering: Requirements for managers of information for users of systems, software, and servicesEdition 2, 2018; reviewed and confirmed 2024Measurement and quality evaluation activities, structure only
W3C, Web Content Accessibility Guidelines (WCAG) 2.2, https://www.w3.org/TR/WCAG22/W3C Recommendation, 12 December 2024Accessibility issue classification
W3C, Global Privacy Control (GPC), https://www.w3.org/TR/gpc/W3C Working Draft, as published in September 2026; check the current statusOpt-out signal honoured in measurement
Diátaxis, Daniele Procida, https://diataxis.fr/Checked 2026-10-24Content 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.

Templat terkait