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 TTM

0 700M 1.4B 2.1B Q1 '11: 940M Q3 '12: 1.2B Q4 '14: 1.2B Q1 '15: 1.2B Q2 '15: 1.2B Q3 '15: 1.1B Q4 '15: 1.1B Q2 '16: 1.1B Q3 '16: 1.1B Q4 '16: 1.1B Q4 '16: 1.1B Q2 '17: 1.1B Q4 '17: 1.2B Q1 '18: 1.3B Q2 '18: 1.3B Q3 '18: 1.4B Q4 '18: 1.5B Q3 '19: 1.5B Q4 '19: 1.5B Q2 '20: 1.5B Q3 '20: 1.4B Q4 '20: 1.4B Q4 '20: 1.4B Q2 '21: 1.4B Q3 '21: 1.6B Q3 '22: 2B Q4 '22: 2B Q4 '22: 2B Q2 '23: 1.9B Q3 '23: 1.8B Q3 '23: 1.7B Q4 '23: 1.7B Q1 '24: 1.7B Q2 '24: 1.8B Q3 '24: 1.8B Q4 '24: 1.8B Q1 '25: 1.7B Q2 '25: 1.7B Q3 '25: 1.6B Q3 '26: 1.5B Q2 '15 Q4 '16 Q2 '18 Q2 '20 Q3 '21 Q3 '23 Q3 '24 Q3 '26

Gross Profit TTM

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 TTM

-90M 0 90M 180M 270M Q4 '10: 52.5M Q1 '11: 65.6M Q3 '12: 103.2M Q4 '14: 80.8M Q1 '15: 81.3M Q2 '15: 79.8M Q3 '15: 73.7M Q4 '15: 73.4M Q2 '16: 72.3M Q3 '16: 66.1M Q4 '16: 59.2M Q4 '16: 46.6M Q2 '17: 41.8M Q4 '17: 25.2M Q1 '18: 33.1M Q2 '18: 53M Q3 '18: 79M Q4 '18: 83.8M Q3 '19: 67.8M Q4 '19: 65.4M Q2 '20: 62.8M Q3 '20: 42.9M Q4 '20: 72.3M Q4 '20: 80.4M Q2 '21: 87.6M Q3 '21: 108.1M Q3 '22: 163M Q4 '22: 216M Q4 '22: 240.4M Q2 '23: 220.8M Q3 '23: 192.5M Q3 '23: 159.5M Q4 '23: 145.4M Q1 '24: 182.3M Q2 '24: 193M Q3 '24: 198.9M Q4 '24: 203.1M Q1 '25: 143.7M Q2 '25: 116.5M Q3 '25: -43.6M Q1 '15 Q3 '16 Q1 '18 Q4 '19 Q2 '21 Q2 '23 Q2 '24 Q3 '25

Net Income TTM

-120M -60M 0 60M 120M 180M Q1 '15: 45.4M Q2 '15: 45.1M Q3 '15: 41.2M Q4 '15: 40M Q2 '16: 39.3M Q3 '16: 35.1M Q4 '16: 30.8M Q4 '16: 24.2M Q2 '17: 21.1M Q4 '17: 28.2M Q1 '18: 34.3M Q2 '18: 49.2M Q3 '18: 67.6M Q4 '18: 52.2M Q3 '19: 37.9M Q4 '19: 37.6M Q2 '20: 32.5M Q3 '20: 18.6M Q4 '20: 40.6M Q4 '20: 48.1M Q2 '21: 57.6M Q3 '21: 77.1M Q4 '21: 73.8M Q3 '22: 113.2M Q4 '22: 151.4M Q4 '22: 168.6M Q2 '23: 151.5M Q3 '23: 130.4M Q3 '23: 104.9M Q4 '23: 92.9M Q1 '24: 120.5M Q2 '24: 127.7M Q3 '24: 131.1M Q4 '24: 129.9M Q1 '25: 83.5M Q2 '25: 61M Q3 '25: -83.4M Q4 '25: -99.9M Q2 '26: -109.4M Q3 '26: -91.5M Q2 '16 Q4 '17 Q3 '19 Q4 '20 Q4 '22 Q4 '23 Q1 '25 Q3 '26

Cost of Revenue TTM

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 TTM

