By most accounts, holiday retail sales were a letdown. While retail sales climbed 3.3% over November and December, stores reported a 6.4% drop in foot traffic. So even though people might have spent a bit more, they were choosy in where they spent.

When customers spend less, companies earn less, affecting the bottom line. This relationship is on display at companies like Macy’s, which warned that sales were off 4.7% in November and December. The company plans to close stores and lay off thousands of workers. The same story is unfolding at Gap.

However, the pain isn’t equally distributed. L Brands Inc. – owner of Victoria’s Secret and Bath & Body Works – had the best December ever. The differences in what these retailers sell explain the disparate outcomes, and favors another company I haven’t mentioned – Amazon.

I love the Macy’s location on the lower east side of Manhattan. The historic store covers city blocks, and even after the recent renovation it has wooden escalators. It seems like the goods on display go on for miles.

But among the racks lie the source of Macy’s woes. They sell a lot of coats. And scarves. And gloves.

On Christmas Day the temperature in New York City reached 66 degrees, making it the warmest Christmas on record. The current El Nino weather system has been pumping moisture across the U.S., and until early January had kept cold weather systems at bay in Canada. The moderate weather during the holidays found people in New England spending time outdoors in shorts, and not very interested in buying cold weather gear.

Warmer than normal temperatures were expected, but not that warm! The weather caught Macy’s and other large clothing retailers off guard, and with a bunch of unsold inventory.

It’s not that consumers weren’t buying, to which Victoria’s Secret can attest. They just weren’t buying what a lot of major stores had to offer.

Which brings me to Amazon.