Venezuela's supermarkets don't have enough food. Or toilet paper. Or, well, anything really. And that's why the government is about to start fingerprinting people to ration goods.

But why can't an oil-rich country even keep its stores stocked? Well, it's the price controls, stupid. They always and everywhere create shortages. Here's why they have done so in Venezuela.

1. The government is running a massive deficit, around 14 percent of GDP, that it's financing with the printing press. The problem, of course, is that money is worth less when you create more of it to pay your bills. So it's not surprising that Venezuela's inflation is officially 60 percent, and might actually be as high as 300 percent.

2. But the government thinks it can wish away this inflation with currency and price controls. Here's how they work (or don't). There's an official exchange rate of 6.3 bolivares per U.S. dollar that only the government and its cronies have access to. Then there's a second tier for the slightly less connected at 10 bolivares per dollar. A third one at 50 bolivares per dollar for those even more on the outside. And finally, there's the black market exchange rate—emphasis on the word "market"—that tells us it should really be something like 68 bolivares per dollar. In other words, political insiders can get dollars for ten times cheaper than almost everybody else.

Venezuela strictly controls prices, too. Everything from milk to sugar to, yes, toilet paper has an official price that stores aren't supposed to change. Of course, sometimes they do. But the Maduro regime has promised to inspect them even more closely to put an end to these market prices.

3. Now, anytime you try to suspend the law of supply and demand like this, you'll get shortages. Venezuela imports most of its basic goods, so it's only profitable to sell them at the official prices if you can buy them overseas with dollars you got at the official exchange rate. Businesses that have to pay 60 bolivares for one dollar aren't going to spend it on things the government will only let them sell for, say, 20 bolivares. They'll leave their shelves empty instead.

But it's even more perverse than that. The companies that are lucky (or corrupt) enough to get cheap dollars don't always use them on what they're supposed to. That's because they can make more money selling their subsidized dollars in the black currency market than they can make selling their subsidized goods at the official prices. So they'll fake invoices that show them importing what they said they would, and then flip some dollars for a quick profit—or maybe hoard them for a bigger profit later. That's why, as Francisco Toro puts it, Venezuela's "'butter importers' are no such thing" but are rather "currency arbitrageurs, with a loss-making side-business in butter imports."

In other words, it's not profitable for the unsubsidized companies to stock their shelves, and not profitable enough for the subsidized ones to do so, either. So the stores stay empty.

***

It's a reminder that you can't suspend the laws of economics. You can't print money to pay for things without creating inflation. And you can't stop that inflation just by saying you want it to. But not only will this magical thinking fail, it will also create new and even worse problems like shortages.

Capitalism is the worst economic system except for all the others.