Skip to content

DORA Metrics

ShipLens computes all four DORA metrics directly from your git and PR data — no CI/CD integration required.

The Four Metrics

Deployment Frequency

How often your team ships to production.

LevelThreshold
EliteMultiple per day (>= 1/day)
HighWeekly (>= 1/week)
MediumMonthly (>= 1/month)
LowLess than monthly

Detection strategies:

  • Merge to main (default): Every merged PR to your production branches counts as a deployment
  • Release tags: Git tags matching a pattern (e.g., v*) are treated as deployments

Lead Time for Changes

Time from first commit to production deployment. Broken down into four phases:

coding → pickup → review → deploy
  • Coding time: First commit to PR opened
  • Pickup time: PR opened to first review
  • Review time: First review to approval/merge
  • Deploy time: Merge to deployment (usually instant for merge-to-main)

Uses median (not mean) to handle skewed distributions.

LevelThreshold
EliteLess than 1 hour
HighLess than 1 week
MediumLess than 1 month
LowMore than 1 month

Change Failure Rate

Percentage of deployments that cause a production incident.

Incidents are detected automatically from:

  • Revert PRs: PRs with "revert" in the title or branch name
  • Hotfix branches: PRs from branches matching hotfix/*, fix/*, bugfix/* opened within 72 hours of a deployment
LevelThreshold
Elite<= 15%
High<= 30%
Medium<= 45%
Low> 45%

Mean Time to Recovery (MTTR)

How quickly your team recovers from production incidents.

Measured as the time from incident detection (the failed deployment) to resolution (the revert/hotfix PR being merged).

LevelThreshold
EliteLess than 1 hour
HighLess than 1 day
MediumLess than 1 week
LowMore than 1 week

Scoping

DORA metrics can be computed at three levels:

  • Project: Metrics for a single repository
  • Team: Aggregated across all projects the team owns domains in
  • Company: Aggregated across all projects

Snapshots

Metrics are pre-computed into weekly and monthly snapshots to avoid expensive re-computation on every dashboard load. Snapshots include:

  • All four metric values
  • Per-metric performance levels
  • Overall level (determined by the weakest metric)
  • Lead time phase breakdown
  • Deployment and incident counts

Snapshots are idempotent — safe to recompute at any time.

Overall Level

Your overall DORA level is determined by your weakest metric. If you're Elite on three metrics but Low on MTTR, your overall level is Low. This encourages balanced improvement across all four dimensions.

Data Sources

Everything is inferred from git and PR data — no manual tagging or CI/CD webhooks required:

DataSource
DeploymentsMerged PRs to production branches or release tags
IncidentsRevert PRs, hotfix branch PRs
Lead timeCommit timestamps, PR lifecycle events
RecoveryTime between incident and resolution PR merge

Phase 2 (Coming Soon)

Future versions will support GitHub Actions workflow detection for deployments and PagerDuty/OpsGenie integration for incident detection.

Built with intelligence, not surveillance.