library(tidyverse)
ggplot() +
stat_function(fun = function(x1) 2/x1) +
labs(x = "x1", y = "x2")
5 Utility
For more information on these topics, see Varian Chapter 4: Utility.
5.1 Utility Functions
Utility is a concept used to describe preferences. A utility function \(u(x_1, x_2)\) assigns a numerical value to every possible consumption bundle, ensuring that more-preferred bundles receive higher values than less-preferred bundles. Geometrically, a utility function is just a way to label indifference curves, with larger numbers corresponding to more preferred bundles.
The crucial aspect of a utility function is its ability to rank bundles of goods in order of preference. The numerical difference between the utility values of two bundles is not significant. Therefore, if bundle \(A \succ B\) (A is preferred over B) and \(B \succ C\) (B is preferred over C), the following utility assignments for bundles \(A\), \(B\), and \(C\) are all valid:
Bundle | \(U_1\) | \(U_2\) | \(U_3\) |
---|---|---|---|
A | 3 | 17 | -1 |
B | 2 | 10 | -2 |
C | 1 | .002 | -3 |
These assignments show that the preference ordering (A over B, B over C) remains consistent, even though the actual number value of utility offered by each bundle differs.
5.2 Monotonic Transformations
Since the ranking of bundles is what matters in a utility function, there are infinite ways to assign utilities to bundles of goods for a given set of preferences. As long as the utility function maintains the same order of ranking among the bundles, it is considered valid.
In other words, if \(u(x_1, x_2)\) is a utility function that represents a given set of preferences, then any monotonic transformation of \(u\) would also be a valid way to describe the same preferences. A monotonic transformation changes one set of numbers into another while preserving their order. For example, adding 3 to each value is a monotonic transformation, so \(U_2\) would represent the same preferences as \(U_1\):
Bundle | \(U_1\) | \(U_2 = U_1 + 2\) |
---|---|---|
A | 3 | 5 |
B | 2 | 4 |
C | 1 | 3 |
It’s important to note that multiplying by a negative number reverses the ranking of bundles. Therefore, multiplication by a negative number is not a monotonic transformation.
The way to determine if a function is a monotonic transformation is to take the derivative: if it’s always positive, you have a monotonic transformation.
Examples:
- \(x + 2\) is a monotonic transformation because the derivative is 1, which is always positive:
\[\begin{align} f(x) &= x + 2\\ f'(x) &= 1 \end{align}\]
\(2x\) is a monotonic transformation because the derivative is 2, which is always positive: \[\begin{align} f(x) &= 2 x\\ f'(x) &= 2 \end{align}\]
Consider the natural log: \(f(x) = ln(x)\). It is only defined for \(x > 0\). The derivative is \(\frac{1}{x}\), which is always positive because \(x\) is always positive in the domain of \(f\). Therefore, the natural log is a monotonic transformation. \[\begin{align} f(x) &= ln(x)\\ f'(x) &= \frac{1}{x} \end{align}\]
5.3 Drawing Indifference Curves using Utility Functions
You can use utility functions to draw indifference curves. For example, take the utility function \(u(x_1, x_2) = x_1 x_2\). Remember that an indifference curve is defined by all the bundles \((x_1, x_2)\) such that the consumer is indifferent to all of them. So to figure out all the bundles with a utility of 2, we can do this:
\[x_1 x_2 = 2\]
Solve for \(x_2\) because it’s on the y-axis:
\[x_2 = \frac{2}{x_1}\]
And then plot that level curve using R:
Add the level curves for 1, 3, 4, and 5:
ggplot() +
stat_function(fun = function(x1) 1/x1, color = "red") +
stat_function(fun = function(x1) 2/x1, color = "orange") +
stat_function(fun = function(x1) 3/x1, color = "yellow") +
stat_function(fun = function(x1) 4/x1, color = "green") +
stat_function(fun = function(x1) 5/x1, color = "blue") +
labs(x = "x1", y = "x2")
5.4 Classwork 5
In chapter 4, we learned that if \(u(x_1, x_2)\) represents a set of preferences, any monotonic transformation of \(u\) represents the same preferences. To demonstrate this, use R to draw the level curves \(u = (1, 2, 3, 4, 5)\) for the utility function \(u(x_1, x_2) = x_1 x_2\). Then use R to draw the level curves \(u = (1, 4, 9, 16, 25)\) for the utility function \(v(x_1, x_2) = (u(x_1, x_2))^2 = x_1^2 x_2^2\). Why is the square a monotonic transformation in this case, but not in general?
Take the utility function \(u(x_1, x_2) = x_1 + x_2\). Use R to draw some of the level curves. This utility function represents (circle one: perfect substitutes/perfect complements/one bad and one good).
We learned that the Marginal Rate of Substitution measures the slope of an indifference curve, and it can be interpreted as the rate at which a consumer is just willing to substitute a small amount of good 2 (\(dx_2\)) for good 1 (\(dx_1\)), such that utility doesn’t change (\(du = 0\)). Consider the total differential \(du = \frac{\partial u(x_1, x_2)}{\partial x_1} dx_1 + \frac{\partial u(x_1, x_2)}{\partial x_2} dx_2\): this approximates how much \(u\) will change given a small change in \(x_1\) and a small change in \(x_2\). Let \(du\) = 0 and solve for \(\frac{dx_2}{dx_1}\) to get the formula for the marginal rate of substitution. You should get that the MRS can be calculated by the negative of the partial derivative of \(u\) with respect to \(x_1\) divided by the partial derivative of \(u\) with respect to \(x_2\).
Use the formula you derived in part c) to calculate the marginal rate of substitution for \(u(x_1, x_2) = x_1 + x_2\), and interpret that MRS. Then find the MRS for \(u(x_1, x_2) = x_1 x_2\) at bundles (1, 1), (10, 1), and (1, 10). Give an interpretation of all three of those MRS’s.