OLD DOMINION FREIGHT LINE, INC. (ODFL) valuation

Share price $219.98 · Close 2026-04-24

Price-to-Earnings

P/E · Trailing Diluted
45.45×
P/E history →

Price-to-Free-Cash-Flow

P/FCF · Trailing
48.74×
P/FCF history →

Free-Cash-Flow Yield

FCF Yield · Trailing
2.05%
FCF Yield history →

Enterprise-Value-to-EBITDA

EV/EBITDA · Trailing
26.59×
EV/EBITDA history →

Price-to-Sales

P/S · Trailing
8.35×
P/S history →

Price-to-Book

P/B · Latest filing
10.64×
P/B history →

Expectations investing: what does the price imply?

Stress figure — scenario margin 77% above 3-yr max 28%

Rappaport-style reverse-DCF. We start from the current market price ($219.98 × 208.6M shares = $45.88B market cap, $45.88B enterprise value) and solve for the operating path that would justify it.

To reconcile today's price with a plausible scenario, the model lands on:

  • Year-1 revenue growth: 12.9%
    Source is analyst consensus of 2.9%; the scenario bumped Y1 by +10.0pp and still needed the margin band widened — both levers are at stretch.
  • Target EBIT margin (Y10): 76.5%
    Scenario lands on 76.5%, above the historical band (3-yr range 24.8%–28.0%). The reconciliation needs a margin the filer has not shown.
  • High-growth plateau: 3 years
    Tier default for Y2 at 8.7%.

at or below the reference above the reference outside the historical band

Where the PV comes from
Y1–3
-3%
Y4–10
-3%
Terminal
+106%

Share of the total PV the model has assigned to each window. The further out a cash flow sits, the harder it is to estimate — so readers can weigh how much of the scenario rests on the near, plateau, and post-horizon periods.

Facts · FY2025 (2025-12-31)

Share price
$219.98
Diluted shares
208.6M
Total debt
$121.4M
Cash & equivalents
$120.1M
Revenue
$5.50B
EBIT (GAAP)
$1.36B
EBIT margin (GAAP)
24.8%
Operating cash flow
$1.37B
CapEx
$415.0M
Observed YoY growth
-5.5%
Analyst current-FY growth
2.9%
Analyst next-FY growth
8.7%
3-year revenue CAGR
-4.2%

Assumptions

Initial revenue growth
2.9%
from analyst consensus
Year-2 growth
8.7%
from analyst next-FY consensus
Starting EBIT margin
24.8%
from latest FY EBIT margin (GAAP)
Tax rate
24.8%
from 3-year median of EffectiveTaxRate
Starting ROIC
23.7%
NOPAT₀ ÷ invested capital, capped at 40.0%

Constants

Horizon
10 years
WACC
9.0%
Terminal growth
2.5%
Terminal ROIC
11.0%

Yearly projection

Year Revenue Growth EBIT Margin NOPAT ROIC Reinvestment FCF Discount PV of FCF
1 $6.21B 12.9% $1.86B 29.9% $1.40B 22.5% $1.66B -$266.8M 0.917 -$244.7M
2 $7.37B 18.7% $2.59B 35.1% $1.95B 21.2% $2.59B -$640.9M 0.842 -$539.4M
3 $8.75B 18.7% $3.52B 40.3% $2.65B 19.9% $3.54B -$886.0M 0.772 -$684.2M
4 $10.18B 16.4% $4.63B 45.5% $3.48B 18.6% $4.46B -$973.9M 0.708 -$690.0M
5 $11.61B 14.1% $5.88B 50.6% $4.42B 17.4% $5.42B -$999.6M 0.650 -$649.7M
6 $12.98B 11.8% $7.24B 55.8% $5.45B 16.1% $6.37B -$921.3M 0.596 -$549.3M
7 $14.20B 9.4% $8.66B 61.0% $6.52B 14.8% $7.20B -$685.8M 0.547 -$375.2M
8 $15.22B 7.1% $10.07B 66.2% $7.57B 13.5% $7.80B -$228.0M 0.502 -$114.4M
9 $15.95B 4.8% $11.38B 71.3% $8.56B 12.3% $8.03B $529.6M 0.460 $243.8M
10 $16.35B 2.5% $12.51B 76.5% $9.41B 11.0% $7.73B $1.68B 0.422 $709.0M
Sum of PV of FCF (years 1-10) -$2.89B

Terminal value

