Skip to content

Canvas: Compensating Variation (CV) and Equivalent Variation (EV) visualisation #18

@yueswater

Description

@yueswater

Overview

Visualise Compensating Variation (CV) and Equivalent Variation (EV) — the two welfare measures for a price change — on the indifference map.

Background (MWG Ch. 3.I)

Given a price change from $p_x^0$ to $p_x^1$ (holding $p_y$ and $I$ fixed):

$$\text{CV} = e(p_x^1, p_y, U^0) - e(p_x^0, p_y, U^0) = I - e(p_x^1, p_y, U^0)$$

$$\text{EV} = e(p_x^1, p_y, U^1) - e(p_x^0, p_y, U^1) = e(p_x^0, p_y, U^1) - I$$

where $U^0 = V(p_x^0, p_y, I)$ and $U^1 = V(p_x^1, p_y, I)$.

Interpretation:

  • $\text{CV}$: income the consumer would give up (price decrease) or must receive (price increase) to remain at $U^0$ after the price change.
  • $\text{EV}$: income change at old prices that yields the same welfare as the price change.

Proposed visualisation

  1. Draw the original budget line $B^0$ and the optimum $A$ on $U^0$.
  2. Draw the new budget line $B^1$ (after price change) and the new optimum $C$ on $U^1$.
  3. Draw a compensated budget line (slope of $B^1$, tangent to $U^0$) — the vertical gap between $B^0$ and this line at $x = 0$ is $\text{CV}$.
  4. Draw an equivalent budget line (slope of $B^0$, tangent to $U^1$) — the vertical gap is $\text{EV}$.
  5. Annotate the two income gaps on the $y$-axis as $\text{CV}$ and $\text{EV}$ brackets.

API sketch

canvas.plot_cv_ev(model, px0=2.0, px1=3.0, py=2.0, income=60.0)
# Returns a WelfareResult(CV=..., EV=..., delta_CS=...)

Relationship with consumer surplus

For small price changes, $\text{EV} \geq \Delta CS \geq \text{CV}$ (MWG Prop. 3.I.1). The method should optionally overlay $\Delta CS$ for comparison.

Tasks

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions