At 6:47 on a Wednesday evening in January my dinner sat cold beside the laptop while column F of a spreadsheet ended an argument I had been having with myself for two years. Every planned sale in my taxable account had been split down the middle for two straight years: half the lots sold in mid-December, half in early January, identical amounts, identical funds. December won. Not by a rounding error — by 4.3 percentage points of after-tax proceeds across the two years, which on $66,200 of sales came to $2,847 I would have handed over for nothing.
$2,847 covers four months of our $712 car payment, and it is the number that ultimately turned a nerdy spreadsheet exercise into something my wife asked me to explain twice at dinner. The setup was simple enough to survive that explanation. In December 2024 and again in December 2025 I sold a basket of appreciated lots from the total-market index fund I have held since 2018, wrote down the after-tax proceeds, and let the twin basket sit. Then each January I sold the twin, repeated the tax math, and stacked the two columns side by side. Same shares, same basis, same holding period. The only variable was the calendar, and the calendar was not supposed to matter.
The reason it mattered had nothing to do with Santa Claus rallies or any folklore. It was a $1,120.44 line item I never ordered and a February bonus I forgot to plan around, and neither one announces itself in advance. Both are detailed below, cuz the gap between the two columns is the most useful $2,847 I never earned.
the test I ran on myself
I wanna be precise about what this was, cuz the phrase "calendar effect" makes people think of stock market folklore — sell before the holidays, buy after, that whole shelf of October crash books. This was narrower. I had already decided to sell — rebalancing, a kitchen renovation, a stretched budget — so the question was never whether, only when. I narrowed the experiment to one rule: the December half executes the second full week of December, the January half executes the second Wednesday of January, and nothing else about the portfolio changes. I chewed on the results for a month before trusting them, cuz one good year is a coin flip and I needed the second year to say the same thing. It did, louder.
January looked smarter on paper
Goin in, I anticipated January to win. The textbook logic favors deferral: a capital gains tax bill postponed twelve months is a bill you can park in a money market fund paying around 5 percent, which on a five-figure gain is real money, and deferring also gives a lower-income retirement year a chance to catch the gain at a cheaper rate. That logic is correct as far as it goes. It just doesn't go far enough, cuz deferral treats the tax code as the only moving part, and my tax life had two more parts hiding in December.
the February bonus I forgot to plan around
Year one's damage came from my own income. In February 2025 I received a retroactive pay adjustment worth $9,400, which pushed that year's taxable income high enough to change how my long-term gains were taxed: instead of the 15 percent bracket I had planned around, the January 2025 sale landed in the 20 percent bracket with the 3.8 percent net investment income tax stacked on top. Twenty-three point eight, against fifteen. On $7,900 of grasped gains that spread cost $695, paid for the crime of selling nineteen days later. December 2024's twin sale had cleared at 15 percent, cleanly, because 2024 had no bonus in it.
the $1,120.44 line I never ordered
Year two taught me the part nobody mentions. My index fund pays an annual capital gains distribution in mid-December, after its fiscal year closes on October 31; every holder of record on the December 19 ex-date receives it and owes tax on it, even though the share price drops by approximately the same amount that day. A tax bill in a dividend costume. Selling my December 2025 half on the 10th meant I was not a holder of record, so the fund's $1,120.44 distribution went to whoever snagged from me, and the tax bill went with it — about $168 at my rate. The January twin collected the distribution, owed the $168, and had no harvested losses left to pair against its gains, cuz I had already banked $4,300 of losses in December while the pairing window was open.
the coin flip that wasn't
One year proves nothing, and I knew it, which is why the experiment ran twice. The first December beat its January by about $812, a margin slight enough to attribute to luck, weather, or my own imagination. The second year's gap came in at $2,035, driven by the distribution skip and the loss pairing stacking on the same side. Combined, the December halves kept 4.3 percentage points more of their value, and two independent trials pointing the same direction is the loosest possible definition of a pattern that I will act on. I acted.
what happens every Dec 15 now
The rule set is short. Any taxable sale I have already decided to make gets executed the second week of December, before my funds' ex-dividend dates, which I keep on a one-page list: Dec 12, Dec 15, Dec 19. December is also when I harvest losses across the whole taxable account, pair them against gains in the same sitting, and rebuy replacement exposure 31 days out if I still want it. Nothing here is trading. The core index fund position is untouchable, exactly as it has been since 2018; this is purely about choosing which tax year an already-made decision belongs to.
cold pasta, hot spreadsheet
By 7:20 that Wednesday evening the pasta had been microwaved twice and column F had a border drawn around it, because the argument was over and I wanted the sheet to keep the verdict. The file is named dec-vs-jan FINAL, all caps, and every January I will open it, update two numbers, and remember that $2,847 snagged the lesson. Somewhere a version of me sold everything last January, deferred his taxes like the textbook said, collected a $1,120.44 distribution he never ordered, and paid 23.8 percent for the privilege. Dinner that night tasted fine. It ordinarily does when it's hot.