Old Dominion Freight Line (ODFL) Operating Expenses (2009 - 2026)
Old Dominion Freight Line (ODFL) posted Operating Expenses of $1.09 billion for Q2 2026, up 3.7% from $1.05 billion a year earlier and up 7.0% from the prior quarter.
Old Dominion Freight Line (ODFL) Operating Expenses (2009 - 2026) Analysis & Trends
For the trailing twelve months through Jun 30, 2026, Operating Expenses at Old Dominion Freight Line was $4.15 billion, down 1.2% year-over-year; for FY2025, it was $4.14 billion, down 3.2% from FY2024.
- Annual Operating Expenses shows a five-year compound annual growth rate of 5.9% (FY2020 to FY2025).
- In prior years, Old Dominion Freight Line's Operating Expenses was $4.27 billion in FY2024 (+1.1%), $4.23 billion in FY2023 (-4.4%), $4.42 billion in FY2022 (+14.4%) and $3.86 billion in FY2021 (+24.3%).
- The Q2 2026 figure stands as the highest quarterly Operating Expenses since Q3 2022.
- On a year-over-year basis, Operating Expenses increased in 1 of the last eight quarters, with an average decline of 1.6%.
- The strongest year-over-year quarter for Operating Expenses in the past five years was Q3 2021, with growth of 29.0%; the weakest was Q2 2023, with a decline of 11.8%.
- According to Business Quant data, Operating Expenses for the three prior quarters was $1.02 billion (Q1 2026), $1 billion (Q4 2025) and $1.05 billion (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Opex (Qtr) |
|---|---|---|---|---|---|
| 1 | Union Pacific | 162.83 Bn | 157.35 Bn | - | 4.10 Bn |
| 2 | Csx | 86.94 Bn | 83.15 Bn | - | 2.43 Bn |
| 3 | Canadian Pacific Kansas City | 76.07 Bn | 75.78 Bn | - | 1.95 Bn |
| 4 | United Parcel Service | 70.39 Bn | 47.31 Bn | - | 21.90 Bn |
| 5 | Norfolk Southern | 70.35 Bn | 64.99 Bn | - | 2.34 Bn |
| 6 | Fedex | 68.01 Bn | 33.95 Bn | - | 23.46 Bn |
| 7 | Delta Air Lines | 55.83 Bn | 38.01 Bn | - | 17.89 Bn |
| 8 | Old Dominion Freight Line | 36.82 Bn | 36.08 Bn | - | 1.09 Bn |
| 9 | Ryanair Holdings | 28.96 Bn | 12.97 Bn | 3.13 Bn | 4.43 Bn |
| 10 | Copart | 25.14 Bn | 9.56 Bn | 645.66 Mn | 783.54 Mn |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 1.09 Bn |
| Mar 31, 2026 | 1.02 Bn |
| Dec 31, 2025 | 1.00 Bn |
| Sep 30, 2025 | 1.05 Bn |
| Jun 30, 2025 | 1.05 Bn |
| Mar 31, 2025 | 1.04 Bn |
| Dec 31, 2024 | 1.05 Bn |
| Sep 30, 2024 | 1.07 Bn |
| Jun 30, 2024 | 1.08 Bn |
| Mar 31, 2024 | 1.07 Bn |
| Dec 31, 2023 | 1.07 Bn |
| Sep 30, 2023 | 1.07 Bn |
| Jun 30, 2023 | 1.02 Bn |
| Mar 31, 2023 | 1.06 Bn |
| Dec 31, 2022 | 1.06 Bn |
| Sep 30, 2022 | 1.11 Bn |
| Jun 30, 2022 | 1.16 Bn |
| Mar 31, 2022 | 1.09 Bn |
| Dec 31, 2021 | 1.04 Bn |
| Sep 30, 2021 | 1.02 Bn |
Old Dominion Freight Line Operating Expenses 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=operating-expenses&ticker=ODFL&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "operating-expenses", "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=operating-expenses&ticker=ODFL&period=max&api_key=YOUR_API_KEY");
const data = await res.json();