NOPATN+1
$9.64B
ReinvestmentN+1
$2.14B
FCFN+1
$7.51B
Terminal value (undiscounted)
$115.47B
PV of terminal value
$48.77B
Gordon-growth: TV = FCFN+1 ÷ (WACC − g) = $7.51B ÷ (9.0% − 2.5%).

Equity bridge

PV of operating FCF -$2.89B
+ PV of terminal value $48.77B
= Enterprise value $45.88B
− Total debt $121.4M
+ Cash & equivalents $120.1M
= Equity value $45.88B
÷ Diluted shares 208.6M
= DCF PV / share $219.98
Market price $219.98
Reconciliation delta −0.0% (widened band)
Full calculation trail Click to expand — every number on this page derived step by step.

1 · Enterprise-value target (what the DCF must match)

Market cap   = price × diluted shares
             = $219.98 × 208.6M
             = $45.88B

EV target    = market cap + total debt − cash & equivalents
             = $45.88B + $121.4M − $120.1M
             = $45.88B
            

2 · Starting NOPAT (base year 0)

GAAP EBIT          = $1.36B   (24.8% of revenue)
× (1 − tax rate)  = × (1 − 24.8%) = × 0.7522
= NOPAT₀            = $1.02B
            

3 · Invested capital & starting ROIC

Invested capital = total debt + book equity − cash
                 = $121.4M + $4.31B − $120.1M
                 = $4.31B

Raw ROIC₀        = NOPAT₀ / Invested capital
                 = $1.02B / $4.31B
                 = 23.7%
(no cap applied; raw value is within the 40.0% ceiling)
            

4 · Growth path construction

Source       = analyst consensus: Y1 = 2.9%, Y2 = 8.7%
Clamp        = [2.5%, 60%] (no sub-terminal or 60%+ starts)
Plateau rate = 8.7% (Y2 — held from year 2 through end of plateau)
Tier         = 3 years (rule: plateau rate < 15% → 3y, < 25% → 5y, else 7y)
Plateau      = 3 years
Fade         = linear from effective Y2 to terminal 2.5% across the remaining 7 years

Effective Y1 growth after solver bumps = 12.9%
Effective Y2 growth after solver bumps = 18.7%
Growth by year:
  Y1 = 12.9%
  Y2 = 18.7%
  Y3 = 18.7%
  Y4 = 16.4%
  Y5 = 14.1%
  Y6 = 11.8%
  Y7 = 9.4%
  Y8 = 7.1%
  Y9 = 4.8%
  Y10 = 2.5%
            

5 · Margin path construction

Starting margin (Y0) = 24.8%   (source: latest FY EBIT margin (GAAP))
Target margin (Y10)  = 76.5%   (solver output, widened band)
Year-t margin        = starting + (target − starting) × (t / 10)
Margin by year:
  Y1 = 29.9%
  Y2 = 35.1%
  Y3 = 40.3%
  Y4 = 45.5%
  Y5 = 50.6%
  Y6 = 55.8%
  Y7 = 61.0%
  Y8 = 66.2%
  Y9 = 71.3%
  Y10 = 76.5%
            

6 · ROIC path construction

The capex heuristic compares latest-period CapEx ($415.0M) against the Normalized CapEx (3-yr mean) of $647.9M — mean of the last three annual CapEx values. When the latest is above 1.4× that mean and CapEx is at least 5% of revenue, we treat the filer as capital-intensive and mid-investment, hold ROIC flat for a 5-year harvest phase, and only then fade to terminal ROIC. The 3-yr mean does not feed the DCF directly — it only gates this flag.

Capex-heuristic inactive (latest CapEx 0.64× the 3-yr mean of $647.9M — below the 1.4× / 5%-of-revenue gates).
Fade from Y1: ROIC_t = ROIC₀ + (ROIC_terminal − ROIC₀) × (t / 10)
ROIC₀ = 23.7%; ROIC_terminal = 11.0%

ROIC by year:
  Y1 = 22.5%
  Y2 = 21.2%
  Y3 = 19.9%
  Y4 = 18.6%
  Y5 = 17.4%
  Y6 = 16.1%
  Y7 = 14.8%
  Y8 = 13.5%
  Y9 = 12.3%
  Y10 = 11.0%
            

7 · Solver iterations

Each row is one bisection attempt. The solver sweeps Y1 growth bumps 0pp → +20pp across the plateau ladder inside the normal margin bracket, then — if nothing reconciles — repeats the same sweep in a widened margin band ([-10%, 80%]). The first feasible attempt is the one the page uses. If no combination reconciles, the page shows the attempt whose PV sits closest to the target EV so both levers are balanced.

