Concrete Pumping Holdings, Inc. (BBCP)

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 10-31. Amounts in USD.

Revenue TTM

0 200M 400M 600M Q3 '21: 307.2M Q4 '21: 315.8M Q1 '22: 330.8M Q2 '22: 350.4M Q3 '22: 374.2M Q4 '22: 401.3M Q1 '23: 409.4M Q2 '23: 420.7M Q3 '23: 436.9M Q4 '23: 442.2M Q1 '24: 446.4M Q2 '24: 445.6M Q3 '24: 434.6M Q4 '24: 425.9M Q1 '25: 414.6M Q2 '25: 401.5M Q3 '25: 395.6M Q4 '25: 392.9M Q1 '26: 397M Q2 '26: 409.8M Q4 '21 Q3 '22 Q2 '23 Q1 '24 Q4 '24 Q3 '25 Q2 '26

Gross Profit TTM

0 70M 140M 210M Q3 '21: 135.9M Q4 '21: 137.7M Q1 '22: 142M Q2 '22: 147.6M Q3 '22: 152.3M Q4 '22: 163.6M Q1 '23: 165.9M Q2 '23: 170.5M Q3 '23: 178M Q4 '23: 178.3M Q1 '24: 175.2M Q2 '24: 173.5M Q3 '24: 168.5M Q4 '24: 165.8M Q1 '25: 163.8M Q2 '25: 158.2M Q3 '25: 154.1M Q4 '25: 151.1M Q1 '26: 151.8M Q2 '26: 156.9M Q4 '21 Q3 '22 Q2 '23 Q1 '24 Q4 '24 Q3 '25 Q2 '26

Operating Income TTM

0 25M 50M 75M Q3 '21: 30.7M Q4 '21: 38M Q1 '22: 38M Q2 '22: 41.6M Q3 '22: 43.5M Q4 '22: 50.1M Q1 '23: 52.1M Q2 '23: 55M Q3 '23: 60.4M Q4 '23: 61.5M Q1 '24: 53.5M Q2 '24: 52.3M Q3 '24: 49.4M Q4 '24: 49.3M Q1 '25: 51.4M Q2 '25: 47.6M Q3 '25: 43.9M Q4 '25: 41.5M Q1 '26: 42.6M Q2 '26: 46.3M Q4 '21 Q3 '22 Q2 '23 Q1 '24 Q4 '24 Q3 '25 Q2 '26

Net Income TTM

-30M -15M 0 15M 30M 45M Q3 '21: -21.2M Q4 '21: -15.1M Q1 '22: -1.6M Q2 '22: 15.2M Q3 '22: 23.6M Q4 '22: 28.7M Q1 '23: 34M Q2 '23: 33.6M Q3 '23: 30.9M Q4 '23: 31.8M Q1 '24: 21.5M Q2 '24: 18.9M Q3 '24: 16.2M Q4 '24: 16.2M Q1 '25: 17.4M Q2 '25: 14.3M Q3 '25: 10.5M Q4 '25: 6.4M Q1 '26: 6.6M Q2 '26: 9.1M Q4 '21 Q3 '22 Q2 '23 Q1 '24 Q4 '24 Q3 '25 Q2 '26

Cost of Revenue TTM

0 100M 200M 300M Q3 '21: 171.4M Q4 '21: 178.1M Q1 '22: 188.8M Q2 '22: 202.8M Q3 '22: 221.8M Q4 '22: 237.7M Q1 '23: 243.5M Q2 '23: 250.3M Q3 '23: 258.9M Q4 '23: 263.9M Q1 '24: 271.2M Q2 '24: 272.2M Q3 '24: 266.1M Q4 '24: 260M Q1 '25: 250.9M Q2 '25: 243.3M Q3 '25: 241.5M Q4 '25: 241.8M Q1 '26: 245.1M Q2 '26: 252.9M Q4 '21 Q3 '22 Q2 '23 Q1 '24 Q4 '24 Q3 '25 Q2 '26

Operating Cash Flow TTM

0 35M 70M 105M Q3 '21: 85.8M Q4 '21: 75.8M Q1 '22: 76.4M Q2 '22: 61M Q3 '22: 69.2M Q4 '22: 76.7M Q1 '23: 81.4M Q2 '23: 86.4M Q3 '23: 89.2M Q4 '23: 96.9M Q1 '24: 99.3M Q2 '24: 95.2M Q3 '24: 95.1M Q4 '24: 86.9M Q1 '25: 72.6M Q2 '25: 88.2M Q3 '25: 72.3M Q4 '25: 64.3M Q1 '26: 79.7M Q2 '26: 63M Q4 '21 Q3 '22 Q2 '23 Q1 '24 Q4 '24 Q3 '25 Q2 '26

Free Cash Flow TTM

-60M -40M -20M 0 20M 40M 60M Q3 '21: 48.6M Q4 '21: 13M Q1 '22: -12.3M Q2 '22: -45.4M Q3 '22: -40M Q4 '22: -25.2M Q1 '23: -2.2M Q2 '23: 10.1M Q3 '23: 25.1M Q4 '23: 42.4M Q1 '24: 44.1M Q2 '24: 46.7M Q3 '24: 46.3M Q4 '24: 43.1M Q1 '25: 40.7M Q2 '25: 53.7M Q3 '25: 31.7M Q4 '25: 17.5M Q1 '26: 29.2M Q2 '26: 16.1M Q4 '21 Q3 '22 Q2 '23 Q1 '24 Q4 '24 Q3 '25 Q2 '26

Operating cash flow minus capital expenditure.

Shares Outstanding Quarterly

0 20M 40M 60M Q1 '20: 52.6M Q2 '20: 52.8M Q3 '20: 52.8M Q1 '21: 53.1M Q2 '21: 53.5M Q3 '21: 54.5M Q1 '22: 54.7M Q2 '22: 54.8M Q3 '22: 57.3M Q1 '23: 54.5M Q2 '23: 54.2K Q3 '23: 54.1M Q1 '24: 53.3M Q2 '24: 54.4M Q3 '24: 53.8M Q1 '25: 53M Q2 '25: 52.7M Q3 '25: 51.9M Q1 '26: 51M Q2 '26: 51M 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 Q1 '20: -0.13 Q2 '20: -0.84 Q3 '20: -0.89 Q4 '20: -1.18 Q1 '21: -1.36 Q2 '21: -0.51 Q3 '21: -0.44 Q4 '21: -0.31 Q1 '22: -0.06 Q2 '22: 0.25 Q3 '22: 0.40 Q4 '22: 0.47 Q1 '23: 0.57 Q2 '24: 0.31 Q3 '24: 0.26 Q4 '24: 0.26 Q1 '25: 0.28 Q2 '26: 0.14 Q3 '20 Q2 '21 Q1 '22 Q4 '22 Q3 '24 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.