← All companies ← BBBY Manual BBIO → ← AMRC Construction & Engineering BBUC →
BBCP, Concrete Pumping Holdings Inc.
Concrete Pumping Holdings, Inc. is a Delaware corporation headquartered in Thornton, Colorado.
As of October 31, 2025, we operated a fleet of approximately 1,520 units of equipment, with approximately 1,530 employees and approximately 150 locations globally.
The business
What it sells, where the money comes from, the kind of company it is.
The business in brief
read the 10-K →What this business is and what moves its needle, from its own SEC filings.
- What moves the needle
- Gross margin has run about 37% and operating margin about 13% through the cycle, a solid spread between what it charges and what the product costs to make. The operating margin has swung widely — from −10% to 16% — on a steadier 37% gross margin, so what moves it sits below the gross line, in operating spend and one-off charges more than in the cost of the product itself. Capital spending runs about 13% of sales, well above depreciation, so the return earned on what it sinks into that plant weighs as much as the margin. On its own account, the filing leans hardest on customer concentration, set against the numbers in what the filing emphasizes, below.
- Is it a good business?
- Return on capital has rarely cleared the cost of capital (median 6%, above 15% in 1 of 6 years). By owner earnings: roughly 11% of revenue reaches owners as cash, consistently. This is price-taker territory, where the balance sheet and the cycle matter more than any multiple; the rest is in the 10-K.
Every line is arithmetic on the company's filings, shown in full in the sections below.
The record
Ten years of arithmetic, read across the cycle.
The record, 2018–2025
realized figures from each filing · older years to the left| 2018’18 | 2020’20 | 2021’21 | 2022’22 | 2023’23 | 2024’24 | 2025’25 | TTMTTMApr 2026 | |
|---|---|---|---|---|---|---|---|---|
| Income statement | ||||||||
| $243M | $304M | $316M | $377M | $411M | $391M | $356M | $372M | RevenueRevenue |
| 44% | 45% | 44% | 37% | 36% | 34% | 32% | 32% | Gross marginGross mgn |
| 24% | 37% | 31% | 30% | 28% | 30% | 31% | 30% | SG&A / revenueSG&A/rev |
| $40M | ($32M) | $38M | $50M | $61M | $49M | $42M | $46M | Operating incomeOp. inc. |
| 16.4% | −10.4% | 12.0% | 13.3% | 14.9% | 12.6% | 11.7% | 12.5% | Operating marginOp. mgn |
| $28M | ($61M) | ($15M) | $29M | $32M | $16M | $6M | $9M | Net incomeNet inc. |
| — | — | — | 16% | 22% | 33% | 37% | 35% | Effective tax rateTax rate |
| Cash flow & returns | ||||||||
| $40M | $79M | $76M | $77M | $97M | $87M | $64M | $63M | Operating cash flowOp. cash |
| $18M | $28M | $29M | $35M | $59M | $57M | $54M | $53M | DepreciationDeprec. |
| ($7M) | $101M | $56M | $8M | $3M | $11M | $2M | ($1M) | Working capital & otherWC & other |
| $32M | $39M | $63M | $102M | $55M | $44M | $47M | $47M | CapexCapex |
| 13.0% | 12.9% | 19.9% | 27.1% | 13.3% | 11.2% | 13.1% | 12.6% | Capex / revenueCapex/rev |
| $22M | $51M | $47M | $42M | $42M | $43M | $18M | $16M | Owner earningsOwner earn. |
| 9.0% | 16.7% | 14.9% | 11.1% | 10.3% | 11.0% | 4.9% | 4.3% | Owner earnings marginOE mgn |
| $8M | $40M | $13M | ($25M) | $42M | $43M | $18M | $16M | Free cash flowFCF |
| 3.2% | 13.0% | 4.1% | −6.7% | 10.3% | 11.0% | 4.9% | 4.3% | Free cash flow marginFCF mgn |
| — | — | — | — | — | $0 | $53M | $0 | Dividends paidDiv. paid |
| — | $131K | $330K | $4M | $11M | $10M | $14M | — | BuybacksBuybacks |
| 24% | -4% | — | 7% | 7% | 5% | 4% | 5% | ROICROIC |
| 568% | -23% | -6% | 10% | 10% | 5% | 2% | 3% | Return on equityROE |
| — | — | — | — | — | 5% | −18% | 3% | Retained to equityRetained/eq |
| Balance sheet | ||||||||
| $9M | $7M | $9M | $7M | $16M | $43M | $44M | $39M | Cash & investmentsCash+inv |
| $40M | $44M | $49M | $63M | $63M | $56M | $53M | $57M | ReceivablesReceiv. |
| $4M | $5M | $5M | $6M | $7M | $6M | $7M | $9M | InventoryInvent. |
| $5M | $7M | $11M | $8M | $9M | $8M | $6M | $15M | Accounts payablePayables |
| $39M | $42M | $43M | $60M | $61M | $55M | $54M | $51M | Operating working capitalOper. WC |
| $56M | $60M | $68M | $82M | $94M | $112M | $113M | $123M | Current assetsCur. assets |
| $96M | $62M | $48M | $110M | $84M | $56M | $52M | $71M | Current liabilitiesCur. liab. |
| 0.6× | 1.0× | 1.4× | 0.7× | 1.1× | 2.0× | 2.2× | 1.7× | Current ratioCurr. ratio |
| $0 | $223M | $225M | $220M | $222M | $223M | $224M | $224M | GoodwillGoodwill |
| $370M | $774M | $793M | $887M | $905M | $898M | $880M | $898M | Total assetsAssets |
| $173M | $344M | $369M | $370M | $372M | $373M | $418M | $418M | Total debtDebt |
| $165M | $337M | $360M | $363M | $356M | $330M | $373M | $380M | Net debt / (cash)Net debt |
| 1.9× | -0.9× | 1.5× | 1.9× | 2.2× | 1.9× | 1.3× | 1.4× | Interest coverageInt. cov. |
| $5M | $267M | $263M | $279M | $308M | $322M | $265M | $263M | Shareholders’ equityEquity |
| 0.1% | 3.8% | 2.1% | 1.3% | 0.9% | 0.6% | 0.6% | 0.7% | Stock comp / revenueSBC/rev |
| Per share | ||||||||
| 8.3M | 52.8M | 53.4M | 54.9M | 54.2M | 54.2M | 52.7M | 50.8M | Shares out (diluted)Shares |
| $29.21 | $5.77 | $5.91 | $6.87 | $7.59 | $7.22 | $6.76 | $7.33 | Revenue / shareRev/sh |
| $3.41 | $-1.16 | $-0.28 | $0.52 | $0.59 | $0.30 | $0.12 | $0.18 | EPS (diluted)EPS |
| $2.63 | $0.96 | $0.88 | $0.76 | $0.78 | $0.79 | $0.33 | $0.32 | Owner earnings / shareOE/sh |
| $0.95 | $0.75 | $0.24 | $-0.46 | $0.78 | $0.79 | $0.33 | $0.32 | Free cash flow / shareFCF/sh |
| — | — | — | — | — | $0.00 | $1.01 | $0.00 | Dividends / shareDiv/sh |
| $3.81 | $0.75 | $1.18 | $1.86 | $1.01 | $0.81 | $0.89 | $0.92 | Cap. spending / shareCapex/sh |
| $0.60 | $5.06 | $4.92 | $5.09 | $5.69 | $5.93 | $5.03 | $5.17 | Book value / shareBVPS |
The diluted share count moved ×6.34 into 2020 — shares issued, not a split the totals corroborate — and the per-share figures carry the counts as filed.
| 7-yr | 5-yr | |
|---|---|---|
| Revenue / share | −18.9%/yr | +3.2%/yr |
| Owner earnings / share | −25.6%/yr | −19.1%/yr |
| EPS | −37.9%/yr | — |
| Capital spending / share | −18.8%/yr | +3.6%/yr |
| Book value / share | +35.5%/yr | −0.1%/yr |
The record, charted
FY2018–2025Each measure over its full record; the current point and the worst year marked.
Owner earnings vs. net income
Owner earningsNet incomeThe accountant's number, and the cash an owner can take; the gap is the tell.
Where the cash went
ReinvestBuybacksDividendsAcquisitionsRetainedEach year's operating cash, by what management did with it: the mix, and how it drifts.
Net income is the accountant's number; owner earnings is the cash an owner could take out. The walk between them, off the cash-flow statement, and whether the gap is widening or holding.
In fiscal 2025 the business turned $6M of profit into $18M of owner earnings: more cash than the profit line showed, after the non-cash charges and the capital it put back in.
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | |
|---|---|---|---|---|---|
| Reported net income | $6M | $16M | $32M | $29M | ($15M) |
| Depreciation & amortizationnon-cash charge added back | +$54M | +$57M | +$59M | +$35M | +$29M |
| Stock-based compensationreal costnon-cash, but a real cost | +$2M | +$2M | +$4M | +$5M | +$7M |
| Working capital & othertiming of cash in and out, other non-cash items | +$2M | +$11M | +$3M | +$8M | +$56M |
| Cash from operations | $64M | $87M | $97M | $77M | $76M |
| Maintenance capital expenditurethe spending needed just to hold position and volume | −$47M | −$44M | −$55M | −$35M | −$29M |
| Owner earnings | $18M | $43M | $42M | $42M | $47M |
| Growth capital expenditurediscretionary; spent to get bigger, not to stand still | — | — | — | −$67M | −$34M |
| Free cash flow | $18M | $43M | $42M | ($25M) | $13M |
| Owner-earnings marginowner earnings ÷ revenue | 5% | 11% | 10% | 11% | 15% |
Owner earnings is the cash an owner could pull out without starving the business: operating cash less the capital it must spend to hold its position . The cash-flow statement also adds stock comp back as non-cash, but it is a real cost paid in shares; counted as the expense it is (less $2M), owner earnings is nearer $15M.
Maintenance capex is estimated as depreciation where a growing business invests above it; free cash flow is the figure the scorecard's free-cash margin reads.
Quality & stewardship
Returns, the balance sheet, capital allocation, and pay.
Owner’s Scorecard
Will it survive?
- ThinOperating income $42M ÷ interest expense $32M
What this means
Operating profit covers interest, but with little room. A bad year, a refinancing at higher rates, or a revenue wobble closes the gap fast.
- How heavy is the debt, net of cash? $373M · 9.0× operating profitHeavy net debtCash $44M − debt $418M
What this means
Netting $44M of cash and short-term investments against $418M of debt leaves $373M owed, about 9.0× a year's operating profit (10.1× on the gross debt, before the cash). Net debt is the leverage figure that matters: the cash is already set against the debt. Strategic or illiquid investments aren't counted here.
- TightDSO 54 + DIO 11 − DPO 9 days
What this means
Days cash is tied up between paying suppliers and collecting from customers. Lower is better; a long cycle means growth itself eats cash.
Is it a good business?
- Below average through the cycle6-yr median, range -4%–24%; 4% latest = NOPAT $26M ÷ invested capital $638MIndustry peers: median 11%
What this means
The rate the business earns on the money tied up in it, Buffett's north star, because over time a stock tracks the ROIC beneath it. Above ~15% sustained hints at a moat; a return below the cost of capital (~8%) erodes value as a business grows rather than building it — the test Buffett weighs most. The headline is the median of the last 6 years (it ran 4% most recently), so one peak or trough year doesn't set the verdict. Asset-light businesses (R&D expensed, little capital) read artificially high, pair this with Owner Earnings.
- Solid through the cycle7-yr median margin, range 5%–17%; latest $18M = operating cash $64M − maintenance capex $47MIndustry peers: median 3%
What this means
What an owner could take out without starving the business: operating cash less the maintenance capital it must spend to hold its position — Buffett's owner earnings. That's 5% of revenue this year, a 11% median across 7 years. Treating stock comp as the real expense it is (less $2M of SBC) leaves $15M.
- Are earnings backed by cash? 10.09×Cash-backedCash from ops $64M ÷ net income $6M
What this means
How much of reported profit showed up as operating cash. Above 1× is reassuring; well below suggests earnings lean on accruals. One year is noisy, growth and working-capital swings distort it, and this is operating cash, not free cash. Watch the multi-year trend.
How is the cash used?
- Returned more than it generatedDividends + buybacks $67M ÷ Owner Earnings $18M
What this means
The company returned more than it generated: against $18M of Owner Earnings, $67M (384%) went back to shareholders, $53M dividends, $14M buybacks — the excess came from the balance sheet or borrowing, not the year's operations. Net of $2M stock comp, the real buyback was about $12M. Sustained, that pattern draws down cash or adds debt; the net-debt line above shows where it stands.
- Investing or harvesting? 0.87×MaintainingCapex $47M ÷ depreciation $54M
What this means
Descriptive, not a grade. Above ~1× means investing faster than assets wear out (growth, or, sustained for years, today's earnings carrying less depreciation than tomorrow's will). Below means spending less than it's wearing out (efficiency, or a melting asset base). The ratio won't tell you which; the filings will.
Graham’s defensive tests · 1 of 5 met
Graham’s numerical criteria for the defensive investor (The Intelligent Investor, ch. 14), run on the filings. A floor of safety, not a buy signal; many fine modern businesses fail his strictest liquidity rules by design.
- Adequate size MissRevenue ≥ $2B · $356M
What this means
Big enough to weather a storm. Graham's 1972 floor was ~$100M of sales (≈ $700M today); we use a $2B revenue line as a conservative modern stand-in.
- Strong liquidity PassCurrent ratio ≥ 2× · 2.17×
What this means
Current assets at least twice current liabilities, near-term bills covered without touching the business. Strict by design: many cash-rich modern firms run leaner and miss it, holding their cushion in longer-dated securities.
- Conservative debt MissDebt ≤ working capital · $418M vs $61M WC
What this means
Graham's rule that borrowings not exceed net current assets. Capital-heavy and buyback-heavy firms routinely fail it, read it next to interest coverage, not alone.
- Earnings stability MissA profit every year (7-yr record) · 2 loss years
What this means
Graham wanted earnings in each of the past ten years, the stability a defensive owner leans on.
- Dividend record MissUninterrupted dividends · 1 of 7 yrs
What this means
An unbroken dividend was Graham's mark of durability. He wanted twenty years; the filings show about ten, and a single suspension breaks the streak. Non-payers, many fine modern compounders, fall outside his defensive net by design.
- Earnings growth —Earnings +33% over the record · —
What this means
Earnings were negative early in the record, a growth rate isn't meaningful.
- Moderate price —P/E ≤ 15 and P/E × P/B ≤ 22.5 · decided by the price
What this means
Graham's valuation gate, the wall he kept between a sound business and a sound investment. Three-year average earnings are $0.36/share (latest year $0.13), the averaged base the calculator's gate runs on, and book value is $5.25/share. Enter a price in “What the price implies” just below for the P/E, P/B, and whether it clears. But this is the rule Buffett outgrew: there's no hard P/E law, and a wonderful business can deserve a far richer multiple if the thesis holds, treat it as the bargain-hunter's floor, not a verdict on the price.
Durability & moat, 2018–2025
Whether the record’s returns held, and what the capital reinvested earned.
- Profitable years 5 of 7
What this means
Lost money in 2 year(s), look at what happened there before trusting the average.
- Return on capital ≥ 15% 1 of 7 yrs
What this means
A moat shows up as a high return on invested capital that holds year after year, not one good vintage.
- Operating margin 6% → 13% (3-yr avg ends)
In the filing’s words The record and the words agree: the margin widened and the filing attributes the gain to its own pricing, not volume alone.
What this means
Through the cycle the operating margin widened — about 6% early to 13% lately, median 13% — pricing power intact or improving.
- Reinvestment, incremental ROIC 11%
What this means
Reinvested capital came back at only a modest incremental return — near the cost of capital, where extra growth adds little per dollar. The record shows whether it is a soft stretch or a thinning moat.
- Owner earnings growth −3%/yr
What this means
Owner earnings shrank about 3% a year over the record.
- Worst year 2020 · −10.4% op. margin
What this means
Operations went underwater in 2020, understand why before trusting the good years.
- Dividend record paid
What this means
Paid a dividend in 1 of the years on record.
Does AI threaten the moat?
Low contestabilityThe moat is physical, regulated or balance-sheet-funded, the kind AI cuts costs within but does not contest.
The filing raises AI among its risks, but in other terms (security, regulation, energy or the like), not as a competitor to its product.
AI is unlikely to contest a moat that is physical, regulated or balance-sheet-funded; here it reads more as a cost tool than a threat.
Read from the filing's own risk factors, paired with the industry's structure under its SIC code; the durability is read above, the price below.
All figures as filed; the source filing is linked above.
Current Position
as of the latest quarter, Apr 30, 2026Can the business pay what it owes this year, off the freshest balance sheet: the quality of the assets, the debt actually coming due, and what a low ratio means here.
- Cash & short-term investments$39M
- Receivables$57M
- Inventory$9M
- Other current assets$19M
- Accounts payable$15M
- Other current liabilities$56M
From the company's latest filing.
How the cash was used, 2018–2025
Over the record, the business generated $519M of operating cash; how management split it reads as a reinvestor, most operating cash is plowed back into the business.
- Reinvested$381M · 73%
- Dividends$53M · 10%
- Buybacks$39M · 8%
- Retained (debt / cash)$46M · 9%
- Returned to owners$93M
35% of the owner earnings the business produced over the span, $53M as dividends and $39M as buybacks.
- Source of fundingOperating cash
Operating cash covered reinvestment and returns; over the span debt rose $245M and cash and short-term investments rose $30M.
- Average price paid for buybacks$7.91
Across the years where the filing reports a share count, 5M shares were bought for $39M, about $7.91 each. Year to year the price paid ranged from $6.50 (2025) to $10.16 (2024); its heaviest year, 2025, paid $6.50 ($14M).
- Net change in share count509.8%
The diluted count rose from 8M to 51M: issuance (stock pay, deals) outran any buybacks, so owners were diluted on net.
- Dividend record$1.01/sh
Paid in 1 of the years on record. It was never cut over the span.
Buybacks are gross of stock issued to staff; the share-count line above is the net of that, the figure that decides whether owners gained. The average price paid blends a year of purchases (and any accelerated repurchase), so it is close, not exact. The record of where the cash went and on what terms.
Acquisitions & goodwill
from the balance sheet & the 7-year cash-flow recordGoodwill grows only when a company acquires and falls only when it concedes it overpaid. The size of that bet, the cash put into buying rather than building, and how much has already been written off.
$53M written down across 1 year (2020): goodwill the company has already conceded it overpaid for, charged against earnings. A write-down costs no cash (the cash went out when the deal was signed), but it is management marking its own past judgment to market.
Goodwill, acquired intangibles and equity from the latest balance sheet; acquisition spend and write-downs summed across the 7-year record, from the company's own filings.
Management, ownership & pay
read the proxy →From the proxy: how much of the business the people running it own, and how they are paid, beside what the business earned for its owners in the same years.
| Fiscal year | Chief executive | Pay, as filed | “Actually paid” | Owner earnings |
|---|---|---|---|---|
| 2023 | Bruce Young | $998k | $1.3M | $42M |
| 2024 | Bruce Young | $1.6M | $815k | $43M |
| 2025 | Bruce Young | $1.7M | $1.1M | $18M |
Both pay figures are the company’s own, from the pay-versus-performance table its proxy statement files. “As filed” is the Summary Compensation Table total: salary, bonus, and equity awards at their value on the day of grant. “Actually paid” is the SEC’s prescribed recalculation, which re-marks those equity awards to what they became as they vested; it can swing far above or below the filed figure in either direction, and negative years occur. Owner earnings are the whole business's, from the record above, for the same fiscal years.
- Insider ownership28.2%
The stake all directors and executive officers hold together, per the 2026 proxy: skin in the game, the first thing Munger reads.
- Stock-based compensation$2M
The slice of the business handed to employees in shares this year, 1% of revenue, equal to 5% of operating profit. Buffett's oldest accounting fight: this is compensation, compensation is an expense, real whether or not the headline earnings admit it. One trap: the cash-flow statement adds SBC back, so the operating cash, and the owner earnings drawn from it, are flattered by exactly this amount; counted as the cost it is, what an owner keeps is lower.
Inverting the record
Invert: instead of why Concrete Pumping Holdings Inc. is a good business, the question is what would make owning it a mistake, and whether those marks are in the record. Disconfirming tests across 2018–2025.
3 of the 6 tests turned up something to look into; the other 3 came back clean.
- Look hereIs it less profitable than it was?8.7% vs 13.5%
The owner-earnings margin averaged 13.5% early in the record and 8.7% across the last three years, and the latest year has not recovered. Ask the filing whether that is a structural drift or a cyclical trough — price, mix, cost, or a competitor — and whether it is permanent.
- Look hereDid the share count rise anyway?509.8%
Diluted shares grew 509.8% over 2018–2025, even as the company spent $39M on buybacks. The repurchases were outrun by issuance — to staff, in a raise, or in a deal — and the filing says which; owners' slice still shrank. Read the buyback line beside this one, not on its own.
- Look hereDid debt outgrow the business?$173M → $418M
Debt rose from $173M to $418M while owner earnings went from about $40M to $34M — about 4.3 years of owner earnings in debt then, about 12 now: measured against what the business earns, the balance sheet carries more debt than it did. Debt raised for buybacks or deals rather than growth is the kind that bites in a downturn.
- Did reported profit become cash?
- Did receivables and inventory outpace sales?
- Are "one-time" charges a yearly habit?
Each test is read from the filings and is noisy alone; a flag can mark a cyclical trough or a year of heavy investment as easily as a problem. The filing says which.
What an owner would ask, FY2025
read the 10-K →- How much of the revenue rides on one buyer?≈$37M · 10% of revenue on the largest customers (TTM)
“In the U.S. and U.K. markets, we serve a large and diverse customer base and as of October 31, 2025, our top ten customers represented less than 10% of our total revenue and had an average tenure of more than 25 years.”verify →
The questions the record and the charts do not answer on their own; each carries the figure and the place to look.
Peers, Construction & Engineering
The same industry, side by side on owner economics. Each figure is a through-cycle median, so a peak or trough year can’t distort it; the group median at the foot is the line to read each against.
| Company | Revenue | Gross margin | Op. margin | ROIC | Owner earn. margin |
|---|---|---|---|---|---|
| BLDTopBuild | $5.4B | 28% | 13.4% | 12% | 9% |
| IESCIES Holdings Inc. | $3.4B | 19% | 4.0% | 17% | 3% |
| LGNLegence Corp. | $2.6B | 21% | 2.4% | — | 1% |
| AMRCAmeresco Inc. | $1.8B | 19% | 6.1% | 8% | -10% |
| AGXArgan Inc. | $945M | 17% | 8.9% | 29% | 19% |
| MTRXMatrix Service Company | $769M | 6% | -3.7% | -14% | 2% |
| LMBLimbach Holdings Inc. | $647M | 18% | 2.9% | 10% | 6% |
| BBCPConcrete Pumping Holdings Inc. | $356M | 37% | 12.6% | 6% | 11% |
| Group median | — | 19% | 5.1% | 10% | 4% |
The price
What a price has to assume.
What the price implies
reverse-DCFType today's close and see the owner-earnings growth you'd have to believe to justify it, beside what Concrete Pumping Holdings Inc. has delivered.
Through the cycle, Concrete Pumping Holdings Inc. earns about $39M on its 11.0% median owner-earnings margin. This year’s 4.9% margin runs below that; the reported figure may understate a lean year. Normalize, below, values the price on that through-cycle figure rather than the latest year.
—
9.0% = the 4.55% 10-year Treasury (Jul 15, 2026) + 4.45 points of equity premium. The rate you require is yours to set.
Enter a price above to run it.
A dated snapshot of the price you typed, the assumptions you set, and what the page showed for them. A snapshot is never edited after it is saved. Your notebook is yours alone — the commitment states what is stored and what we will never do.
Graham capped the multiple at 15×; Buffett and Munger let that rule go: a wonderful business can deserve 50× if the thesis holds. The gate marks the bargain-hunter's floor.
Prefilled with the 10-year Treasury (4.55%, as of Jul 15, 2026). Edit it for today’s exact figure, or a AAA corporate yield.
Graham measured a stock against the bond you could own instead, the heart of his margin of safety. Enter a price above to weigh the owner-earnings yield against this bond.
Owner earnings $16M on 50M shares outstanding, per the 10-Q cover, as of 2026-05-29; net debt $380M. The base is the latest year by default; Normalize values it on the through-cycle median owner-earnings margin (to avoid paying on a peak year). Net of stock comp treats option pay as the expense it is. The dials set the multiple a growth belief justifies; the price, and every dollar on this page, is yours.
Manual order: ← BBBY its page in the Manual BBIO →
Industry order: ← AMRC the Construction & Engineering chapter BBUC →