The 2026 InfoSec Playbook · Daniel Ramos

#Appendix E — Metrics and KPI Catalog

Every security metric worth collecting, with its exact formula, its data source, its cadence, its audience — and the specific way each one gets gamed or misread.

Who needs this: CISOs, SOC managers, GRC leads, anyone who has to build a board slide or defend a budget | Read time: 14 min | Maps to: CSF 2.0 GOVERN (GV.OV), IDENTIFY (ID.IM), DETECT (DE.CM) | CIS Controls 8, 17 | ISO 27001 A.5.35, A.5.36

Welcome to the appendix nobody reads until the week before the board meeting, cyber-survivors. Let us fix that now, calmly, with nothing on fire.

Here is the problem this catalog exists to solve. Almost every security metric in common use can move in the direction you want while the organization gets less safe. Mean time to respond drops when analysts close tickets faster. Vulnerability counts fall when a scanner quietly loses credentials to four hundred hosts. Alert volume drops when a log source stops reporting — and, delightfully, GuardDuty documents that its own machine-learning model will stop generating a finding if it decides continued activity from a remote host has become expected behavior (AWS). Persistent exfiltration goes quiet in the console. The graph goes down. You are being robbed.

So the discipline in this appendix is not "collect more numbers." It is: for every metric, know its formula, know where the data comes from, know who it is for, and know the exact lie it tells when it improves for the wrong reason. A metric you cannot describe the failure mode of is not a metric. It is decoration.

Each domain below gives you a table of six columns — metric, formula, source, cadence, target direction, audience — followed by the short list of ways that domain's numbers get gamed. Chapter 16 owns the governance model these feed; Chapter 9 owns detection instrumentation; Chapter 10 owns vulnerability prioritization. This appendix owns the definitions.


#1. Detection and response

MetricFormulaSourceCadenceTargetAudience
MTTDmean(detection_ts − first_adversary_activity_ts)Case management; onset timestamp set at post-incident reviewQuarterlyDownSOC, leadership
MTTCmean(containment_ts − detection_ts), where containment = adversary can no longer actCase management; containment action logsMonthlyDownSOC, leadership, board (SEV-1 only)
MTTRmean(recovery_complete_ts − detection_ts)Case management, rolling 30-day windowMonthlyDownSOC only
Dwell timeeradication_ts − first_adversary_activity_ts, per intrusion, medianPost-incident review, per confirmed intrusionPer incident, trended quarterlyDownBoard
Internal detection rateinternally-detected incidents ÷ all confirmed incidentsMandatory detection_source field on every caseQuarterlyUpBoard
Time to first touchmean(analyst_ack_ts − alert_created_ts) by severitySIEM/SOAR queueWeeklyDownSOC
Detection coverage tripleper prioritized technique: telemetry / logic / last validatedDeTT&CT scoring plus detection repo metadataQuarterlyUpSOC, leadership

Definitions follow Prophet Security and Crogl. Report dwell as a median, not a mean — one 400-day edge-device intrusion will otherwise erase a good year.

How this domain gets gamed or misread:

Takeaway: Report MTTC and internal detection rate. Keep MTTR on the SOC dashboard where its context lives.


#2. Vulnerability and exposure

MetricFormulaSourceCadenceTargetAudience
KEV SLA attainmentKEV-applicable assets remediated or mitigated within tier deadline ÷ KEV-applicable assetsScanner + asset inventory + KEV feedMonthlyUpLeadership, board
Median time to remediate, by severity tiermedian(verified_fix_ts − advisory_publication_ts) per tierTicketing joined to scan resultsMonthlyDownLeadership
Exposure windowverified_fix_ts − first_exploitation_evidence_ts for KEV itemsKEV catalog date vs. remediation recordPer KEV itemDownLeadership
Asset inventory coverageassets with an owner and a scan result ÷ assets known to any sourceCMDB reconciled against cloud APIs, EDR, DHCPMonthlyUpLeadership, board
Open exceptions and renewalscount of live exceptions; mean renewals per exceptionException registerQuarterlyDownBoard
Verification rateclosed remediations carrying a verification artefact ÷ closed remediationsTicketingMonthlyUpSOC, leadership

The benchmarks that make these numbers speak: 23.43% of KEV entries showed exploitation evidence on or before the day the CVE was published, and median time from CVE publication to KEV listing fell to 80 days (VulnCheck); across 13,000 polled organizations only 26% of KEV vulnerabilities were fully remediated, with median patching time rising to 43 days (DBIR 2026 coverage).

