Most people have no number sense.
E.g. the Brian Williams on-air segment where he (and apparently his presumably college-educated staff) thought a $500 million campaign investment by Bloomberg meant he could give every American $1 million. That's not just a simple math error--it's a fundamental lack of numerical intuition about society-scale numbers. Prices are even more complex--a dynamic equilibrium between supply and demand. You can't get people to understand that. You might as well expect them to do jumping jacks while standing on their hands.
You can't lecture people about supply and demand. What you need is an electorate that has correctly aligned gut feelings. You need to socialize people from birth to understand that "if you build more, you'll get more; if you build less, you'll get less." You know how your dad says "there's no such thing as a free lunch?" You need to socialize people at that level.