"Tax alpha" is the most-quoted and least-rigorously-defined number in tax-aware investing. The headline in published materials is usually the right order of magnitude — somewhere between 50 and 200 bp/yr — but it bundles together factor timing, market exposure, and harvest cadence in ways that mask the underlying mechanism. This post is about three corrections we apply before reporting any tax-alpha number on this site, and what's left after the corrections are made.
Why 'after-tax NAV vs ETF NAV' overstates the strategy
The simplest tax-alpha calculation: run the strategy for ten years, run an ETF on the same benchmark for ten years, take the difference in after-tax NAV, divide by ten. Call it the "tax alpha." This number is true but misleading — it attributes everything the strategy does to tax management, including:
- Implicit factor tilts. The optimizer's substitution rotations may favour a factor (lower-vol, higher-quality, smaller-cap) that happened to outperform during the backtest window. That return is factor alpha, not tax alpha.
- Deferral compounding. Even with no harvest, a direct-indexing book defers the long-term capital-gains tax that an ETF holder would pay on internal turnover (fund-distributed gains). That deferral compounds; it's a real benefit, but it's not the same mechanism as harvest.
- Path luck. A regime with high cross-sectional volatility produces more harvest opportunities than a regime with low. The ten-year mean is one realisation of a high-variance distribution.
"After-tax outperformance" is not "tax alpha." It's after-tax outperformance, which contains tax alpha, factor alpha, deferral, and path luck — and the four are not equally repeatable.
Strip out factor, normalise by regime, isolate harvest
| # | Correction | How | Median impact |
|---|---|---|---|
| 1 | Strip implicit factor tilts | Regress strategy returns on the 6-factor model; report residual only | −25 to −60 bp |
| 2 | Normalise by regime | Multi-vintage backtest, report median + 10/90 percentile | −10 to −30 bp variance, not bias |
| 3 | Isolate harvest from deferral | Run a 'no-harvest' direct-indexing strategy as a baseline; difference is harvest alpha | −5 to −20 bp (deferral re-attributed) |
The most consequential correction
Run the strategy's monthly after-tax returns through a six-factor regression (market, size, value, momentum, low-vol, profitability). The intercept α is the part the strategy produced that wasn't explained by factor exposure; the loadings β tell you which factors absorbed the rest. For a well-built tax-aware DI strategy on a broad benchmark, the post-regression intercept should be smaller than the headline number — sometimes substantially so. If the intercept and the headline are equal, either the regression is missing a factor or the strategy is more accidentally factor-loaded than it claims.
One vintage is a sample of one
A single 10-year track is one realisation. The right answer is a multi-vintage grid — the same strategy across nine or more start years, reporting the median, and the 10/90 percentiles to bound the range. Headlines that quote the best vintage's number are advertising; headlines that quote the median are honest.
The two mechanisms are different
A direct-indexing book without active harvest still beats a same-benchmark ETF on after-tax basis, because the ETF distributes internal turnover gains pro-rata to holders. The DI book defers those gains until the holder sells. To isolate the harvest contribution, run a no-harvest baseline — the same DI construction but with λ_tax = 0 in the objective — and subtract its after-tax NAV from the full-strategy after-tax NAV. The remainder is harvest alpha. The no-harvest line is deferral alpha.
| Source | Bp / yr |
|---|---|
| Naive after-tax outperformance vs ETF | +148 bp |
| − Factor-loading attribution | −42 bp |
| − Deferral alpha | −18 bp |
| = Harvest alpha (corrected) | +88 bp |
The remaining limitations
- External-gain assumption. All harvest-alpha numbers assume the holder has external gains to offset against the harvested losses. A holder with no offsettable gains banks the loss as a carryforward — same economic value, longer time horizon. The present value difference can be 20–30% of the headline number for a holder using carryforwards beyond a 5-year horizon.
- Trading-cost realism. A 2 bp per-trade assumption is reasonable on liquid large caps; small caps and emerging markets are higher. Real accounts in those universes will see lower harvest alpha.
- Tax-rate uncertainty. Marginal rates change with politics. A backtest assumes today's rate stack; if rates rise, harvest is more valuable; if they fall, less. The optimizer can be re-run under alternative rate assumptions but the headline is the holder's current rate.
For the broader backtest hygiene that supports honest tax-alpha reporting, see Building a backtest you can defend. For the risk-model whose factor decomposition feeds the Correction 1 regression, see Risk-model construction.
- Stein & Garland (2008). Measuring the Tax Benefit of a Tax-Loss Harvesting Strategy.
- Israel & Liberman (2020). Tax-Loss Harvesting with Uncertainty — explicitly addresses the path-dependence and regime-sensitivity of headline tax-alpha estimates.
Methodology note · the headline number isn't necessarily wrong; it's just answering a different question than the one the holder usually asks.