Skip to content
Calcrivo

Detection Rule Coverage Calculator

Score how much of your detection content is actually enabled, fed with telemetry, tuned and tested — not just written.

Inputs

rules
rules
rules
rules
rules
source types
source types

Effective Detection Coverage

61.4%

Rules Enabled

84.5%

Enabled Rules With Telemetry

84.5%

Rules Tuned in 90 Days

50.0%

Rules Validated

39.3%

Log Source Onboarding

78.1%

Rules That Cannot Fire

55rules

Detection Content Grade

C — Fair

Step by step

  1. Values used

    Detection rules authored = 420 rules; Rules enabled in production = 355 rules; Enabled rules receiving required telemetry = 300 rules; Rules tuned in the last 90 days = 210 rules; Rules validated by purple-team or emulation = 165 rules; Log source types required by the rule set = 32 source types; Log source types onboarded = 25 source types

  2. Detection Rule Coverage

    Effective coverage = 0.5 × (enabled% × fed-with-telemetry%) + 0.2 × tuned% + 0.2 × validated% + 0.1 × source-onboarding%.

  3. Silent rule count

    Silent rules = enabled rules − rules receiving their required telemetry.

  4. Effective Detection Coverage

    = 61.4

  5. Rules Enabled

    = 84.5

  6. Enabled Rules With Telemetry

    = 84.5

  7. Rules Tuned in 90 Days

    = 50.0

  8. Rules Validated

    = 39.3

  9. Log Source Onboarding

    = 78.1

How it works

Enabled and fed multiply rather than add, because a rule missing its log source contributes exactly nothing no matter how well written it is. Tuning, validation and source onboarding then adjust the score for whether the content is trustworthy and complete. Rule counts are the most gameable metric in security — a library of 400 rules where 100 have no telemetry and 200 have never been tuned is worse than 80 rules that all fire correctly, because it manufactures false confidence.

Formulas

Detection Rule Coverage

Effective coverage = 0.5 × (enabled% × fed-with-telemetry%) + 0.2 × tuned% + 0.2 × validated% + 0.1 × source-onboarding%.

enabled%
Authored rules switched on in production
fed%
Enabled rules whose required log sources exist
tuned%
Rules reviewed for false positives in 90 days
validated%
Rules proven to fire by adversary emulation

Silent rule count

Silent rules = enabled rules − rules receiving their required telemetry.

silent rules
Enabled but structurally incapable of firing

Frequently Asked Questions

How is Detection Rule Coverage calculated?

Effective coverage = 0.5 × (enabled% × fed-with-telemetry%) + 0.2 × tuned% + 0.2 × validated% + 0.1 × source-onboarding%. Enabled and fed multiply rather than add, because a rule missing its log source contributes exactly nothing no matter how well written it is. Tuning, validation and source onboarding then adjust the score for whether the content is trustworthy and complete.

Why does Detection Rule Coverage matter?

Rule counts are the most gameable metric in security — a library of 400 rules where 100 have no telemetry and 200 have never been tuned is worse than 80 rules that all fire correctly, because it manufactures false confidence.

What values do I need to enter?

This calculator takes 7 inputs: Detection rules authored, Rules enabled in production, Enabled rules receiving required telemetry, Rules tuned in the last 90 days, Rules validated by purple-team or emulation, Log source types required by the rule set, Log source types onboarded. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

Why weight telemetry so heavily?

Because it is the only binary factor. A rule with no source data has a 0% chance of detecting anything, and this is the most common gap found during purple-team exercises — content deployed for a source that was never onboarded, or onboarded and later broken.

What counts as validated?

The rule fired end-to-end on a real emulated technique — Atomic Red Team, Caldera or a manual purple-team run — and produced an alert an analyst saw. A unit test on sample log lines is useful but is not validation.

You might also need