OLD DOMINION FREIGHT LINE, INC. (ODFL)

Every figure below is the company's own, as filed. Nothing is estimated and nothing is smoothed — a period the filing does not support is left blank rather than drawn. Quarters are the company's own, counted from its financial year ending 12-31. Amounts in USD.

Revenue Annual

0 2.5B 5B 7.5B FY16: 3B FY17: 3.4B FY18: 4B FY19: 4.1B FY20: 4B FY21: 5.3B FY22: 6.3B FY23: 5.9B FY24: 5.8B FY25: 5.5B FY16 FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25

Gross Profit Annual

Nothing in this filer's XBRL supports this figure for the periods asked for, so there is nothing to draw. That is a gap in the filing, not a zero.

Operating Income Annual

0 700M 1.4B 2.1B FY16: 483.8M FY17: 575.9M FY18: 817.1M FY19: 818.7M FY20: 906.9M FY21: 1.4B FY22: 1.8B FY23: 1.6B FY24: 1.5B FY25: 1.4B FY16 FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25

Net Income Annual

0 500M 1B 1.5B FY16: 295.8M FY17: 463.8M FY18: 605.7M FY19: 615.5M FY20: 672.7M FY21: 1B FY22: 1.4B FY23: 1.2B FY24: 1.2B FY25: 1B FY16 FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25

Cost of Revenue Annual

Nothing in this filer's XBRL supports this figure for the periods asked for, so there is nothing to draw. That is a gap in the filing, not a zero.

Operating Cash Flow Annual

0 600M 1.2B 1.8B FY16: 565.6M FY17: 536.3M FY18: 900.1M FY19: 983.9M FY20: 933M FY21: 1.2B FY22: 1.7B FY23: 1.6B FY24: 1.7B FY25: 1.4B FY16 FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25

Free Cash Flow Annual

0 350M 700M 1.1B FY16: 147.6M FY17: 154.2M FY18: 311.8M FY19: 504.6M FY20: 707.9M FY21: 662.5M FY22: 916.4M FY23: 811.8M FY24: 888M FY25: 955.1M FY16 FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25

Operating cash flow minus capital expenditure.

Shares Outstanding Annual

0 80M 160M 240M FY16: 83.2M FY17: 82.4M FY18: 123M FY19: 120.6M FY20: 118.5M FY21: 116.4M FY22: 226.2M FY23: 220.2M FY24: 216.5M FY25: 211.6M FY16 FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25

Weighted average diluted, as the filer reports it for each period. An average cannot be added across periods, so this one is always shown per period the filer tagged rather than as a trailing year.

EPS TTM

0.00 4.00 8.00 12.00 Q3 '15: 3.53 Q4 '15: 3.57 Q1 '16: 3.56 Q2 '16: 3.54 Q3 '16: 3.58 Q4 '16: 3.56 Q1 '17: 3.64 Q2 '17: 3.85 Q3 '17: 4.06 Q4 '17: 5.62 Q1 '18: 6.15 Q2 '18: 6.95 Q3 '18: 7.83 Q4 '18: 7.39 Q1 '19: 7.16 Q2 '19: 6.61 Q3 '19: 5.86 Q4 '19: 5.71 Q1 '20: 5.72 Q2 '20: 5.53 Q3 '20: 5.87 Q4 '20: 5.68 Q1 '21: 6.27 Q2 '21: 7.33 Q3 '21: 8.09 Q4 '21: 8.89 Q1 '22: 9.79 Q2 '22: 10.78 Q3 '22: 11.67 Q4 '23: 5.63 Q1 '24: 5.68 Q2 '24: 5.83 Q3 '24: 5.72 Q4 '24: 5.48 Q1 '25: 5.33 Q2 '25: 5.12 Q3 '25: 4.97 Q4 '25: 4.84 Q1 '26: 4.79 Q2 '26: 5.20 Q3 '16 Q4 '17 Q1 '19 Q2 '20 Q3 '21 Q4 '23 Q1 '25 Q2 '26

The filer's own published earnings a share for each quarter, four quarters added up. The company page divides trailing net income by the share count instead, which lands within about 1% of this and is not the same sum, so the two are named differently rather than presented as one figure.