← Teaching

Social cost of carbon

1. What does “utility” mean?

Utility describes how much well-being Ruby gets from consumption ($), measured in utils. Her utility function, , translates that amount into utils.

Consumption , utility, marginal utility, and

Ruby beside her utility function

This is Ruby’s isoelastic utility function

Let be a common reference consumption. We measure her utility in utils using:

Curvature, (eta): how strongly marginal utility falls as consumption rises.

Isoelastic means “constant elasticity”: the same percentage increase in consumption produces the same percentage decrease in marginal utility, regardless of the starting consumption level. Here that elasticity is .

  • A 1% increase in consumption lowers marginal utility by approximately percent.
  • Example (): increasing Ruby’s consumption from $20,000 to $20,200 lowers the utils from her next dollar by about 1%.
  • Example (): Ruby derives the same utils from her next dollar at $20,000 and $20,200 of consumption.
Deriving marginal utility

Marginal utility tells us the utility gained or lost when consumption changes. 

So is the percentage fall in marginal utility for a 1% rise in consumption.

For a small consumption change, .

Utility: utils from the whole budget
Marginal utility: utils per extra $1,000

Why this matters for carbon: avoiding climate damage preserves consumption. To decide how much to spend on mitigation, the planner compares the utils preserved by preventing those losses with the utils people give up when they pay for mitigation. A dollar can buy different amounts of utility at different consumption levels, so comparing dollar amounts alone can miss that tradeoff. (This paragraph is important; really try to read and understand this; it's why we are doing this whole exercise).

From utility to dollars

Juno sitting and looking up happily, wearing her pink collar and green harness
Juno

Suppose a policy causes a small consumption gain for Juno and Ruby pays for it. They both have the same utility function and same . 

How many dollars could Ruby give up while the policy’s utility benefit still covers its utility cost? 

  • Benefit: Juno gets   dollars of consumption, which gives her approximately utils.
  • Cost: Ruby gives up dollars of consumption, which takes away approximately  of her utils.

Set the benefit equal to the cost and solve for Ruby’s maximum payment:

With our isoelastic utility function, the amount Ruby can give up per dollar of Juno’s consumption preserved is:

Example: with log utility, , let Juno consume $20,000 and Ruby $40,000. A marginal dollar for Juno produces twice the utils of a marginal dollar for Ruby. Preserving $1 of Juno’s consumption therefore offsets the utility cost of Ruby giving up about $2:

2. Deriving the social cost of carbon with a representative consumer

This is our population of  Rubys

We are going to take one Ruby from this population and follow her through two periods, one year apart. Every Ruby has the same income, spending, consumption, and emissions.

Ruby’s budget today → Ruby’s consumption tomorrow

Period 1 Earn, allocate, emit

Ruby, a golden Labrador, representing a person in period one
Income today

Ruby divides her income three ways:

Capital spending
Invest now for a payoff next period.
Mitigation spending
Spend now to reduce emissions.
Emissions today
Tonnes emitted by Ruby. More mitigation means fewer tonnes: .
Consumption today

Period 2 Receive the payoff and damage

The same Ruby, representing a person in period two
Income tomorrow

Her earlier choices change her outcomes tomorrow:

Capital pays off
Damages from all emissions to 1 Ruby
Her own emissions are ; everyone together emits . is a negative dollar amount: the loss of Ruby’s consumption in period 2. 
Consumption tomorrow

Why do total emissions enter Ruby’s personal budget?

Ruby personally emits tonnes. There are identical Rubys, so together they emit tonnes. In the equation for consumption tomorrow above, you can see that all emissions enter her budget constraint. This is to show that Ruby is affected by everyone’s emissions, not just her own. We scale all emissions by (phi).

The damage slope, : the change in one Ruby’s future consumption dollars caused by one extra tonne emitted by the whole population .

Example: if per Ruby per total tonne and the population emits 1,000 tonnes, Ruby loses $10. Every other Ruby also loses $10. 

Social planner problem: maximizing society’s welfare under externalities

Roadmap: It's easy to get lost in the next section; here I lay out what our goal is.

Ruby’s emissions reduce other Rubys’ future consumption as well as her own. If she chooses mitigation for herself alone, she does not count the damage her emissions cause to others; that harm is the externality. We would like to understand how much society should be willing to pay today to avoid one additional tonne. The social planner counts the damage to every Ruby and chooses capital and mitigation to maximize total welfare. At the first-best allocation, the cost of avoiding the next tonne equals the value, in today’s consumption dollars, of the damages it prevents. That marginal damage value is the social cost of carbon.

We will do the following:

  1. Write the social welfare problem (total welfare subject to budget constraints).
  2. We make two intertemporal decisions:1) Give up consumption today to invest and get a capital return tomorrow.2) Give up consumption today to mitigate and avoid climate damages tomorrow.We will solve the social welfare problem for the capital Euler condition and the mitigation Euler condition, which tell us what these tradeoffs are in math.
  3. Apply a discount factor to value the benefits tomorrow in step 2 in today's dollars.
  4. Express the mitigation tradeoff per tonne: divide the current-dollar cost and benefit of a small increase in mitigation by the additional tonnes of CO₂ it avoids.

