Old Dominion Freight Line (ODFL) Consolidated Net Income (2009 - 2026)
Old Dominion Freight Line (ODFL) recorded Consolidated Net Income of $350.6 million in Q2 2026, up 30.5% from $268.63 million a year earlier and up 47.2% from the prior quarter.
Old Dominion Freight Line (ODFL) Consolidated Net Income (2009 - 2026) Analysis & Trends
On a TTM basis, Old Dominion Freight Line's Consolidated Net Income came in at $1.09 billion as of Jun 30, 2026, down 0.5% year-over-year; for FY2025, it was $1.02 billion, down 13.7% from FY2024.
- Annual Consolidated Net Income has declined for three straight years, though with a five-year compound annual growth rate of 8.8% (FY2020 to FY2025).
- Across earlier years, Consolidated Net Income came in at $1.19 billion in FY2024 (-4.3%), $1.24 billion in FY2023 (-10.0%), $1.38 billion in FY2022 (+33.1%) and $1.03 billion in FY2021 (+53.8%).
- The Q2 2026 figure is the highest quarterly Consolidated Net Income since Q3 2022.
- On a year-over-year basis, Consolidated Net Income rose in 1 of the last eight quarters, with an average decline of 7.2%.
- Peak year-over-year performance for Consolidated Net Income in the last five years was growth of 50.4% in Q1 2022, against a decline of 22.3% in Q2 2023 at the low end.
- Per Business Quant, the preceding three quarters came in at $238.26 million (Q1 2026), $229.47 million (Q4 2025) and $270.95 million (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Consol Net Inc. (Qtr) |
|---|---|---|---|---|---|
| 1 | Union Pacific | 161.79 Bn | 156.31 Bn | - | 1.99 Bn |
| 2 | Csx | 86.21 Bn | 82.43 Bn | - | 1.00 Bn |
| 3 | Canadian Pacific Kansas City | 74.26 Bn | 73.97 Bn | - | 740.28 Mn |
| 4 | United Parcel Service | 70.36 Bn | 47.28 Bn | - | 604.00 Mn |
| 5 | Norfolk Southern | 69.74 Bn | 64.38 Bn | - | 734.00 Mn |
| 6 | Fedex | 67.91 Bn | 33.85 Bn | - | 1.60 Bn |
| 7 | Delta Air Lines | 55.33 Bn | 37.51 Bn | - | 1.60 Bn |
| 8 | Old Dominion Freight Line | 36.95 Bn | 36.21 Bn | - | 350.60 Mn |
| 9 | United Airlines Holdings | 36.28 Bn | -20.09 Bn | - | 805.00 Mn |
| 10 | Ryanair Holdings | 28.28 Bn | 12.29 Bn | 3.13 Bn | 625.00 Mn |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 350.60 Mn |
| Mar 31, 2026 | 238.26 Mn |
| Dec 31, 2025 | 229.47 Mn |
| Sep 30, 2025 | 270.95 Mn |
| Jun 30, 2025 | 268.63 Mn |
| Mar 31, 2025 | 254.66 Mn |
| Dec 31, 2024 | 263.14 Mn |
| Sep 30, 2024 | 308.58 Mn |
| Jun 30, 2024 | 322.05 Mn |
| Mar 31, 2024 | 292.30 Mn |
| Dec 31, 2023 | 322.82 Mn |
| Sep 30, 2023 | 339.29 Mn |
| Jun 30, 2023 | 292.36 Mn |
| Mar 31, 2023 | 285.04 Mn |
| Dec 31, 2022 | 323.93 Mn |
| Sep 30, 2022 | 377.40 Mn |
| Jun 30, 2022 | 376.08 Mn |
| Mar 31, 2022 | 299.75 Mn |
| Dec 31, 2021 | 278.81 Mn |
| Sep 30, 2021 | 286.63 Mn |
Old Dominion Freight Line Consolidated Net Income API
Pull this series into your own models, spreadsheets and apps with the Business Quant
Historical Metrics API. The request below matches the chart above — change the
frequency, period or values and it follows. Swap YOUR_API_KEY for your own key.
https://data.businessquant.com/historic?slug=consolidated-net-income&ticker=ODFL&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "consolidated-net-income", "ticker": "ODFL", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=consolidated-net-income&ticker=ODFL&period=max&api_key=YOUR_API_KEY");
const data = await res.json();