The concepts of supply and demand as economists understand them are thousands of years old, but were only formalized in 1767 by the Scottish writer James Denham-Steuart in his Inquiry into the Principles of Political Economy (Wikipedia). Denham-Steuart and his contemporaries understood supply and demand as a theory of pricing; that is, as a mechanism for establishing the price of goods in an economy. It was not, however, a particularly strong starting point for a general theory of pricing for two reasons:
- The assumptions (the discrete Law of Supply and the discrete Law of Demand) tend to fall apart in the face of empirical data; and
- It is impossible to use supply and demand to explain relative pricing — as, in the famous example, the price of diamonds compared to the price of water.
These failures prompt metaphysical questions about the nature of value — which to my mind are inherently irresolvable.
I would begin a theory of pricing with the observation that those things which are necessary to human life and happiness tend to have low prices. The mechanism which causes this condition eludes me, although I can speculate that if those necessary things had consistently high prices social revolt would occur. Moreover, I note from experience that wherever people gather in abundance, the necessities of life and happiness tend to be abundant, too, and readily accessible to all by some means (trade, theft and charity being the major categories).
Thus, to form a theory of prices I would take these circumstances as given to make the general rule: That which is necessary to human life and happiness will tend to be of low price and that which is not necessary but nevertheless desired will tend to be of high price.
Beyond this observation — which is a testable hypothesis — I recommend that the quantity theory of money is the proper basis for a general theory of prices. That is, the anthropology of pricing satisfies one part of the puzzle of pricing, whereas the mathematics of money satisfies the remainder. I doubt that more is needed.