Earned Value

Schedule Performance Index (SPI) Formula Explained

Schedule Performance Index (SPI) measures how efficiently a project is progressing against its planned schedule.

Will Doyle

Will Doyle

Mar 08, 2026 · 5 min read

<div class="ge-article-wrapper"><nav class="ge-toc" aria-label="Table of contents"><p class="ge-toc-label">In this article</p><ul class="ge-toc-list"><li><a href="#the-formula">The Formula</a></li><li><a href="#the-spi-interpretation-scale">The SPI Interpretation Scale</a></li><li><a href="#worked-example-35m-highway-spi-decline-over-4-months">Worked Example: £35M Highway, SPI Decline Over 4 Months</a></li><li><a href="#the-convergence-problem-why-spi-lies-at-the-end">The Convergence Problem: Why SPI Lies at the End</a></li><li><a href="#when-spi-is-most-useful">When SPI Is Most Useful</a></li><li><a href="#common-mistakes">Common Mistakes</a></li><li><a href="#frequently-asked-questions">Frequently Asked Questions</a></li></ul></nav><article class="ge-article-body"><p>The <a href="/en/earned-value/definitions/schedule-performance-index">Schedule Performance Index (SPI)</a> measures how efficiently a construction project is delivering progress against its baseline programme. SPI = <a href="/en/earned-value/definitions/earned-value">EV</a> / <a href="/en/earned-value/definitions/planned-value">PV</a>. Above 1.0 means ahead. Below 1.0 means behind. It's one of the two core ratios in <a href="/en/earned-value">earned value management</a>, alongside <a href="/en/earned-value/definitions/cost-performance-index">CPI</a>, and it has a critical flaw that makes it unreliable in the final third of any project.</p><p>This page expands on the <a href="/en/earned-value/definitions/schedule-performance-index">SPI definition</a> with deeper worked examples and the convergence problem that every commercial team needs to understand. For the companion time-based metric that fixes this flaw, see <a href="/en/earned-value/definitions/schedule-performance-index-time">SPI(t)</a>.</p><h2 id="the-formula">The Formula</h2><div class="ge-formula-box ge-anim"><span class="ge-formula-label">Formula</span><code>SPI = EV / PV</code></div><p>Where:</p><ul><li><strong><a href="/en/earned-value/definitions/earned-value">EV (Earned Value)</a></strong> = budgeted cost of work actually completed</li><li><strong><a href="/en/earned-value/definitions/planned-value">PV (Planned Value)</a></strong> = budgeted cost of work scheduled to be completed by now</li></ul><p>Both are measured in pounds. SPI is a dimensionless ratio. An SPI of 0.85 means you've delivered 85% of the progress the plan expected by this date.</p><h2 id="the-spi-interpretation-scale">The SPI Interpretation Scale</h2><h2 id="worked-example-35m-highway-spi-decline-over-4-months">Worked Example: £35M Highway, SPI Decline Over 4 Months</h2><span class="ge-worked-label">Worked Example</span><div class="ge-callout ge-anim"><p><strong>Scenario:</strong> A £35M NEC4 Option C dual carriageway widening programme, 20 months duration. The SPI trend over months 5 to 8 tells a story.</p><div class="ge-table-wrap ge-anim"><table class="ge-table"><thead><tr><th>Month</th><th>PV (Cumulative)</th><th>EV (Cumulative)</th><th>SPI</th><th>Trend</th></tr></thead><tbody><tr><td>M5</td><td>£7.7M</td><td>£7.85M</td><td><strong>1.02</strong></td><td>On track</td></tr><tr><td>M6</td><td>£10.1M</td><td>£9.70M</td><td><strong>0.96</strong></td><td>Slipping</td></tr><tr><td>M7</td><td>£12.8M</td><td>£11.39M</td><td><strong>0.89</strong></td><td>Behind</td></tr><tr><td>M8</td><td>£15.4M</td><td>£13.09M</td><td><strong>0.85</strong></td><td>Seriously behind</td></tr></tbody></table></div><p><strong>Month 5:</strong> SPI of 1.02. The project is slightly ahead. No concerns.</p><p><strong>Month 6:</strong> SPI drops to 0.96. A small slip, the team chalks it up to two weeks of poor weather in October. "We'll make it up next month."</p><p><strong>Month 7:</strong> SPI falls to 0.89. Now it's a pattern. The weather excuse doesn't hold because November was dry. Digging into the data reveals the earthworks package is 3 weeks behind the critical path, a subcontractor mobilised late and hasn't caught up.</p><p><strong>Month 8:</strong> SPI at 0.85. The earthworks delay has cascaded into the drainage package, which can't start until formation levels are achieved. Two packages are now behind, and the critical path has shifted.</p><p><strong>The commercial impact:</strong> At SPI 0.85, the project is delivering progress at 85% of the planned rate. The remaining 12 months of programmed work will take approximately 14.1 months at this rate. That's 2.1 months of delay unless something changes. With LDs at £60,000 per week, the exposure is around £545,000.</p><p>This is the value of tracking SPI monthly. At month 6, the slip was dismissed. By month 8, it's a programme crisis. The trend was visible from month 6, the team just didn't act on it.</p></div><h2 id="the-convergence-problem-why-spi-lies-at-the-end">The Convergence Problem: Why SPI Lies at the End</h2><p>Here's SPI's fundamental flaw. It always converges to 1.0 at project completion.</p><p>Why? At completion, all the planned work is done. EV = <a href="/en/earned-value/definitions/budget-at-completion">BAC</a>. And at the planned completion date (or beyond it), PV also equals BAC. So EV / PV = BAC / BAC = 1.0. Even if the project finishes six months late.</p><p>This means SPI is most reliable in the <strong>first 60-70% of a project</strong>. After that, it becomes increasingly misleading. I've seen projects with SPI of 0.97 at month 16 of 20 that were actually running three months behind. The SPI looked almost healthy, but the project finished in month 23.</p><p>The fix? Use <a href="/en/earned-value/definitions/schedule-performance-index-time">SPI(t)</a>, the time-based SPI from <a href="/en/earned-value/definitions/earned-schedule">earned schedule</a> methodology. It doesn't converge and gives you an honest picture right through to completion.</p><h2 id="when-spi-is-most-useful">When SPI Is Most Useful</h2><p>SPI's sweet spot is months 3 through to about 65% completion. In that window, it's genuinely powerful:</p><p><strong>Trend detection.</strong> Two consecutive months of declining SPI is a signal. Three months is a pattern. By the time it hits the programme report, you've already got the data to diagnose the problem.</p><p><strong>Package comparison.</strong> Calculate SPI per <a href="/en/earned-value/definitions/work-package">work package</a>. On a £35M job with five major packages, the aggregate SPI might be 0.92. But one package might be 0.75 while the others are all above 0.95. The aggregate hides the outlier. Package-level SPI finds it.</p><p><strong>Cross-project benchmarking.</strong> SPI normalises schedule performance across projects of different sizes and durations. A £5M project with SPI 0.88 and a £50M project with SPI 0.88 have the same schedule efficiency problem, just at different scales.</p><h2 id="common-mistakes">Common Mistakes</h2><p><strong>1. Treating SPI as a time metric.</strong> SPI measures progress in cost terms, not time. An SPI of 0.85 doesn't mean you're 15% behind in time. It means you've delivered 15% less value than planned. Converting SPI to time requires additional calculation, or better yet, use <a href="/en/earned-value/definitions/schedule-variance-time">SV(t)</a> which gives you the answer directly in months.</p><p><strong>2. Relying on SPI after 70% completion.</strong> The convergence effect is real and well-documented. After about two-thirds through the project, supplement SPI with SPI(t) or direct programme analysis.</p><p><strong>3. Ignoring what's slipping.</strong> SPI is an aggregate number. It can't tell you whether the slippage is on the critical path or on float activities. An SPI of 0.90 driven by non-critical market works is very different from an SPI of 0.90 driven by structural works on the critical path. Always check the programme alongside SPI.</p><p><strong>4. Celebrating high SPI without checking the baseline.</strong> An SPI of 1.15 is either excellent performance or a sandbagged programme. On NEC4, if the <a href="/en/earned-value/definitions/accepted-programme">Accepted Programme</a> was deliberately conservative, SPI will be artificially high. Check whether the baseline is realistic before drawing conclusions.</p> </article> </div> <section class="ge-faq-section" id="faq"><div class="ge-faq-inner"><div class="ge-faq-header"><p class="ge-faq-label"><a href="/en/earned-value/definitions/earned-value-management">EVM</a> Explained</p><h2>Frequently Asked Questions</h2></div><div class="ge-faq-list" itemscope itemtype="https://schema.org/FAQPage"><div class="ge-faq-item ge-card-anim" itemscope itemprop="mainEntity" itemtype="https://schema.org/Question"><div class="ge-faq-question" onclick="this.parentElement.classList.toggle('ge-open')"><h3 itemprop="name">What happens to SPI when a compensation event extends the programme?</h3><svg class="ge-faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div><div class="ge-faq-answer" itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer"><p class="ge-faq-answer-inner" itemprop="text">If the <a href="/en/earned-value/definitions/compensation-event">CE</a> changes the Accepted Programme and the baseline is updated, PV at future dates changes. This can improve or worsen SPI depending on whether the CE added scope (increasing PV) or just extended time (spreading PV over a longer period). Always re-baseline when the programme is formally revised.</p></div></div><div class="ge-faq-item ge-card-anim" itemscope itemprop="mainEntity" itemtype="https://schema.org/Question"><div class="ge-faq-question" onclick="this.parentElement.classList.toggle('ge-open')"><h3 itemprop="name">Can two projects have the same SPI but different schedule health?</h3><svg class="ge-faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div><div class="ge-faq-answer" itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer"><p class="ge-faq-answer-inner" itemprop="text">Absolutely. A £10M project with SPI 0.90 at month 3 of 24 has plenty of time to recover. The same SPI at month 20 of 24 is a crisis, there's almost no time left and the convergence effect is masking the true delay. Context matters as much as the number.</p></div></div><div class="ge-faq-item ge-card-anim" itemscope itemprop="mainEntity" itemtype="https://schema.org/Question"><div class="ge-faq-question" onclick="this.parentElement.classList.toggle('ge-open')"><h3 itemprop="name">Should I report SPI or SV to senior management?</h3><svg class="ge-faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div><div class="ge-faq-answer" itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer"><p class="ge-faq-answer-inner" itemprop="text">Both, but for different audiences. SPI is better for <a href="/en/earned-value/definitions/trend-analysis">trend analysis</a> and cross-project comparison. <a href="/en/earned-value/definitions/schedule-variance">SV</a> is better when you need to express the gap in pound terms, "we're £1.3M behind on progress" lands differently to "our SPI is 0.89." Use whichever gets the right response from your audience.</p></div></div><div class="ge-faq-item ge-card-anim" itemscope itemprop="mainEntity" itemtype="https://schema.org/Question"><div class="ge-faq-question" onclick="this.parentElement.classList.toggle('ge-open')"><h3 itemprop="name">Is SPI = 1.0 always good?</h3><svg class="ge-faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div><div class="ge-faq-answer" itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer"><p class="ge-faq-answer-inner" itemprop="text">Not necessarily. SPI = 1.0 means aggregate progress matches the plan. But if the plan itself is wrong, an unrealistic programme, an unachievable sequence, then SPI = 1.0 against a bad plan doesn't mean the project is healthy. SPI is only as good as the baseline it's measured against.</p></div></div></div></div></section> <section class="ge-cta-banner"><div class="ge-cta-inner"><p class="ge-cta-label">Earned value, automated</p><h2 class="ge-cta-title">Stop Tracking EVM in Spreadsheets</h2><p class="ge-cta-text">Gather's QS AI Agent reads your site diaries daily and maps progress against your cost-loaded programme — giving you accurate earned value data without manual updates. CPI, SPI, <a href="/en/earned-value/definitions/estimate-at-completion">EAC</a>: all calculated from verified site records.</p><p class="ge-cta-stat"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>40% more compensation events identified vs manual review</p><a href="/en/book-a-demo" class="ge-btn-demo">Book a demo <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></a></div></section>