Voilà! The social cost of carbon is the extra damage caused by one additional tonne of CO₂ emitted today, expressed in today’s consumption dollars. At the first-best allocation, the planner mitigates until the cost of avoiding the next tonne equals the damage it prevents: marginal abatement cost = SCC.

Additional relative to what? A specified baseline emissions path. Compare the damages along that path with damages along an otherwise identical path containing one extra tonne emitted today. The SCC values that change. In this model, dollar damages are linear in emissions, so future dollar damage per tonne is constant; the utility weights still depend on consumption.

Ruby and Juno keeping their eyes on a treat
It's important to keep our eye on the prize

Step 1: Writing the social welfare problem

Ruby gets utils now and next period. 

The social planner weighs the future utils by pure time preference and adds the same two-period utility across all Rubys:

Because all Rubys are identical, these per-person constraints are equivalent to every Ruby’s budget holding.

Solving the social welfare function: full Lagrangian derivation

The Lagrangian combines the welfare objective with the two budget constraints. The multipliers and will tell us the utility value of an extra dollar in each budget. For how Lagrangians work, see Boyd and Vandenberghe, Section 5.1 (Boyd teaches EE364a at Stanford!), and Northwestern’s Economic Applications of Lagrange Multipliers.

At an interior optimum, set the derivatives to zero:

Equation (1) says an extra dollar in each Ruby’s current budget is worth utils per Ruby, or utils across the population. That is . Equation (2) gives the same value for an extra dollar in each future budget, with future utils discounted; that is .

Capital: insert the values of from (1) and from (2) into (3). Then move the current utility cost to the other side and divide by :

Mitigation: insert the same values from (1) and (2) into (4), then perform the same rearrangement:

Why is the left side a cost? Increasing mitigation by takes dollars from current consumption. The utility change is approximately . Thus, is the utils lost per extra dollar spent.

On the right, every Ruby’s extra spending lowers total emissions by . Multiplying by the negative damage slope turns that emissions reduction into a gain in Ruby’s future consumption:

Step 2: The two Euler conditions

At an interior optimum, the utility cost of the next dollar spent equals its discounted utility benefit. Capital earns a future payoff; mitigation prevents future consumption losses.

Capital Euler equation: compare consuming a dollar today with investing it for tomorrow.

Mitigation Euler equation: compare consuming a dollar today with spending it to reduce emissions.

Step 3: What is a future consumption gain worth today?

The Euler conditions compare a utility cost today with a discounted utility benefit tomorrow. To express this tradeoff in today’s dollars, we need a common discount factor. We will apply it to the mitigation Euler equation and the capital Euler equation below.

Start with the “from utility to dollars” calculation in Section 1. There, we divided a utility benefit by the utils lost per dollar paid. Here the benefit arrives tomorrow, so first give it the time-preference weight . Suppose Ruby gains future dollars. What payment, , today would have the same welfare value?

Equate the weighted benefit and current cost, then solve for today’s dollar value:

The benefit is measured in utils. Today’s marginal utility, , is measured in utils per current dollar. Dividing the benefit by that quantity gives current dollars:

is the discount factor: multiply a future dollar gain by to get its value in current consumption dollars.

Consumption discount rate, : a rate that expresses the same discount factor as for one period.

From the mitigation Euler equation

Now apply this conversion to the mitigation choice in equation (6). An extra $1 of mitigation costs utils today. It protects future consumption dollars, worth discounted utils. The mitigation Euler condition sets these utility amounts equal at the optimum. Divide both by today’s utils per dollar to express both sides in current dollars:

The left side is now the $1 of consumption given up today. The right side is the current-dollar value of the future consumption that $1 protects. For example, if it protects $5 tomorrow and , its benefit is worth $1 today. Equation (8) says the cost and benefit of the next dollar are equal at the interior optimum. A benefit above $1 calls for more mitigation; a benefit below $1 calls for less.

From the capital Euler equation

The same conversion applies to capital equation (5). An extra $1 invested costs utils today and returns future dollars. Divide both utility amounts by to express them in current dollars. At the optimum, the $1 cost equals the discounted value of the capital payoff:

is the gross marginal payoff: future dollars returned by an extra current dollar of capital, including the principal. Its net return is . At an interior optimum in this model, that net return equals the consumption discount rate.

Step 4: From a dollar of mitigation to one tonne avoided

The SCC is measured in dollars per tonne. Equation (8) instead measures the benefit of an extra dollar of spending. To express that condition per tonne, divide by the number of tonnes the extra dollar avoids.

Because , the positive number is tonnes avoided per extra dollar. 

Because , the positive number is dollars lost by one Ruby per extra total tonne. Rewrite (8) using those positive quantities, then divide:

If $1 avoids 0.02 tonnes, avoiding a full tonne costs . Across all Rubys, spending and tonnes avoided both multiply by , so the cost per tonne is unchanged. On the benefit side, a tonne harms every Ruby, so its future dollar damage is .

