Tax · super (composes 3 primitives)
Tax-loss harvest analyzer
Type the unrealized loss, marginal rate, and any current-year cap gains. We chain the wash-sale clock, the $3k ordinary-income offset (worth more than cap-gains offset), the carryforward value, and the new cost basis on the replacement security.
No profile data yet. Fill your profile to skip data entry on every super calc.
Inputs
Result
Harvest $18,000 → save $3,961 (PV) in tax. $3,000 offsets ordinary income at 32%, $4,000 offsets gains at 23%, $11,000 carries forward.
Harvest now: $3,961 of PV tax savings. Run the swap before 12/31. Set a calendar reminder for day 31 to rebalance back to the original if you preferred it.
- 1
Loss available to harvest
$18,000
Held more than 1 yr = long-term loss; offsets long-term gains preferentially before short-term
- 2
Capital-gains offset (this year)
$4,000
Saves $920 at 23% LTCG
- 3
$3,000 ordinary-income offset
$3,000
Saves $960 at 32% ordinary — worth more per dollar than cap-gains offset
- 4
Carryforward to future years
$11,000
Indefinite — never expires. Used at the same priority order in each future year.
- 5
PV of carryforward
$2,081
Assumes 4-yr horizon to fully use, 5% discount
- 6
Total PV of tax savings
$3,961
- 7
New cost basis on replacement
$42,000
Buy a similar-but-not-substantially-identical security (e.g. VTI → ITOT, AAPL → QQQ) to maintain exposure
Assumptions & notes
- Wash-sale rule applies to IRAs + spousal accounts — replacement security must be sufficiently different.
- Most index ETFs have a non-substantially-identical alternative: VTI ↔ ITOT, VOO ↔ IVV, BND ↔ AGG.
- Loss carryforward is indefinite at the federal level. Some states (e.g. PA) don't recognize cap-loss carryforward — check your state.
- Direct indexing services (Wealthfront / Betterment / Frec) automate this with daily harvesting at the lot level — typically 1-2% of AUM in tax alpha.
Multi-scenario comparison
What if — ±20% on one input
| Scenario | Unrealized loss in the position | Headline | Δ vs baseline | Magnitude |
|---|---|---|---|---|
| −20% (cautious) | $14,400 | Harvest $14,400 → save $3,280 (PV) in tax. $3,000 offsets ordinary income at 32%, $4,000 offsets gains at 23%, $7,400 carries forward. | $-3,600 | |
| Baseline | $18,000 | Harvest $18,000 → save $3,961 (PV) in tax. $3,000 offsets ordinary income at 32%, $4,000 offsets gains at 23%, $11,000 carries forward. | 0 | |
| +20% (aggressive) | $21,600 | Harvest $21,600 → save $4,643 (PV) in tax. $3,000 offsets ordinary income at 32%, $4,000 offsets gains at 23%, $14,600 carries forward. | +$3,600 |
Try the input with the highest sensitivity (above). The Δ column shows the dollar swing from a 20% move — that's how much room you have for a counter, raise, or hedge.
Goal seek
Solve for an input value
Pick the input you want to vary and the output you care about. We'll find the input value that gets you to the target. Bisection-based; converges in < 50 iterations.
Monte Carlo simulation
Distribution under input uncertainty (500 trials)
We perturb every numeric input with normal-distributed noise (10–25% sigma depending on input type) and run 500 compute trials. The output is a probability distribution, not a single number — closer to how finance actually works.
Most-leveraged inputs (sensitivity analysis)
Where to focus — what moves the answer most
Each input perturbed ±10%; measured impact on Loss available to harvest. Higher elasticity = bigger lever.
- 1
Unrealized loss in the position
Elasticity ↑ 1.00× — 10% change in this input increases Loss available to harvest by 10.0%.
- 2
Current cost basis
Elasticity ↕ 0.00× — 10% change in this input affects Loss available to harvest by 0.0%.
- 3
Current-year realized capital gains (other positions)
Elasticity ↕ 0.00× — 10% change in this input affects Loss available to harvest by 0.0%.
- 4
Marginal ordinary tax rate (federal + state)
Elasticity ↕ 0.00× — 10% change in this input affects Loss available to harvest by 0.0%.
ShowMath is the only calc site that surfaces this. Adjust the highest-leverage input first — that's where small moves create big results.
Chain payload (for the 3D constellation)
{
"slug": "tax-loss-harvest",
"depth": 1,
"primitives": [
"tax-loss-harvest-calculator",
"wash-sale-checker",
"tax-bracket-calculator"
],
"composes": [],
"chain": [
{
"key": "loss_available",
"label": "Loss available to harvest",
"primitive": "tax-loss-harvest-calculator",
"numeric": 18000
},
{
"key": "gains_offset",
"label": "Capital-gains offset (this year)",
"numeric": 920
},
{
"key": "ordinary_offset",
"label": "$3,000 ordinary-income offset",
"primitive": "tax-bracket-calculator",
"numeric": 960
},
{
"key": "carryforward",
"label": "Carryforward to future years",
"numeric": 11000
},
{
"key": "carryforward_pv",
"label": "PV of carryforward",
"numeric": 2081.437261223461
},
{
"key": "total_pv_savings",
"label": "Total PV of tax savings",
"numeric": 3961.437261223461
},
{
"key": "new_basis",
"label": "New cost basis on replacement",
"numeric": 42000
}
]
}The chain explained
Each step above corresponds to a primitive calculator. Click any to see the stand-alone version with its own explainer + sources.
- tax loss harvest calculatorshipping soon
- wash sale checkershipping soon
- tax bracket calculatorshipping soon
Chains naturally with
Get the new super calcs as they ship
One email per drop. We're chaining the next 6 right now.