Safeguard
Security Guides•

Median or average time to fix: which should you report?

Average time to fix hides outliers and the median hides the long tail. Report the median and a high percentile together, and show the open backlog age.

Safeguard Security Team
3 min read

Report both, and add a high percentile. The average is pulled around by a few very old findings, the median ignores them entirely, and neither shows what is still open. A median plus a 90th percentile, next to the age of the oldest open item, gives an honest picture of how fast you fix.

The same data, three stories

Take five fixed findings with these ages in days: 1, 2, 2, 3 and 92. This is a made-up illustration, not data from any real team.

MeasureResultWhat it suggests
Average20 days"We are slow"
Median2 days"We are fast"
Maximum92 days"We have a stuck item"

Both of the first two statements are misleading alone. The truth is a fast routine process and one stuck item that needs a person to look at it.

Why this matters for security

Vulnerability fix times are rarely bell shaped. Most items close quickly through routine dependency bumps, and a few linger for reasons such as a breaking upgrade, an unowned service or a vendor dependency. That shape is exactly where averages mislead.

Two further traps:

  • Survivorship. Time to fix only includes items that were fixed. If the old, hard ones are still open, the number looks better than reality. Always show the age of open items too.
  • Mixing populations. A single figure across critical and low findings, or across ten teams, hides the group that is struggling. Split by severity band or by owner.

Steps to build the report

  1. Pick the start time (detection or first seen by your tool) and keep it fixed. Changing the start time rewrites history.
  2. Pick the end time (fix merged, or fix deployed). Deployed is closer to what reduces exposure.
  3. Compute the median and the 90th percentile of closed items for the period.
  4. Add the age of the oldest open item and the count of open items older than your window.
  5. Split by the severity or context band that has a defined response window.

Percentile in plain words

The 90th percentile is the value that nine in ten items beat. If your 90th percentile is far above your median, you have a long tail, and the long tail is where unfixed exposure usually sits.

DORA, the software delivery research program, describes its metrics as a way for teams to see how they are doing today, prioritise improvements and validate progress. Treat fix times the same way. Use them to find stuck work, not to rank people.

Small samples

With very few items in a period, any statistic is unstable. Say how many items back each number, or widen the period. A median of three items is an anecdote.

Safeguard offers SBOM and dependency scanning, reachability analysis and policy gates, which gives you a consistent detection time to measure from. You can try a free scan at gold.safeguard.sh/scan.

Quick check

Is the median always better than the average?

No. The median hides a long tail. Use it together with a high percentile and the oldest open age.

Should time to fix start at disclosure or at detection?

Either works if you pick one and keep it. Detection in your own tooling is easier to audit.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.