3. Choosing the discount factor

The problem now is to choose a value for the discount factor. Section 2 gave us . Its final factor, , determines what future damage is worth in current consumption dollars:

Descriptive approach

Use the observed real return on another investment. The capital Euler condition gives the discount factor from its gross marginal payoff, :

Prescriptive Approach

Choose the welfare parameters and , forecast consumption growth, and use the Ramsey equation:

The Ramsey equation turns the discount factor we just derived into a consumption discount rate. We need a forecast of future consumption to evaluate . Consumption growth supplies that forecast (recall the assumption we made in class about consumption growth).

Consumption growth, : the proportional change in consumption between periods, . 

Substitute this definition and the marginal utility formula into the discount factor:

Prescriptive or Descriptive: why might they disagree?

The inputs are difficult to choose and measure. Prescriptive discounting requires judgments about and , plus a forecast of future consumption growth. Descriptive discounting requires a relevant real return: observed returns differ across assets, risks, and tax treatment, and market evidence rarely covers the centuries over which climate damages can occur. Those observed private tradeoffs may also differ from how a social planner chooses to value future generations. National Academies (2017), Chapter 6 discusses these measurement and valuation issues.

Our sliders let you choose returns, preferences, and growth independently, so they can describe an allocation that fails that condition.

What is $1 of future climate damage worth today?

4. Does the tonne damage a poorer country?

Hold the future dollar damage fixed. If it falls on a person with less consumption, preventing it saves more utils when . The SCC is therefore higher when the same dollar damage falls on a poorer recipient.

Suppose Ruby’s country pays for mitigation today. Juno’s country and Zahra’s country also experience damages.

The social planner values everyone’s utility equally, but cannot make transfers abroad (it cannot send money or consumption to people in other countries; it can help them here only by reducing emissions). Its SCC is expressed in country ’s current consumption dollars.

Deriving the country SCC, step by step

1. Count the utility cost and benefit. An extra dollar of mitigation per person in country costs current utils. It avoids total tonnes. For each avoided tonne, every person in country keeps future dollars, worth utils. Count all recipients and discount their utility:

2. Convert to current dollars. Cancel and divide by the payer’s utils per current dollar:

3. Express the tradeoff per tonne. Divide both sides by , the tonnes avoided per extra dollar. The bracketed benefit is the current-dollar value of avoiding one tonne:

4. Substitute isoelastic marginal utility. The common normalization cancels, leaving:

The equations above have one future period. For a loss years ahead, compound annual pure time preference as and use recipient consumption in that year, . This gives the formula below. The emitter’s population cancels because it scales both spending and tonnes avoided; each recipient’s population remains to count people affected.

Edit the future recipients
RecipientPopulation
million people
Future consumption
$1,000 per person

µ$/person/tonne
Build the total one country at a time
RecipientFuture damages
Consumption weight
Utility time factor
Contribution to SCC

Compare: the poorest recipient is damaged or spared

With the current damage table

With no damage to the poorest recipient

5. Which assumptions move the SCC? 

These plots hold the country table, payer consumption, and horizon fixed. The left varies curvature; the right varies pure time preference. A larger raises the weight on recipients poorer than the payer today and lowers the weight on richer recipients.

SCC as changes
SCC as changes

6. Papers that calculate the SCC—and papers that use it

If it's of interest, here are real papers that either calculate the social cost of carbon, or use a measure of it to characterize the costs and benefits of policies that affect carbon.

1. Calculating the SCC

  1. The Macroeconomic Impact of Climate Change: Global Versus Local Temperature

    Adrien Bilal and Diego R. Känzig (2026) · The Quarterly Journal of Economics · Working paper

  2. Comprehensive evidence implies a higher social cost of CO₂

    Rennert et al. (2022) · Nature

  3. Country-level social cost of carbon

    Ricke, Drouet, Caldeira, and Tavoni (2018) · Nature Climate Change

  4. Policies, projections, and the social cost of carbon: Results from the DICE-2023 model

    Barrage and Nordhaus (2024) · PNAS · Open PDF

  5. Optimal Taxes on Fossil Fuel in General Equilibrium

    Golosov, Hassler, Krusell, and Tsyvinski (2014) · Econometrica · Working paper

2. Using the SCC as an externality

  1. When Do “Nudges” Increase Welfare?

    Hunt Allcott, Daniel Cohen, William Morrison, and Dmitry Taubinsky (2025) · American Economic Review · Working paper

  2. A Welfare Analysis of Policies Impacting Climate Change

    Hahn, Hendren, Metcalfe, and Sprung-Keyser (2026) · American Economic Review · Working paper

  3. An Economic View of Corporate Social Impact

    Allcott, Montanari, Ozaltun, and Tan (2023, revised 2025) · NBER Working Paper 31803

  4. Economic Implications of the Climate Provisions of the Inflation Reduction Act

    Bistline, Mehrotra, and Wolfram (2023) · Brookings Papers on Economic Activity