Skip to main content

Deployment Frequency: The DORA Metric Explained

· 8 min read
Artur Pan
CTO & Co-Founder at PanDev

Elite engineering teams deploy 973 times more often than low performers, and break production less often. That's the DORA 2023 State of DevOps finding that broke a decade of "move fast and break things" assumptions: speed and stability are correlated, not traded.

Deployment Frequency is the simplest of the four DORA metrics on the surface, and the most misread. A team can deploy ten times a day to staging, never ship to prod, and still call themselves "elite". This glossary fixes that: formula, benchmarks, what counts as a deploy, and the failure modes that make the number lie.

{/* truncate */}

Deployment Frequency: the DORA definition

Deployment Frequency (DF) is one of the four metrics defined by the DevOps Research and Assessment (DORA) team at Google Cloud. It measures how often an organization successfully releases code to production.

The metric was popularized by Nicole Forsgren, Jez Humble, and Gene Kim in Accelerate (2018), where they showed that high deployment frequency correlates with profitability, market-share growth, and lower employee burnout, not just engineering output. The 2023 State of DevOps Report, built on 36,000+ respondents over ten years, has confirmed the pattern in every annual cohort since.

DF is the throughput half of DORA. Paired with Lead Time for Changes, it tells you how fast value moves from "merged" to "running for users". Stability is measured separately by Change Failure Rate and MTTR. See the full DORA guide for how the four metrics interact.

Deployment frequency benchmarks chart Order-of-magnitude gap between performance tiers. DORA 2023 cohort.

The formula

Deployment Frequency = Successful production deployments ÷ Time window

Pick one time window and stick to it. The window depends on tier:

CadenceReporting windowRead as
Multiple/dayDaily or weekly"12 deploys/day median"
DailyWeekly"~5/day, 25/week"
WeeklyMonthly"4-5 deploys/month"
Monthly or lessQuarterly"2 deploys/quarter"

Two practical rules:

  1. Median, not mean. One CI-storm day with 40 deploys skews a monthly average. Use the median deploys-per-day across business days.
  2. Successful only. A failed pipeline that never reached production isn't a deployment. Include rolled-back deploys (they did reach prod) but exclude aborted runs.

What counts as a "deploy"

This is where the metric breaks down for half the teams measuring it.

Only production counts. Staging, QA, preview environments: none of these are deployments for DORA. Useful internal signals, but the official metric is about code reaching users.

One deploy per release event, not per change. If a release ships 12 merged PRs at once, that's one deploy, not 12.

Multi-service complications. A microservices org deploying 80 services independently can report 80x the deploys of a monolith team shipping the same feature. DORA and Forsgren's later work suggest reporting DF per deployable artefact or per team, not as a global org count that rewards splitting.

ScenarioCounts as
Push to main → auto-deploy to prod, success1 deploy
Same as above, but pipeline failed at smoke test0 deploys
Push to main → deploy to staging only0 deploys
Rolling release across 5 prod regions1 deploy (one release)
12 PRs merged, batched into one release1 deploy
Hotfix pushed straight to prod1 deploy

Benchmarks 2026

The DORA 2023 report defines four performance tiers. The 2024 update preserved them, and 2026 cohorts I've seen at PanDev Metrics customers match closely, though the "elite" line has crept upward at hyperscale companies.

TierDeployment FrequencyTypical org type
EliteOn-demand, multiple per dayTrunk-based, full CD, feature flags
HighOnce per day to once per weekMature CI/CD, weekly release train
MediumOnce per week to once per monthManual approval gates, release windows
LowLess than once per monthLong-lived feature branches, batched releases

Amazon's reported peak (~50M deploys/year across services in 2015, ~1.5/second) and Netflix's continuous deployment numbers are outliers, not aspirational targets. For a 20-person product team, 3-5 production deploys per business day is a strong elite signal.

A contrarian point worth holding: measuring "deploys per day" in a team that doesn't practice trunk-based development is mostly noise. Long-lived feature branches inflate the metric when they finally merge in bursts and depress it when they're stuck. DF as a leading indicator only works if your branching model lets it.

Why more deploys mean fewer outages (the counter-intuitive part)

The default mental model is: more changes = more risk. The DORA data says the opposite. Why?

