You spot a mispricing, you hit “buy,” and twenty minutes later the position is on. Did you make money? Your P&L says yes. But the price you decided at and the price you got are two different numbers — and the gap between them is where alpha quietly leaks out, drip by drip, into the pockets of market makers, faster traders, and your own footprint.
That gap has a name. In 1988 André Perold called it implementation shortfall (IS), and it remains the single most honest scorecard execution has. It refuses to let you cherry-pick: it counts the fills you got, the fills you chased, and the fills you never got at all.
Before you read — take a guess
You decide to buy a stock at $50.00 (the 'decision price'). By the time your order is fully worked, your average fill is $50.18, and 8% of your intended shares never executed because the price ran away. Which of these does implementation shortfall capture?
What implementation shortfall is
Analogy. You read the menu: pasta, $18. That’s your decision price. You order. The kitchen is out of the pasta you wanted, so you settle for a pricier dish; there’s a service charge, then tax, then tip. The bill says $31. Implementation shortfall is the $13 gap between the price that made you decide and the all-in price you actually paid — including the dish you couldn’t get.
Definition. Implementation shortfall is the difference between the return of a hypothetical “paper” portfolio that transacts instantly and costlessly at the decision price, and the return of the real portfolio you actually built:
For a single buy of intended shares with decision price , fills shares at average price plus costs , and an end-of-horizon price marking the unfilled shares:
A positive IS for a buy means you did worse than the paper portfolio — you paid up. It is the most honest scorecard precisely because nothing can hide inside it: every penny of slippage, every fee, and every share you failed to capture lands somewhere in this number.
Sign convention
For a buy, paying more than the decision price is a cost (positive IS). For a sell, selling below the decision price is the cost. Most desks report IS in basis points of intended notional so buys and sells are comparable on one axis.
Fill in the benchmark IS measures against.
Pick the right option for each blank, then check.
Implementation shortfall compares your real fills against the — the price at the instant you committed to trade.
The decomposition
Analogy. IS is the total bill; the decomposition is the itemized receipt. Knowing you “lost 28 bps” is useless for fixing anything. Knowing it was 2 bps spread, 5 bps delay, 12 bps impact, 4 bps timing, 5 bps opportunity tells you exactly which knob to turn.
Definition. Perold’s shortfall decomposes into five additive buckets:
| Bucket | What it measures | Driven by |
|---|---|---|
| Delay (slippage) | Price drift between the decision and when your order actually reaches the market | Latency, hesitation, slow routing |
| Spread & fees | The bid–ask half-spread you cross plus explicit commissions/taxes | Liquidity of the name, order aggressiveness |
| Market impact | The price move you cause by demanding liquidity | Your size vs. available depth, speed |
| Timing (trading) cost | Price moves from natural volatility while you work the order | Horizon length, market drift |
| Opportunity cost | Alpha lost on the portion that never filled | Passivity, limit prices set too tight |
These sum to total IS. The deep insight: the buckets trade off against each other. Trade fast and you crush opportunity and timing cost but pay huge market impact. Trade slow and impact shrinks while timing and opportunity-cost risk balloon. There is no free lunch — only a different mix.
Trading fast crushes timing risk and leaves nothing unfilled — but you pay for it in market impact, which dominates the bill. You move the price against yourself by demanding liquidity now.
Toggle Trade fast vs. Trade slow: the buckets reshuffle, but the total never goes to zero — you are choosing which cost to pay, not whether to pay one.
Match each shortfall bucket to the lever that most directly causes it.
Pick a term, then click its definition.
A fully worked example
You manage a fund and your model flags a buy. At the moment you commit, the stock prints $50.00 — that’s your decision price. You intend to buy 100,000 shares, an intended notional of 100,000 × $50.00 = $5,000,000.
Here is what actually happens, step by step:
| Stage | Price / Quantity | Detail |
|---|---|---|
| Decision price | $50.00 | Price when the signal fired |
| Arrival price (order hits book) | $50.04 | Stock drifted up $0.04 during routing → delay |
| Average fill on executed shares | $50.18 | Spread crossed + your own impact baked in |
| Shares filled | 90,000 | You captured 90% of the order |
| Shares never filled | 10,000 | Price ran; your limit never traded |
| End-of-horizon price | $50.45 | Where the missed 10,000 would have had to be chased |
| Explicit costs | $1,800 | Commissions + fees on the 90,000 filled shares (≈0.4 bps) |
Execution cost on filled shares:
Opportunity cost on the missed 10,000 shares (marked at the end price they would now cost):
Total implementation shortfall:
In basis points of intended notional:
Now the itemized receipt — the same $22,500 split into Perold’s buckets:
| Bucket | Arithmetic | Dollars | bps of $5M |
|---|---|---|---|
| Delay | 90,000 × ($50.04 − $50.00) | $3,600 | 7.2 |
| Spread + impact | 90,000 × ($50.18 − $50.04) | $12,600 | 25.2 |
| Explicit fees | given | $1,800 | 3.6 |
| Opportunity | 10,000 × ($50.45 − $50.00) | $4,500 | 9.0 |
| Total IS | sum | $22,500 | 45.0 |
The receipt is damning: impact (25.2 bps) is the elephant, and opportunity cost (9.0 bps) is the second-biggest line — bigger than delay. A trader staring only at the $50.18 average fill would never see that 9 bps quietly bleeding out the back door.
Why bps, not dollars
Dollars don’t compare across trades — $22,500 on a $5M order (45 bps) is mediocre; the same $22,500 on a $50M order (4.5 bps) is excellent execution. Always normalize IS by intended notional so a small trade and a giant one sit on the same ruler.
If all 100,000 shares had filled at $50.18 with no shares missed, what would IS be in bps?
Cost = 100,000 × ($50.18 − $50.00) + $1,800 = $18,000 + $1,800 = $19,800. In bps: $19,800 / $5,000,000 × 10,000 = 39.6 bps. Lower than 45 bps — because you’d have captured the full position instead of eating 9 bps of opportunity cost on the 10,000 that ran away. Filling everything, even at a worse-looking average, can beat a “great price” on a partial fill.
Why opportunity cost is the subtle killer
Analogy. Two anglers compare their day. One brags about the average weight of the fish he landed — but he only kept the easy ones near the dock and let every big fighter snap the line. The other landed fewer trophies but counts the ones that got away as a loss. Only the second angler is being honest. Opportunity cost is the fish that got away.
Definition. Opportunity cost is the alpha forgone on the intended shares that were never executed, marked at where they’d have to be acquired now: for a buy. It is the only IS component that grows when you do less trading — which is exactly why naive, fills-only metrics miss it.
The trap. A too-passive algorithm posts patient limit orders, gets filled only when the market comes to it, and brags about a beautiful average fill price. But it systematically fails to fill when the stock is running in your favor — precisely when the alpha is realest. Those unfilled shares are pure forgone profit. Measure only executed fills and this lazy algo looks like a genius; measure IS against the decision price and its 9, 15, 20 bps of leakage snaps into view.
The adverse-selection of passivity
Passive fills are adversely selected: you tend to get filled when the market trades through you (the news went the other way) and miss out when it runs your way. A fills-only scorecard rewards exactly this losing behavior. Anchoring to the arrival/decision price — the IS benchmark — is what stops a passive algo from gaming the numbers, and it’s the foundation of proper Transaction Cost Analysis (TCA).
A portfolio manager's broker reports a fantastic average fill price, well inside the day's VWAP, on every order. Yet the strategy's live returns badly lag its backtest. What's the most likely culprit?
Putting it together
Implementation shortfall is the honest ledger of execution: paper return minus realized return, anchored to the decision price, decomposed into delay, spread/fees, impact, timing, and opportunity cost — and crucially counting the trades you never made.
Big picture
Implementation shortfall at a glance
- Implementation shortfall
- Definition
- Paper return − realized return
- Anchored to decision (arrival) price
- Reported in bps of intended notional
- Decomposition
- Delay / slippage
- Spread + fees
- Market impact (your footprint)
- Timing cost (volatility while working)
- Opportunity cost (unfilled shares)
- Trade-offs
- Fast → low opportunity, high impact
- Slow → low impact, high timing + opportunity
- Why it matters
- Catches passivity gaming
- Foundation of TCA
- Definition
Implementation shortfall check
Implementation shortfall is best defined as:
Check your answer to continue.
The single biggest line in our worked receipt was market impact — 25.2 of the 45 bps. That’s no accident: for any meaningful order, the price you push the market by is usually the dominant cost. Next we’ll open up that bucket on its own and meet the workhorse model practitioners use to predict it: Market Impact & the Square-Root Law.