Term · First-In-First-Out

FIFO

Published May 7, 2026·Updated Jul 6, 2026
Definition

FIFO (First-In-First-Out) is a tax-lot relief method that sells the oldest acquired lots first. It is the default lot-relief method for most equities under Treas. Reg. §1.1012-1(c), and the legacy default for mutual funds and ETFs absent an explicit alternative election by the taxpayer.

FIFO became the default for historical reasons rather than tax-efficiency reasons. It requires the least state — sell against the oldest open lot, no per-trade election needed — and was easy to implement before per-lot tax accounting became routine. The cost is real: on an appreciating position, the oldest lots typically have the lowest basis and thus the largest unrealized gain. A FIFO-default sell crystallizes that largest gain when alternative methods could have crystallized a smaller one.

The practical impact is most visible on long-held diversified equity positions. A household that began contributing to VTI in 2014 has lots stretching from $90 cost basis (2014) to $230+ cost basis (recent years). A FIFO sell of $20k of VTI taps the 2014 lot — a $14k+ gain — when an HIFO sell of the same $20k would tap recent high-basis lots and produce maybe $1k of gain. On a fee-paying advisor's behalf, the after-tax differential can dominate the advisor's annual fee.

Mutual funds historically defaulted to average-cost basis rather than FIFO; post-2012 tax-cost-basis reporting rules let mutual-fund holders elect specific-lot relief on the new 'covered' lots. The election is sticky — once made, it cannot be retroactively undone for already-executed trades — so the choice has consequence beyond a single sale.

 FIFOSpecific Lot ID
Effort per tradeNone — automaticPer-trade selection
Tax outcome on gainsWorst on appreciating positionsOptimized — choose any lot
Tax outcome on lossesBest for harvest preservationOptimized — choose any lot
Audit trailImplicitExplicit per-trade record needed
Default at most retail brokersYesElection required
Why this matters for synthetic data

Synthetic households need a mix of lot-relief settings: most accounts should default to FIFO (matching the IRS default), but a meaningful minority should be on HIFO or specific-lot relief to exercise the alternative-method paths. Per-account, per-symbol overrides are common at sophisticated households and should be modelable, not all-or-nothing.

Common pitfalls

  • Hardcoding FIFO without honoring a custodian's per-account override — some custodians let users change the default at the account level.
  • Assuming FIFO produces the best tax outcome — it produces the worst on appreciating positions, the best only on depreciating ones (where you want the lowest basis sold last to preserve future loss-harvest opportunities).
  • Not separating long-term-FIFO from short-term-FIFO — sophisticated lot-relief variants (LIFO-by-age-band) can intentionally select against ST lots first.

Examples

FIFO vs HIFO outcome

Same $10,000 sale, dramatically different tax bills.

Position: 100 shares of XYZ at $200 current price.
Lots:
  Lot A: 30 shares @ $80 basis  (acquired 2018, gain potential $3,600)
  Lot B: 40 shares @ $140 basis (acquired 2021, gain potential $2,400)
  Lot C: 30 shares @ $190 basis (acquired 2024, gain potential $300)

Sell 50 shares ($10,000):
  FIFO:  30 from A + 20 from B → realized gain $4,800
  HIFO:  30 from C + 20 from B → realized gain $1,500
  LT vs ST mix differs too; FIFO tends LT, HIFO depends on lot ages.

Frequently asked questions

Why is FIFO still the default if HIFO is usually better?+
Two reasons: regulatory inertia and operational simplicity. The default was set decades ago and changing it requires per-account taxpayer election. Operationally, FIFO requires no per-trade decision; sophisticated alternatives require either system-level rules or per-trade choice, and most accounts don't get configured.
Can I change FIFO retroactively?+
No, not for already-settled trades. The lot-relief election applies at the time of trade, and once the broker has reported the trade on the 1099-B, the method is locked. You can change going forward by submitting a new election to the broker.