While distributing this free software that interactively explains you the basic microeconomic theory of consumption, we shall briefly introduce you to its tenets, suggesting some easy experiment with the computer application. More importantly, we shall propose you the alternative approach for interpreting real consumers' choices that is taking growing consensus among economists.
The standard textbook model of consumer is an outstanding example of the neoclassical paradigm in economics : a hyper-rational agent maximises something by choosing an "optimal" bundle of things.
Here, the hyper-rational consumer maximises utility (i. e. an overall generic measure of well-being) by exhausting a given budget.
He has a pre-defined income to spend on - for simplicity's sake - two goods, called X and Y, respectively.
He could spend his entire income buying only X, thus purchasing a quantity of X equal to income divided by the price of X.
Let's take a numerical example that you find here in the animated graph and that you can replicate with the software: when his income is 50 and the Y price is 10, the consumer can purchase 5 units of Y (higher red point on Y axis).
If the graph is not animated, just reload this page or pass to a more modern Internet browser.
Or he could spend his entire income buying only X - the other good - thus purchasing a quantity of X equal to his income divided by the price of X. If X price is 6, the consumer can purchase at most 8.33 units of X (lower red point).
Or he can afford (at most) to buy any combination of quantities of X and Y that costs exactly as the income. These combinations give rise to the budget line you see between the two red points.
How to choose? Well, by having a consistent set of judgements about how much utility the consumer will enjoy by consuming each possible bundle of goods.
The typical well-behaved structure of utility of bundles is offered by indifference curves, i.e. all bundles giving the same level of utility to the consumer.
Here below you can see two indifference curves: the higher indifference curve is characterised by a higher level of utility.
Now, we should consider - at the same time - both the budget constraint (the budget line) and the utility structure (the indifference curves).
The optimal bundle of goods belongs to the highest possible indifference curve crossing the budget line.
The red point is the rational consumer's choice (the chosen bundle), since it maximises utility, given the budget constraint.
Everything sounds very logical and convincing - within the unrealistic setting offered by this kind of mathematics. The deductive style of this microeconomics in consumer theory takes very little care of empirical analysis and of any reasonably open experimentation. Still, let's now see some numerical examples of what we said.
Based on Hicksian approach to indifference curves and budget lines, this is a free software to draw economic graphs, diagrams, demand curves, singling out individual choices of (hyper)rational consumers choosing the optimal bundle. If you are a student, you can use as interactive exam preparation guide.
The program starts with a consumer having 50 as income and facing the price of some X good of 6 and the price of Y of 10.
The "Draw" button produce the graphical representation of the budget line, i.e. the quantities of X and Y that the consumer can afford exhausting his income.
Push it a first time: you are drawing the budget line and computing the value of its slope, equal - in absolute value - to the relative price of X to Y.
Increase income and re-draw the graph. The quantities on the budget line are systematically higher. No surprise.
Make more experiments varying income and prices. What
happens when you increase the price of X? See it on the screen rotations
and traslations and ask yourself the reasons.
As we said, the neoclassical approach uses "indifference curves" to represent the preferences of the consumer. By choosing an indifference curve type (instead of "none" - the default), you'll see - always with the button "Draw" - which combination of X and Y the consumer will optimally choose. For instance, by choosing the well-behaved Cobb-Douglas type you obtain (in the default position of income = 50, px = 6, py = 10) that the consumer buys 5.83 units of X and 1.5 units of Y. In this way he reaches a utility level (a general happiness) of 3.88.
You can see the effect of changes in income and prices on demanded quantities (so-called "income elasticity" and "price elasticity) and on utility by changing the input data.
In particular, an increase of income will normally boost both quantities of X and Y  - as well as the utility enjoyed.
Instead, the effect of price on demanded quantities shows that the increase of the price of X is a damage: utility falls and the quantity of X decreases as well. Try on the contrary to fix a (almost) zero price of X or Y: what does it occur? And what when X or Y are absolutely free? The optimal quantity goes to infinity... Since air is free, how much of it a human would inhale, according to this model?
Try now some systematic experiment. Keeping income at the same level, gradually increase the price of X, as it would happen maybe due to rising business costs. How does the quantity bought of X change? By collecting your observations, you'll get the demand function, linking the quantity purchased of a good with its price.
To see the computer do the same, click on the "Issues" Menu, on its line "Demand" - and the new "Draw" button - of course.
You'll find out - not surprisingly - that demand curves are negatively sloped, i.e. that an increase of price produces a fall in the quantity bought (try to modify both prices of X and Y to see the effect of general price level changes). If consumers are identical, this graph software generates the market demand curve.
Simmetrically, by keeping prices at the same level, changes in income give rise to the Engel curve, as you can see from the graph in the screen activated by the line "Engel's curve" in the "Issues" Menu.
The (indirect) link from income to utility - mediated by the optimally chosen bundle of goods - can be represented by the so-called "indirect utility function". The indirect utility function is the maximum utility attained with given prices and income.
You should first experiment in the basic screen by annotating the utility levels obtained at different levels of income, then draw more systematic curves in the new screen opened by the "Effects of income and prices on utility" line of the "Issues" Menu.
Now reflect: if an increase of income fosters utility whereas an increase of price depresses it - and everything is very precise - there should be the possibility of keeping the consumer exactly at the same level of utility by giving some additional amount of income to compensate for the price increase.
This is exactly the idea of the so-called "Hicksian compensation": the consumer is given sufficient income to reach his original utility level, the price increase notwithstanding.
Try out to compensate price changes with income movements or simply go to the "Substitution and income effects" screen accessible from the usual "Issues" Menu .
If you are new to these arguments, you'll need some weeks to understand all details and have a complete picture of the whole thing. But, then, come back again, because the story hasn't finished, yet.
How do you really choose in a supermarket, facing thousands of goods and brands?
Do you have a single figure (utility) attached to any good and any combination of quantities of every good, expressing your future enjoyment?
Is your choice completely independent from what others decide or what you have already at home?
Is your pocket empty when exiting? Do you exhaust always your budget?
Is what you chose "optimal" so that next time, given your unchanged income and the same prices, you'll choose exactly the same thing?
Many students at the end of the course in Microeconomics are very sceptical about the realism of the neoclassical theory, especially the part about consumers, since they have direct expericence of buying acts and they know how they choose. And they find no trace of high mathematics and optimisation procedures. They don't use computer software to compute optimal choces.
Evolutionary economics is the main competitor of the mainstream perspective in the micro-foundation of consumption. It has already reached some clear theoretical foundations as well as formal models (as this). It has been applied to choices in Point of Sales (such as these)
Here we present some very schematic comparison of the two approaches.
As you can see, there are many empirically testable differences that can be used to discriminate between the evolutionary economics consumer theory and the neoclassical one.
In short, with some simplifications, some would say that the textbook neoclassical rational consumer is stupid because ignores his own preferences' origins and dynamics, does not allow for experience during actual consumption to modify its judgement, can't express substantive reasons why he chose to buy (e.g. which needs will be fulfilled and whether in full or not), he buys every good (his only choice is quantity, not the same fact to buy) instead of selecting which good to buy and which not, does not search across different points of sale but think that the price is the same everywhere (established by the producer). Understanding the theory of consumer choice is easier for consumers than for scholars!
The neoclassical model of consumer, widely presented in standard textbooks as it is, does not represent the "unique game in town". The evolutionary paradigm, taking up many lessons from managerial marketing science, is offering an interesting alternative.
To see how it works, we offer you a first model with bounded rational consumers facing competiting goods. Consumers in the model follows alternatively three rules of behaviour. These rules are so common, that you can even check here to which group of consumer you belong (or not).
 Think for instance to Hal Varian "Intermediate Microeconomics: A Modern Approach", to Paul Samuelson "Economics", Pindyck and Rubinfeld "Microeconomics", Gregory Mankiw "Principles of Microeconomics", David Besanko and Ronald Braeutigam "Microeconomics" with a special reference to parts devoted to "Consumer behavior", "Consumer preferences", "Indifference maps", "Budget constraints", "Revealed Preferences". Flynn and McConnell "Microeconomics: Principles, Problems, and Policies" includes some elements of behavioral economics but just small bits, to suggest that it extends neoclassical theory rather than replacing it.
 The name mirrors the important Engel's Law, stating - in 1857 - that food expenditure rises less than proportionally at the increase of income (the rich spend for food a smaller percentage of his income than the poor).
To see data confirming even today the Engel's Law see here. The interesting fact is that a well-behaved Cobb-Douglas curves is in contrast with Engel's Law because it generates constant budget shares devoted to the different class of goods.