How this domain gets gamed or misread:

Actionable takeaway: Never print KEV SLA attainment without asset inventory coverage on the same line. They are one metric with two halves.


#3. Identity

MetricFormulaSourceCadenceTargetAudience
Phishing-resistant MFA coverageprivileged accounts with FIDO2/certificate-based auth enforced ÷ all privileged accountsIdP authentication-methods reportMonthlyUp to 100%Leadership, board
Standing privilege countaccounts with permanent membership of a highest-privilege role, excluding break-glassIdP role assignments; cloud IAMMonthlyDown to break-glass onlyLeadership, board
Orphaned account agemedian and max days since owner departure for still-enabled accountsHR feed joined to directoryMonthlyDownLeadership
Non-human identity count and ownershipNHIs with a named human owner ÷ total NHIs discoveredCloud IAM, app registrations, CI token inventory, K8s service accountsQuarterlyUp to 100%Leadership
Unused-access decayprincipals with permissions unused in 90 days ÷ active principalsIAM Access Analyzer unused-access analyzer; equivalent IdP reportsQuarterlyDownSOC, leadership
OAuth grants with tenant-wide consentgrants where ConsentType = AllPrincipals for non-first-party appsGet-AzureADPSPermissions.ps1 export; Workspace OAuth token logQuarterlyDownLeadership

Sources for the collection mechanics: IAM Access Analyzer, Microsoft's illicit consent grant guidance.

How this domain gets gamed or misread:


#4. Resilience

MetricFormulaSourceCadenceTargetAudience
Restore test success ratesuccessful restore tests ÷ attempted restore tests, by tierRestore test logQuarterlyUpLeadership
Measured time to restorewall-clock service_verified_ts − restore_approved_tsStopwatch during the test, including approvalsPer testDown, vs. stated RTOBoard
RTO gapmeasured TTR − stated RTO, per tier-1 serviceAs aboveQuarterly≤ 0Board
Backup isolation coverageprotected assets with ≥1 copy in a non-overridable repository ÷ protected assetsBackup platform config auditQuarterlyUpBoard
Age of oldest untested tierdays since last successful test at each tierRestore test logMonthlyUnder ceilingLeadership

Chapter 12 owns the five-tier restore testing rubric these numbers come from.

How this domain gets gamed or misread:


#5. Third party

MetricFormulaSourceCadenceTargetAudience
Vendor tier coveragetiered vendors with current diligence on file ÷ tiered vendorsVendor registerQuarterlyUpLeadership, board
Evidence currencymedian age of the current SOC 2 / ISO certificate / pen test per tier-1 vendorVendor registerQuarterlyDownLeadership
Standing integration countactive OAuth/API integrations with write or .All scopes into production dataIdP enterprise app inventory; SaaS admin consolesQuarterlyDownLeadership
Concentration exposuretier-1 services dependent on a single provider, namedDependency mappingAnnualNamed, not scoredBoard
Vendor incident response timevendor_notification_ts − vendor_incident_start_ts per notified eventVendor notifications, contract termsPer eventDownLeadership

Context worth putting beside these: third-party involvement appeared in roughly 48% of breaches in the 2026 DBIR, a ~60% year-over-year increase, and only 23% of third-party organizations had fully remediated their MFA issues (SecurityWeek).

How this domain gets gamed or misread: questionnaire completion rate is not assurance — it measures whether a vendor typed. Count reviewed evidence, not received evidence. And a vendor register that only contains vendors who went through procurement is missing the SaaS-to-SaaS integrations that caused most of 2025's cross-tenant damage.


#6. Program

MetricFormulaSourceCadenceTargetAudience
Control coverage by IG tierimplemented safeguards ÷ safeguards in the tier (IG1 = 56 of 153)Control assessment recordSemi-annualUpBoard
Exercise cadence attainmentexercises completed ÷ exercises scheduled, by typeExercise registerAnnual100%Board
AAR/IP closure rateimprovement-plan items closed by due date ÷ items raisedImprovement planQuarterlyUpLeadership, board
Playbook freshnessplaybooks with last_tested inside the stated ceiling ÷ active playbooksPlaybook repo CI checkMonthly100%Leadership
Time-to-milestone in exercisesmeasured time to declare, assemble command, first holding statement, containment decisionExercise evaluator recordPer exerciseDownLeadership
Stalled-authority countdecisions in an exercise that waited on an absent approverExercise evaluator recordPer exerciseZeroBoard