Smaller change sets. A deploy with 2 PRs has fewer interactions to debug than a deploy with 60. When something breaks, you know which two things to look at.

Faster feedback loops. A bug shipped today is investigated by the author today. A bug shipped four weeks ago is investigated by someone reading commit history.

Practiced rollback muscle. Teams that deploy daily have rolled back hundreds of times. Teams that deploy quarterly haven't rolled back since the last quarter. The procedure is rusty.

Blast radius. Daily deploys come with feature flags, canary releases, gradual rollouts. The deploy is decoupled from the release to user. A failed deploy at 0.1% canary affects 0.1% of users.

The 2023 DORA finding that crystallizes this: elite teams have a change failure rate around 5% and an MTTR under one hour. They aren't avoiding failures. They catch and recover from them in minutes instead of days. See Change Failure Rate: what's normal for the stability side.

What suppresses Deployment Frequency

Most low-tier scores aren't an engineering skill problem. They're a process problem. The usual culprits:

SuppressorMechanismFix direction
Manual change-approval gates (CAB)Each release waits days for review boardReplace with automated policy + post-deploy review
Slow CI (>30 min)Engineers batch changes to avoid the waitParallelize tests, cache builds, target <10 min
Release windows ("Thursday 6pm only")Caps theoretical maximum to 1/weekDecouple deploy from release via feature flags
Long-lived feature branchesBig-bang merges create monthly burst patternTrunk-based + small PRs
Fear culture ("last deploy broke prod")Engineers avoid deploying near the weekendInvest in rollback automation; safer deploys reduce fear
Coupled deployments (must ship A and B together)Service dependencies force batched releasesBackward-compatible APIs, expand/contract migrations

If you're asking your team to "deploy more" without removing these, you're asking them to take more risk. They will refuse, correctly. The practical sequence is in Monthly to Daily: deployment-frequency playbook.

One honest limit: "5 deploys/day" means almost nothing for a team of three. A 3-person team owning 8 services and deploying each once a day is at 24/day. That's noise from architecture choice, not elite throughput.

At PanDev Metrics, we compute Deployment Frequency automatically from CI/CD events and Git tags, broken out per service, per team, and per environment, with rollback-aware filtering so failed deploys don't inflate the number. The same pipeline feeds Lead Time, MTTR, and Change Failure Rate, because no single DORA metric should be read alone. For lead-time, see Lead Time for Changes: 4 stages. For recovery, MTTR benchmarks.

FAQ

What is Deployment Frequency?

The DORA metric measuring how often a team releases code to production successfully. Counted as deploys per time window (day/week/month), reported as median.

How many times per day do elite teams deploy?

DORA 2023 defines elite as on-demand, multiple times per day. In practice that lands between 3 and 50 production deploys per business day for product teams. Hyperscale orgs deploy thousands of services thousands of times per day, but those numbers aren't useful benchmarks for normal teams.

What's a normal Deployment Frequency?

For a typical 10-30 person engineering org with mature CI/CD: 1-5 deploys per day per service is healthy. Less than weekly signals a gate somewhere in the pipeline. More than 50/day per service often means you're counting hotfixes or noisy auto-deploys.

Do hotfixes count in Deployment Frequency?

Yes. Any successful deploy to production counts: planned, unplanned, hotfix, or feature release. If hotfixes dominate the count, that's a useful signal. Pair DF with Change Failure Rate, because high DF driven by hotfixes is a stability problem, not a throughput win.

How to calculate Deployment Frequency for a microservices architecture?

Report it per deployable service or per team, not as a single org-wide number. Org-wide deploys-per-day rewards splitting services without improving delivery. The useful question is: "for each service, what's the median deploy cadence?" Then aggregate by team to compare like with like.

Where this leaves you

If your team is in the medium or low tier, you're not failing. You're describing the friction in your release process. DF is the easiest DORA metric to measure and the hardest to move, because moving it means removing the manual gates, the slow CI, and the cultural caution that protected you the last time a deploy broke prod. Start by separating "deploy" from "release" via feature flags. Everything else follows.

The number to defend a year from now is not "100 deploys per day". It's: median daily deploys per service, with change failure rate under 15% and MTTR under one day. That's a real elite signal. Everything else is theatre.

Try it yourself — free

Connect your IDE plugin in 2 minutes and see your real metrics. No credit card, no commitment.

Try Free