Valuing Chipotle
A DCF and comparable companies analysis of Chipotle Mexican Grill (NYSE: CMG)
Chipotle was trading at $36.95 when I pulled the data. My base-case discounted cash flow model values it at $21.20 a share, and even my bull case only gets to $27.59. The comparable companies analysis gives a wide range that includes the market price.
So instead of focusing on one target price, I tried to answer a more useful question: what would you need to believe to pay $36.95?
| Summary | Per share |
|---|---|
| Market price | $36.95 |
| DCF, base case | $21.20 |
| DCF, bear to bull | $12.76 to $27.59 |
| Comparable companies range | $10.45 to $80.14 |
Approach
I valued the company two ways. The DCF projects five years of free cash flow, adds a terminal value, and discounts everything back at Chipotle's cost of capital. Every input is my own assumption, so the result depends on how reasonable those assumptions are.
The comparable companies analysis applies the trading multiples of six restaurant companies to Chipotle's financials. It relies on how the market currently prices the sector instead of on my forecasts. Using both gives a way to check one method against the other.
The DCF
Revenue grows 9.2% in 2026, in line with analyst consensus, then slows to 7.0% by 2030. Operating margin starts at 16.5% and rises to 17.5%, which stays inside Chipotle's range over the last four years. Capital spending is about 5% of revenue, mostly for new restaurants. The discount rate is 9.49%, and cash flows after 2030 grow at 3% a year.
| From enterprise value to share price | Amount |
|---|---|
| Present value of 2026 to 2030 cash flows | $6.12B |
| Present value of terminal value | $20.03B |
| Enterprise value | $26.14B |
| Plus net cash | $0.68B |
| Equity value | $26.82B |
| Shares outstanding | 1.265B |
| Value per share | $21.20 |
How I handled leases
Chipotle has no bonds or bank loans. The $5.42 billion of debt on its balance sheet is lease liabilities, because it rents almost all of its restaurants.
Rent is already subtracted before operating income, so the cost of those leases is already in the cash flows. If I also subtracted the lease liability as debt, I would be counting the same cost twice, which would take $4.28 off the value per share. I left leases out of net debt and treated the company as financed entirely by equity. That decision lives in one function:
src/dcf/equity_bridge.py
def net_debt(total_debt, cash, treat_leases_as_debt, lease_share_of_total_debt):
# For CMG, all reported debt is leases (lease_share_of_total_debt = 1.0).
if treat_leases_as_debt:
debt_in_bridge = total_debt
else:
debt_in_bridge = total_debt * (1.0 - lease_share_of_total_debt)
return debt_in_bridge - cash
With no debt in the capital structure, the discount rate is just the cost of equity from CAPM: a 4.8% risk-free rate plus a beta of 0.94 times a 5.0% equity risk premium, which comes to 9.49%.
Checking the terminal value
The terminal value is about 77% of the enterprise value, so I wanted to confirm it made sense. In the last forecast year, capital spending is 1.67 times depreciation. That looked high for a company growing 3% a year, so I checked what it implies.
After subtracting depreciation, net reinvestment is $384 million, or 16.2% of after-tax operating profit. Funding 3% growth with that much reinvestment implies an 18.5% return on new capital. That is reasonable for Chipotle, so I kept the assumption.
Scenarios
I also ran bear and bull cases. They change revenue growth, margins, and terminal growth but keep the same 9.49% discount rate.
Market price, $36.95
| Scenario | 2030 revenue | 2030 margin | Terminal growth | Value |
|---|---|---|---|---|
| Bear | $14.3B | 14.5% | 2.0% | $12.76 |
| Base | $18.0B | 17.5% | 3.0% | $21.20 |
| Bull | $20.5B | 19.0% | 3.5% | $27.59 |
Two results stood out. First, even the bull case is below the market price, and its 19.0% margin is already higher than anything Chipotle has reported. That suggests the market price has more to do with a lower discount rate than with better operating results.
Second, the bear case still earns a 10.6% return on new capital, which is above the 9.49% cost of capital. A tougher bear case would need returns to fall below the cost of capital.
Sensitivity
This table shows the value per share for different discount rates and terminal growth rates. The outlined cell is the base case.
Only one combination gets above $36.95: a 7.5% discount rate with 4.0% terminal growth. That needs a cost of equity about two points lower than CAPM gives and long-run growth faster than the economy, both at once.
Comparable companies
I picked six restaurant companies with business models similar to Chipotle's.
| Company | EV/Revenue | EV/EBITDA | P/E | Revenue growth |
|---|---|---|---|---|
| Sweetgreen | 1.51x | n/m | n/m | 3.8% |
| Shake Shack | 2.24x | 20.2x | 71.0x | 17.2% |
| Wingstop | 5.72x | 17.6x | 25.8x | 6.4% |
| Domino's | 3.23x | 15.9x | 19.0x | 4.3% |
| Yum! Brands | 6.18x | 17.6x | 18.8x | 12.2% |
| CAVA | 5.23x | 44.7x | 107.4x | 31.3% |
| Chipotle | 4.15x | 22.6x | 34.2x | 9.3% |
n/m means not meaningful. Sweetgreen has negative earnings and EBITDA.
Applying the peer multiples to Chipotle's numbers gives a range of $10.45 to $80.14, with the median multiples pointing to about $33. Chipotle's EV/EBITDA of 22.6x is higher than every peer except CAVA, which lines up with what the DCF shows.
I left Sweetgreen out of the P/E comparison because it loses money. The data source still reported a P/E of 77x for it, so I filtered on actual net income and earnings per share instead of trusting the ratio. Including it would have raised the peer median P/E from 25.8x to 48.4x. Without it, the median P/E implies $29.43 a share, close to the $29.28 from EV/EBITDA.
Limitations
- Six peers is a small group, so the comps range is a rough guide.
- The margin assumptions are the most uncertain part. Revenue is tied to analyst estimates for two years, but margins are based on history and my judgment.
- The bull case margin of 19.0% is higher than Chipotle has ever reached.
- Beta and EBITDA come from the data provider, not directly from filings, and can vary between sources.
How I built it
The model is written in Python using pandas and yfinance. All the assumptions are in one configuration file, so changing an input doesn't require touching the calculation code. For example:
config/assumptions.yaml
revenue_growth: [0.092, 0.100, 0.090, 0.080, 0.070] # FY2026-FY2030
operating_margin: [0.165, 0.168, 0.171, 0.173, 0.175]
tax_rate: 0.25
terminal_growth_rate: 0.030
Financial data is saved by the date it was pulled, so rerunning the model later produces the same numbers shown here. The project has 33 tests covering the calculations, and they run automatically on GitHub whenever the code changes. The tables and charts on this page come from the model's output.