I like to get to get my Christmas shopping done early. This year, I'm almost finished. I'm waiting for one last present to arrive from Amazon (hopefully today), and once that's wrapped, I'm done. Finito, baby.
I generally start planning my gift buying in September, and try to have it done in early December. And I also keep a look out all year long for gifts. If I spot a something that's perfect for so-and-so in August, I'll buy it and keep it.
Using this method, one year I found myself finished my Christmas shopping in July.
I even had lots of left over wrapping paper and I had everything bundled, wrapped, tagged and packed into a box in my closet a full five months before Christmas.
One unexpected benefit from this was that everyone including me was surprised with what I had given people for Christmas.
As the family gathered and presents were unwrapped, I was just as excited to see what I had given as the recipient. "Hurry up and open it," I'd say, "I can't wait to see what I got you."