B+
Overall grade
B-
Financial quality
The sleeper story everyone's missing: APG's vaunted 'disciplined project selection' is breaking down under growth pressure. Specialty Services delivered 13% organic growth but gross margins collapsed 350 basis points - exactly what discipline should prevent. Meanwhile, free cash flow conversion is quietly lagging at 40% while EBITDA accelerates 17%, forcing reliance on 'seasonal' H2 improvement to hit targets. The binding constraint isn't demand or backlog (record $4B+) - it's execution quality degrading as they chase growth. Becker's admission 'I'm sure we're not perfect. And I'm sure there's some gaps' on tariff protection reveals the cracks. My view changes if Specialty margins recover sequentially in Q3 as promised and free cash flow conversion normalizes above 60%.
The 30-second version
- Specialty Services margin collapse signals project selection breakdown
- M&A acceleration masks organic growth concerns while burning $250M annual commitment
- Cash flow from operations quietly lagging behind adjusted EBITDA growth
What changed this quarter
| Metric | Prior | This quarter |
|---|---|---|
| Net Revenue | $1.72B (+7.4% YoY) | $2.0B (+15% YoY) |
| Adjusted EBITDA | $192M (+10.3% YoY) | $274M (+17.7% YoY) |
| Safety Services Revenue | $1.27B (+13.4% YoY) | $1.36B (+15.8% YoY) |
| Safety Services Segment Margin | 15.7% (+90 bps YoY) | 17.0% (+80 bps YoY) |
| Specialty Services Revenue | $453M (-6.8% YoY) | $629M (+13.3% YoY) |
| Specialty Services Gross Margin | 16.8% (-150 bps YoY) | 18.1% (-350 bps YoY) |
| Specialty Services Segment Margin | 6.4% (-240 bps YoY) | 11.3% (-190 bps YoY) |
| Adjusted Free Cash Flow | $86M (45% conversion) | $186M H1 (40% conversion) |
Accountability tracked
7 new promises made4 narrative shifts flagged6 prior promises graded
Inside the full report
The complete write-up covers the full promise ledger with kept/missed calls, disclosure-quality scoring, the metrics-vanished check, verification items, and the questions to ask next quarter.
Subscribe to Call Sheet Daily →