Your budget probably works fine in an average month. The trouble is that almost no month is average. Car registration lands in March. The insurance premium hits in June. Tires, a wedding gift, back-to-school, the holidays. Each one arrives feeling like a surprise, and each one gets paid with a credit card or a raid on savings.

Here's the reframe that fixed this for me: those aren't surprises. They're scheduled. You know the holidays come in December. You know the car will need tires. The only real unknown is the exact date, and for half of these you know that too. A budget that ignores them was never going to hold.

The fix is old and unglamorous. Add them up and divide by twelve. Go through last year's statements, list every non-monthly expense you find, total it, and treat one-twelfth of that number as a regular bill you pay to yourself each month. Some people keep it in a separate savings account. Some run a spreadsheet with categories. The container matters less than the habit.

Something to be aware of: the first pass at the list always comes up short. Mine did. You'll catch the obvious ones fast, but the every-few-years items, brakes, a water heater, a passport renewal, stay hidden until they happen. Keep adding to the list as life reminds you, and the fund gets more honest every year.

What you get for the effort is a calmer year. The card stops absorbing March and June and December, so the balance stops creeping, so more of your income stays yours. If you want to find where the rest of the money is leaking, start with Start With the Leak: Where Your Money Actually Goes. And if the whole picture could use a second set of eyes, that's the free needs analysis.