CIS Implementation Group counts are from CIS. The federal baseline expectation is that contingency and IR capabilities are exercised at least annually (NIST SP 800-84); CISA asks for a plan review quarterly (CISA IRP Basics). NIST SP 800-61r3 makes improvement a tracked category in its own right — from evaluations (ID.IM-01), from exercises (ID.IM-02) and from real incident execution (ID.IM-03) (SP 800-61r3).

How this domain gets gamed or misread: an exercise that is scheduled, run and never produces a closed improvement item is theatre with a catering budget. AAR/IP closure rate is the metric that separates the two (CISA CTEP). And stalled-authority count is the highest-value number in this whole table, because it is the only one that predicts what will actually go wrong at 03:00.


#7. Human

MetricFormulaSourceCadenceTargetAudience
On-call loadpages per responder per week, and out-of-hours pages per responder per weekPaging platformWeeklyDownSOC, leadership
Alert volume per analystalerts requiring human decision ÷ analysts on shiftSIEM/SOARWeeklyDownSOC
True-positive ratioconfirmed true positives ÷ alerts triaged, per detectionCase management joined to detection IDMonthlyUpSOC
Analyst attritionvoluntary departures ÷ average headcount, rolling 12 monthsHRQuarterlyDownBoard
Key-person concentrationprocedures with exactly one person able to execute themRunbook ownership auditSemi-annualZeroBoard
Consecutive-hours exceedancesresponder-shifts exceeding the stated maximum during an incidentIC logPer incidentZeroLeadership

The evidence base is real, not soft. Sleep deprivation leaves rule-following relatively intact but measurably degrades exactly what a novel incident demands — handling the unexpected, revising plans, filtering distraction and communicating effectively (Harrison & Horne, 2000). The peer-reviewed alert-fatigue survey cites industry false-positive rates as high as 99% (ACM Computing Surveys 57(9)). NCSC has the only government guidance dedicated to responder welfare and puts "include all staff in the IR plan" first (NCSC). And the British Library's published review recorded that its technology department "was overstretched before the incident and had some staff shortages" — the pre-incident staffing deficit became the recovery constraint (British Library review).


#8. The board-reporting set

Six numbers. Trended over quarters, tied to money and days, each falsifiable.

  1. Internal detection rate, with the benchmark beside it — 52% of activity was detected internally in 2025, and dwell time was 26 days when an outsider told the victim versus 10 days when the organization found it itself (M-Trends 2026). That gap is the clearest budget argument in security.
  2. Median dwell time for confirmed intrusions.
  3. MTTC for SEV-1 only.
  4. KEV SLA attainment beside asset inventory coverage.
  5. Date and measured duration of the last tested identity-first restore, against the stated RTO.
  6. Named coverage gaps, with owner and cost — including the uncomfortable ones ("we cannot detect X because we do not ingest Y; the ingest costs Z").

Everything else stays off the board slide for one of three reasons. It is unactionable at that altitude (time to first touch, per-detection true-positive ratio). It is gameable without context (MTTR, alert volume, patch counts). Or it is an input rather than an outcome (backup job success, training completion, tickets closed). A director cannot act on a number whose movement they cannot interpret, and handing them one is not transparency — it is noise wearing a suit.


#9. Anti-metrics

These numbers actively mislead. Replace them.

Anti-metricWhy it misleadsUse instead
Patches applied / vulnerabilities closedRises with scanner noise and vendor advisory volume, both of which grew faster than exploitation riskKEV SLA attainment; median time to remediate by tier
Blocked attacks / events per secondCounts unsuccessful noise; scales with internet background radiationConfirmed intrusions and their dwell time
Security awareness training completion %Measures attendance, not behaviorReporting rate on simulations, and median time-to-report of a real phish
Backup job success rateMeasures whether a scheduler ranMeasured time to restore, and RTO gap
Alert volume (down = good)Falls when a log source diesAlerts per analyst plus log-source health
Total identities with MFACounts phishable factors as coveragePhishing-resistant MFA coverage on privileged roles
Maturity score out of 5Self-assessed, non-comparable, moves when the assessor changesControl coverage by IG tier, with the assessment evidence
Vendor questionnaires returnedMeasures whether the vendor typedTier-1 vendors with reviewed, current evidence

Actionable takeaway: Take your current executive deck and delete every row that appears in the left column. If the deck is now empty, that is the finding.


