Custom Truck One Source, Inc. (CTOS)

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 '19: 194.3M Q2 '19: 257.1M Q3 '19: 255.5M Q4 '19: 264M Q1 '20: 284.3M Q2 '20: 289.9M Q3 '20: 296.7M Q4 '20: 302.7M Q1 '21: 299.3M Q2 '21: 605.9M Q3 '21: 894M Q4 '21: 1.2B Q1 '22: 1.5B Q2 '22: 1.4B Q3 '22: 1.4B Q4 '22: 1.6B Q1 '23: 1.7B Q2 '23: 1.8B Q3 '23: 1.8B Q4 '23: 1.9B Q1 '24: 1.8B Q2 '24: 1.8B Q3 '24: 1.8B Q4 '24: 1.8B Q1 '25: 1.8B Q2 '25: 1.9B Q3 '25: 1.9B Q4 '25: 1.9B Q1 '26: 2B Q2 '26: 2B Q2 '19 Q2 '20 Q2 '21 Q2 '22 Q2 '23 Q2 '24 Q2 '25 Q2 '26

Gross Profit TTM

0 200M 400M 600M Q4 '18: 81.6M Q1 '19: 81.9M Q2 '19: 83.2M Q3 '19: 84.3M Q4 '19: 86.5M Q1 '20: 87.6M Q2 '20: 83.3M Q3 '20: 77.7M Q4 '20: 76.4M Q1 '21: 75.3M Q2 '21: 105.6M Q3 '21: 155.2M Q4 '21: 210M Q1 '22: 274.3M Q2 '22: 310.4M Q3 '22: 333.3M Q4 '22: 383.7M Q1 '23: 408.9M Q2 '23: 436.8M Q3 '23: 455.8M Q4 '23: 454.3M Q1 '24: 435.3M Q2 '24: 414M Q3 '24: 398.6M Q4 '24: 390.3M Q1 '25: 385.1M Q2 '25: 398.4M Q3 '25: 407.3M Q4 '25: 411.9M Q1 '26: 429.4M Q2 '26: 450.9M Q2 '19 Q2 '20 Q2 '21 Q2 '22 Q2 '23 Q2 '24 Q2 '25 Q2 '26

Operating Income TTM

-60M 0 60M 120M 180M Q2 '18: -1.7M Q1 '19: 31.2M Q2 '19: 41.5M Q3 '19: 36.2M Q4 '19: 36M Q1 '20: 34.1M Q2 '20: 26.8M Q3 '20: 26.2M Q4 '20: 17.2M Q1 '21: 7.4M Q2 '21: -38.6M Q3 '21: -48.8M Q4 '21: -42M Q1 '22: -29.1M Q2 '22: 33.1M Q3 '22: 61.5M Q4 '22: 103.3M Q1 '23: 133.4M Q2 '23: 154.2M Q3 '23: 169.1M Q4 '23: 170.9M Q1 '24: 149.4M Q2 '24: 127.5M Q3 '24: 112.6M Q4 '24: 126.4M Q1 '25: 120.4M Q2 '25: 130.7M Q3 '25: 140.2M Q4 '25: 124.9M Q1 '26: 144M Q2 '26: 162.7M Q2 '19 Q2 '20 Q2 '21 Q2 '22 Q2 '23 Q2 '24 Q2 '25 Q2 '26

Net Income TTM

-210M -140M -70M 0 70M 140M 210M Q2 '18: -2.8M Q1 '19: -19.2M Q2 '19: -19.2M Q3 '19: -33.6M Q4 '19: -27.1M Q1 '20: -36.3M Q2 '20: -44M Q3 '20: -10.8M Q4 '20: -21.3M Q1 '21: -33.2M Q2 '21: -149.4M Q3 '21: -185.1M Q4 '21: -181.5M Q1 '22: -156.9M Q2 '22: -13.9M Q3 '22: 4.3M Q4 '22: 38.9M Q1 '23: 56M Q2 '23: 54M Q3 '23: 65.5M Q4 '23: 50.7M Q1 '24: 22.6M Q2 '24: -13.5M Q3 '24: -40.1M Q4 '24: -28.7M Q1 '25: -32.1M Q2 '25: -36M Q3 '25: -24.4M Q4 '25: -31.1M Q1 '26: -17.4M Q2 '26: 21.4M Q2 '19 Q2 '20 Q2 '21 Q2 '22 Q2 '23 Q2 '24 Q2 '25 Q2 '26

Cost of Revenue TTM