# Phase Plateau Y1 bump Solved margin PV(EV) vs target Feasible?
1 normal 3y +0pp 32.2% $17.42B −62.0% no
2 normal 3y +2pp 32.2% $18.67B −59.3% no
3 normal 3y +4pp 32.2% $20.02B −56.4% no
4 normal 3y +6pp 32.2% $21.49B −53.2% no
5 normal 3y +8pp 32.2% $23.08B −49.7% no
6 normal 3y +10pp 32.2% $24.80B −45.9% no
7 normal 3y +12pp 32.2% $26.67B −41.9% no
8 normal 3y +14pp 32.2% $28.70B −37.5% no
9 normal 3y +16pp 32.2% $30.88B −32.7% no
10 normal 3y +18pp 32.2% $33.25B −27.5% no
11 normal 3y +20pp 32.2% $35.80B −22.0% no
12 normal 5y +0pp 32.2% $17.93B −60.9% no
13 normal 5y +2pp 32.2% $19.41B −57.7% no
14 normal 5y +4pp 32.2% $21.04B −54.1% no
15 normal 5y +6pp 32.2% $22.83B −50.2% no
16 normal 5y +8pp 32.2% $24.81B −45.9% no
17 normal 5y +10pp 32.2% $26.98B −41.2% no
18 normal 5y +12pp 32.2% $29.36B −36.0% no
19 normal 5y +14pp 32.2% $31.97B −30.3% no
20 normal 5y +16pp 32.2% $34.84B −24.1% no
21 normal 5y +18pp 32.2% $37.97B −17.2% no
22 normal 5y +20pp 32.2% $41.40B −9.8% no
23 widened 3y +0pp 80.0% $31.29B −31.8% no
24 widened 3y +2pp 80.0% $34.01B −25.9% no
25 widened 3y +4pp 80.0% $36.97B −19.4% no
26 widened 3y +6pp 80.0% $40.20B −12.4% no
27 widened 3y +8pp 80.0% $43.72B −4.7% no
28 widened 3y +10pp 76.5% $45.88B −0.0% yes ✓

8 · Terminal value derivation

NOPAT_{N+1}         = NOPAT_{10} × (1 + g_terminal)
                    = $9.41B × (1 + 2.5%)
                    = $9.64B

ΔNOPAT              = NOPAT_{N+1} − NOPAT_{10}
                    = $235.2M
Reinvestment_{N+1}  = ΔNOPAT / ROIC_terminal
                    = $235.2M / 11.0%
                    = $2.14B

FCF_{N+1}           = NOPAT_{N+1} − Reinvestment_{N+1}
                    = $9.64B − $2.14B
                    = $7.51B

Terminal value (TV) = FCF_{N+1} / (WACC − g_terminal)
                    = $7.51B / (9.0% − 2.5%)
                    = $115.47B

PV(TV)              = TV / (1 + WACC)^10
                    = $115.47B / 2.367
                    = $48.77B
            

9 · Reconciliation check (DCF PV vs. the market)

This isn't a fair value — it's the inverse check. The solver built the scenario so that DCF PV reproduces the current enterprise value; if the normal bracket worked the delta below is ~0 by construction. A non-zero delta only appears when the solver fell through to the widened margin band.

Σ PV(FCF_1..10) = -$2.89B
+ PV(TV)          = $48.77B
= Enterprise value = $45.88B   (widened solve — may differ from EV target)
− Total debt      = $121.4M
+ Cash            = $120.1M
= Equity value    = $45.88B
÷ Diluted shares  = 208.6M
= DCF PV / share  = $219.98

Market price      = $219.98
Reconciliation Δ  = −0.0%   (widened band — residual gap the scenario could not close)
            
Open this scenario in the calculator →
Every input above is pre-filled; the calculator auto-runs and lets you override any assumption.

Every rule above — growth-source priority, plateau tiers, compound cap, solver ladder, flag colours — is documented on the expectations scenario methodology.

What these ratios mean & how they're built: see the valuation ratios glossary on the company-facts methodology page — per-ratio definitions and the exact us-gaap concepts behind each numerator and denominator.

Sources. Denominators come from SEC EDGAR XBRL filings for ODFL (CIK 0000878927); analyst growth forecasts come from analyst consensus. Share price is the latest split-adjusted close from our daily history (live quote as fallback). Per-share denominators are split-adjusted to today's share count.