#10. Instrumenting MTTD honestly

MTTD has a structural problem: you can only compute it for intrusions you eventually detected. Undetected intrusions contribute nothing to the average, which means the metric improves when your detection gets worse in the specific way that matters most — silently.

Here is how to instrument it anyway, without lying.

Set the onset timestamp during the post-incident review, never during the incident. first_adversary_activity_ts is an investigative finding, not a field someone fills in at 04:00. MTTD is a retrospective metric by construction and cannot be computed live.

Record the evidence horizon alongside it. If your identity logs retain 30 days on a P1 license (Microsoft) and CloudTrail Event history holds 90 days of management events (AWS), then any dwell time you report is bounded by your retention, not by the adversary. A 30-day MTTD in a 30-day-retention estate means "at least 30 days." Put that phrasing in the footnote. Note also that some sources lag — Google Workspace OAuth token log events arrive a couple of hours late (Google) — so an onset timestamp derived from them is a floor, not a fact.

Make detection_source a mandatory field on every case, with values internal, external party, or adversary announcement. This is the companion measure that makes MTTD honest, because it is the one detection metric that cannot be improved by closing tickets faster.

Report the three together, always: MTTD, internal detection rate, and coverage triple. MTTD alone is a claim about speed. The three together are a claim about speed, honesty and scope.

Now the part leaders get wrong. When you present this limitation, do not undercut your own number by apologizing for it. Say it as a property, in one sentence: "MTTD measures the intrusions we found; the internal detection rate measures how often we are the ones who find them, and that is the number I want you watching." That framing is stronger than a clean-looking MTTD, because a board that understands the limit understands why the ingest budget matters. Undermining your metric is admitting it is bad. Bounding your metric is demonstrating you know what it measures. Same fact. Completely different meeting.

Actionable takeaway: Add two mandatory fields to your incident record this month — detection_source and evidence_horizon_days — and footnote every MTTD you publish with the second one. It costs a dropdown and a number, and it is the difference between a metric and a claim.


Metrics are the only part of a security program that outlives the person who built it. Choose them badly and you leave your successor a decade of charts that go the right way while the estate rots underneath. Choose them well and you leave behind something rarer: a set of numbers that get worse when things get worse.

Count what an attacker would care about, publish the denominator, and never trust a graph that only goes down.


#Sources

  1. https://cloud.google.com/blog/topics/threat-intelligence/m-trends-2026
  2. https://www.vulncheck.com/blog/state-of-exploitation-1h-2026
  3. https://www.helpnetsecurity.com/2026/05/20/verizon-2026-dbir-findings/
  4. https://www.securityweek.com/verizon-dbir-2026-vulnerability-exploitation-overtakes-credential-theft-as-top-breach-vector/
  5. https://www.prophetsecurity.ai/blog/soc-metrics-that-matter-mttr-mtti-false-negatives-and-more
  6. https://www.crogl.com/resources/blog/mttd-mttc-soc-metrics
  7. https://blog.nviso.eu/2022/03/09/dettct-mapping-detection-to-mitre-attck/
  8. https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html
  9. https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html
  10. https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html
  11. https://learn.microsoft.com/en-us/defender-office-365/detect-and-remediate-illicit-consent-grants
  12. https://learn.microsoft.com/en-us/entra/identity/monitoring-health/reference-reports-data-retention
  13. https://knowledge.workspace.google.com/admin/reports/data-retention-and-lag-times
  14. https://www.cisecurity.org/controls/implementation-groups
  15. https://nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-84.pdf
  16. https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r3.pdf
  17. https://www.cisa.gov/sites/default/files/publications/Incident-Response-Plan-Basics_508c.pdf
  18. https://www.cisa.gov/resources-tools/resources/ctep-package-documents
  19. https://fatiguemanagersnetwork.org/wp-content/uploads/Harrison-et-al.2000_-The-Impact-of-Sleep-Deprivation-on-Decision-Making.pdf
  20. https://dl.acm.org/doi/10.1145/3723158
  21. https://www.ncsc.gov.uk/guidance/putting-staff-welfare-at-the-heart-of-incident-response
  22. https://www.bl.uk/home/british-library-cyber-incident-review-8-march-2024.pdf/
  23. https://journals.sagepub.com/doi/10.2307/2666999
This page is one chapter of The 2026 InfoSec Playbook, a free field manual by Daniel Ramos. Checklist statuses and the live coverage model are in the full manual. Free, in full, no email wall.