0 600M 1.2B 1.8B Q2 '19: 107.4M Q3 '19: 102.2M Q4 '19: 106.9M Q1 '20: 122.7M Q2 '20: 129.9M Q3 '20: 140.6M Q4 '20: 147.8M Q1 '21: 147.8M Q2 '21: 443.8M Q3 '21: 701.6M Q4 '21: 939.3M Q1 '22: 1.2B Q2 '22: 1.1B Q3 '22: 1.1B Q4 '22: 1.2B Q1 '23: 1.2B Q2 '23: 1.3B Q3 '23: 1.4B Q4 '23: 1.4B Q1 '24: 1.4B Q2 '24: 1.4B Q3 '24: 1.4B Q4 '24: 1.4B Q1 '25: 1.4B Q2 '25: 1.5B Q3 '25: 1.5B Q4 '25: 1.5B Q1 '26: 1.6B Q2 '26: 1.6B Q2 '19 Q2 '20 Q2 '21 Q2 '22 Q2 '23 Q2 '24 Q2 '25 Q2 '26

Operating Cash Flow TTM

-150M 0 150M 300M 450M Q2 '18: -1.6M Q3 '18: 5.2M Q4 '18: 41M Q1 '19: 45.5M Q2 '19: 47.1M Q3 '19: 36.1M Q4 '19: 18.8M Q1 '20: 12.1M Q2 '20: 33.3M Q3 '20: 32.9M Q4 '20: 42.8M Q1 '21: 33.6M Q2 '21: 80.4M Q3 '21: 140.7M Q4 '21: 138.9M Q1 '22: 121.2M Q2 '22: 60.3M Q3 '22: 30.5M Q4 '22: 46M Q1 '23: 79.6M Q2 '23: 66.2M Q3 '23: 38.9M Q4 '23: -30.9M Q1 '24: -49.2M Q2 '24: -6.4M Q3 '24: 11.8M Q4 '24: 122M Q1 '25: 192M Q2 '25: 279.9M Q3 '25: 344.9M Q4 '25: 310.1M Q1 '26: 278.3M Q2 '26: 196.9M Q4 '18 Q1 '20 Q2 '21 Q3 '22 Q4 '23 Q1 '25 Q2 '26

Free Cash Flow TTM

0 50M 100M 150M Q4 '20: 42M Q1 '21: 30.3M Q2 '21: 78.8M Q3 '21: 137.1M Q4 '20 Q1 '21 Q2 '21 Q3 '21

Operating cash flow minus capital expenditure.

Shares Outstanding Quarterly

0 90M 180M 270M Q3 '19: 39.9M Q1 '20: 49M Q2 '20: 49M Q3 '20: 49.3M Q1 '21: 48.6M Q2 '21: 243.8M Q3 '21: 244.3M Q1 '22: 247.1M Q2 '22: 248.6M Q3 '22: 247.7M Q1 '23: 247.1M Q2 '23: 247M Q3 '23: 246.6M Q1 '24: 240.4M Q2 '24: 239.7M Q3 '24: 234.4M Q1 '25: 228.3M Q2 '25: 226.5M Q3 '25: 226.6M Q1 '26: 226.6M Q2 '26: 229.7M Q2 '20 Q2 '21 Q2 '22 Q2 '23 Q2 '24 Q2 '25 Q2 '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

-1.50 -1.00 -0.50 0.00 0.50 1.00 1.50 Q2 '18: -0.02 Q1 '19: -0.62 Q2 '19: -0.89 Q3 '19: -1.17 Q4 '19: -0.95 Q1 '20: -0.97 Q2 '20: -0.99 Q3 '20: -0.23 Q4 '20: -0.43 Q1 '21: -0.67 Q2 '21: -0.93 Q3 '21: -1.32 Q4 '21: -0.75 Q1 '22: -0.19 Q2 '22: 0.39 Q3 '22: 0.46 Q4 '22: 0.16 Q1 '23: 0.23 Q2 '23: 0.23 Q3 '23: 0.28 Q4 '23: 0.22 Q1 '24: 0.10 Q2 '24: -0.05 Q3 '24: -0.16 Q4 '24: -0.12 Q1 '25: -0.14 Q2 '25: -0.17 Q3 '25: -0.13 Q4 '25: -0.14 Q1 '26: -0.08 Q2 '26: 0.10 Q2 '19 Q2 '20 Q2 '21 Q2 '22 Q2 '23 Q2 '24 Q2 '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.