Why do so many customers order Christmas gifts last minute?

This has been my first christmas as a properly established shop, and the amount of people ordering 'christmas gifts' last minute then getting annoyed with me when they don't arrive in time for christmas is getting genuinely unbearable. I thought it was common knowledge that postage companies get delayed this time of year, and I'm not sure what else I can do to speed them up. I have first class delivery as an option but very few customers choose it, and my order-dispatch time is 2-4 days.

I've closed my shop for christmas now, as I'll be out of town, but I was just wondering if there's anything I could improve next year to prevent this from happening (e.g. ways to make it painfully obvious when an order won't arrive in time for christmas), as I do take complaints to heart unfortunately.