UNIVERSAL LOGISTICS HOLDINGS, INC. (ULH)

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 Quarterly

0 200M 400M 600M Q4 '21: 467.4M Q2 '22: 523.9M Q3 '22: 527.2M Q4 '22: 505.7M Q4 '22: 458.7M Q2 '23: 437.4M Q3 '23: 412.6M Q3 '23: 421.3M Q4 '23: 390.9M Q1 '24: 491.9M Q2 '24: 462.2M Q3 '24: 426.8M Q4 '24: 465.1M Q1 '25: 382.4M Q2 '25: 393.8M Q3 '25: 396.8M Q3 '25: 396.8M Q4 '25: 385.4M Q2 '26: 367.6M Q3 '26: 379.3M Q2 '22 Q4 '22 Q3 '23 Q2 '24 Q1 '25 Q3 '25 Q3 '26

Gross Profit Quarterly

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 Quarterly

-120M -80M -40M 0 40M 80M 120M Q4 '21: 16.7M Q4 '21: 23.8M Q2 '22: 57.8M Q3 '22: 64.7M Q4 '22: 69.8M Q4 '22: 48.2M Q2 '23: 38.2M Q3 '23: 36.4M Q3 '23: 36.8M Q4 '23: 34.1M Q1 '24: 75.1M Q2 '24: 47.1M Q3 '24: 42.6M Q4 '24: 38.3M Q1 '25: 15.7M Q2 '25: 19.9M Q3 '25: -117.4M Q3 '25: -117.4M Q2 '26: 4.8M Q3 '26: 45.1M Q4 '21 Q4 '22 Q3 '23 Q1 '24 Q4 '24 Q3 '25 Q3 '26

Net Income Quarterly

-150M -100M -50M 0 50M 100M 150M Q4 '21: 10.3M Q4 '21: 16.2M Q2 '22: 42M Q3 '22: 44.7M Q4 '22: 48.5M Q4 '22: 33.4M Q2 '23: 24.9M Q3 '23: 23.6M Q3 '23: 23M Q4 '23: 21.4M Q1 '24: 52.5M Q2 '24: 30.7M Q3 '24: 26.5M Q4 '24: 20.2M Q1 '25: 6M Q2 '25: 8.3M Q3 '25: -117.9M Q4 '25: 3.7M Q2 '26: -3.5M Q3 '26: 26.2M Q4 '21 Q4 '22 Q3 '23 Q1 '24 Q4 '24 Q3 '25 Q3 '26

Cost of Revenue Quarterly

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 Quarterly

0 30M 60M 90M Q4 '21: 292K Q4 '21: 29.5M Q2 '22: 41.1M Q3 '22: 28.2M Q4 '22: 75.2M Q4 '22: 68.9M Q2 '23: 64.5M Q3 '23: 40.5M Q3 '23: 56.2M Q4 '23: 49M Q1 '24: 36.9M Q2 '24: 9.6M Q3 '24: 6.2M Q4 '24: 59.7M Q1 '25: 84.3M Q2 '25: 25.7M Q3 '25: 25.9M Q4 '25: 47.1M Q2 '26: 33.4M Q3 '26: 40.5M Q4 '21 Q4 '22 Q3 '23 Q1 '24 Q4 '24 Q3 '25 Q3 '26

Free Cash Flow Quarterly

-75M -50M -25M 0 25M 50M 75M Q4 '21: -9M Q4 '21: 16.9M Q2 '22: 35.1M Q3 '22: -3.3M Q4 '22: 26.9M Q4 '22: 37.6M Q2 '23: 33.1M Q3 '23: -8M Q3 '23: -56M Q4 '23: 582K Q1 '24: -31.7M Q2 '24: -67.6M Q3 '24: -58.9M Q4 '24: 18.9M Q1 '25: 31.7M Q2 '25: -58.5M Q3 '25: -28.6M Q4 '25: 14.3M Q2 '26: 23.8M Q3 '26: 27.1M Q4 '21 Q4 '22 Q3 '23 Q1 '24 Q4 '24 Q3 '25 Q3 '26

Operating cash flow minus capital expenditure.

Shares Outstanding Quarterly

0 10M 20M 30M Q4 '20: 26.9M Q4 '20: 26.9M Q2 '21: 26.9M Q3 '21: 26.9M Q4 '21: 26.9M Q4 '21: 26.9M Q2 '22: 26.9M Q3 '22: 26.5M Q4 '22: 26.3M Q2 '23: 26.3M Q3 '23: 26.3M Q3 '23: 26.3M Q1 '24: 26.3M Q2 '24: 26.4M Q3 '24: 26.4M Q1 '25: 26.3M Q2 '25: 26.3M Q3 '25: 26.3M Q2 '26: 26.4M Q3 '26: 26.4M Q4 '20 Q4 '21 Q3 '22 Q3 '23 Q2 '24 Q2 '25 Q3 '26

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

-5.00 -2.50 0.00 2.50 5.00 7.50 Q4 '20: 1.78 Q2 '21: 2.13 Q3 '21: 2.85 Q3 '22: 4.23 Q4 '22: 5.69 Q4 '22: 6.37 Q2 '23: 5.76 Q3 '23: 4.97 Q3 '23: 4.01 Q4 '23: 3.54 Q1 '24: 4.58 Q2 '24: 4.85 Q3 '24: 4.98 Q4 '24: 4.93 Q1 '25: 3.17 Q2 '25: 2.32 Q3 '25: -3.17 Q4 '25: -3.79 Q2 '26: -4.15 Q3 '26: -3.48 Q2 '21 Q4 '22 Q3 '23 Q1 '24 Q4 '24 Q3 '25 Q3 '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.