0 90M 180M 270M Q4 '16: 90.8M Q4 '16: 68.6M Q2 '17: 56M Q3 '17: 69.6M Q3 '17: 78.1M Q4 '17: 83.8M Q1 '18: 74.1M Q2 '18: 80.2M Q3 '18: 87.3M Q4 '18: 94.9M Q1 '19: 126.6M Q2 '19: 143.4M Q3 '19: 153M Q4 '19: 128M Q2 '20: 105.4M Q3 '20: 144.6M Q4 '20: 73.8M Q4 '20: 99.3M Q2 '21: 117.3M Q3 '21: 44.4M Q4 '21: 75.3M Q4 '21: 83.3M Q2 '22: 81.3M Q3 '22: 99.1M Q4 '22: 174M Q4 '22: 213.4M Q2 '23: 236.8M Q3 '23: 249M Q3 '23: 230.1M Q4 '23: 210.2M Q1 '24: 182.6M Q2 '24: 151.7M Q3 '24: 101.7M Q4 '24: 112.4M Q1 '25: 159.8M Q2 '25: 176M Q3 '25: 195.7M Q4 '25: 183M Q2 '26: 132.1M Q3 '26: 146.9M Q3 '17 Q4 '18 Q2 '20 Q3 '21 Q4 '22 Q4 '23 Q1 '25 Q3 '26

Free Cash Flow TTM

-180M -120M -60M 0 60M 120M 180M Q4 '16: -777K Q4 '16: -28.7M Q2 '17: -22.9M Q3 '17: -15M Q3 '17: 12.7M Q4 '17: 20.5M Q1 '18: 21.1M Q2 '18: 18.5M Q3 '18: 16.4M Q4 '18: 28.3M Q1 '19: 56.5M Q2 '19: 83.3M Q3 '19: 79.8M Q4 '19: 48.3M Q2 '20: 3.7M Q3 '20: 47.6M Q4 '20: -18M Q4 '20: 8.6M Q2 '21: 54.4M Q3 '21: -20.9M Q4 '21: 31.2M Q4 '21: 44.4M Q2 '22: 41.3M Q3 '22: 39.7M Q4 '22: 75.6M Q4 '22: 96.3M Q2 '23: 94.4M Q3 '23: 89.7M Q3 '23: 6.7M Q4 '23: -30.3M Q1 '24: -95.1M Q2 '24: -154.7M Q3 '24: -157.6M Q4 '24: -139.2M Q1 '25: -75.8M Q2 '25: -66.8M Q3 '25: -36.5M Q4 '25: -41.1M Q2 '26: -49M Q3 '26: 36.7M Q3 '17 Q4 '18 Q2 '20 Q3 '21 Q4 '22 Q4 '23 Q1 '25 Q3 '26

Operating cash flow minus capital expenditure.

Shares Outstanding Quarterly

0 10M 20M 30M Q2 '16: 28.4M Q3 '16: 28.4M Q4 '16: 28.4M Q4 '16: 28.4M Q2 '17: 28.4M Q2 '17: 28.4M Q3 '17: 28.4M Q3 '17: 28.4M Q4 '17: 28.4M Q1 '18: 28.4M Q2 '18: 28.4M Q3 '18: 28.4M Q4 '18: 28.4M Q4 '18: 28.4M Q1 '19: 28.4M Q2 '19: 28.4M Q3 '19: 28.3M Q4 '19: 27.3M Q2 '20: 27.2M Q3 '20: 26.9M 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 Q2 '17 Q1 '18 Q1 '19 Q3 '20 Q4 '21 Q2 '23 Q3 '24 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 '14: 1.51 Q1 '15: 1.51 Q2 '15: 1.50 Q3 '15: 1.38 Q4 '15: 1.36 Q2 '16: 1.35 Q3 '16: 1.23 Q4 '16: 1.09 Q4 '16: 0.86 Q2 '17: 0.75 Q4 '17: 0.99 Q1 '18: 1.21 Q2 '18: 1.73 Q3 '18: 2.38 Q4 '18: 1.84 Q3 '19: 1.33 Q4 '19: 1.33 Q2 '20: 1.17 Q3 '20: 0.70 Q4 '20: 1.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 Q4 '15 Q2 '17 Q4 '18 Q4 '20 Q4 '22 Q4 '23 Q1 '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.