Constellation Software is a Toronto-listed serial acquirer of vertical-market software (VMS) — niche, mission-critical applications that run specific industries (from car dealerships and marinas to public transit and utilities). Rather than build one product, it buys hundreds of small, sticky software businesses and runs them permanently within decentralised operating groups (Volaris, Harris, Jonas, Vela, Perseus, Topicus). Its edge is a disciplined, high-return capital-allocation engine: recurring maintenance revenue funds a relentless stream of small acquisitions bought at strict return hurdles, compounded over decades under founder-chairman Mark Leonard's template. For a reader, think of it as a software-focused Berkshire Hathaway — a holding company whose product is capital deployment into thousands of little monopolies, prized for durability and reinvestment rather than a single blockbuster app.
Lifecycle: Mature compounder / serial acquirer. Constellation is a diversified holding company for hundreds of vertical-market software businesses. Revenue grew ~20% YoY (TTM revenue ~US$12.1B), almost entirely acquisition-fed on top of a large, sticky base of recurring maintenance and SaaS revenue. Because the value engine is capital deployment, the right quality lens is ROIC, capital-allocation discipline, and the durability of the reinvestment runway — not a single-product growth rate.
| Sub-signal | Reading | Score |
|---|---|---|
| Revenue trajectory | ~+20% YoY (Q1-26 rev US$3.18B); acquisition-led, layered on recurring maintenance/SaaS. Organic growth mid-single-digit — the compounding is reinvestment, not price. | ["82","metric-good"] |
| Profitability & cash conversion | Operating margin ~14% (GAAP, after heavy intangible amortization); cash earnings far higher. TTM FCF ~US$2.75B (~C$3.85B) — FCF > reported net income, the mark of a cash compounder. | ["85","metric-good"] |
| Balance-sheet health | Net debt ~C$3.6B on ~C$4.1B EBITDA (<1x). Structural negative working capital (deferred revenue) funds acquisitions. Low leverage for the cash it throws off. | ["80","metric-good"] |
| ROIC & capital allocation | The crown jewel. Decades of high-teens/20%+ after-tax ROIC on deployed capital under a strict hurdle-rate template; hundreds of small, accretive tuck-ins per year (Derbysoft, Anook and others closed in 2026). Founder-led (Mark Leonard) culture of disciplined reinvestment. | ["92","metric-good"] |
| Management skin-in-the-game | Founder/insider ownership meaningful; no dilution (flat 21.19M shares for years); modest dividend, capital retained to reinvest at high returns. Deep operating-group bench (Topicus/Vela spun to give managers their own currency). | ["86","metric-good"] |
Moat average ≈ 77; the ROIC/template and switching-cost dimensions carry it. The static walls are strong — the section below checks who is attacking them.
| Rival | Where it competes | Share / ROIC trajectory |
|---|---|---|
| Roper Technologies | Acquires cash-generative niche software/tech at scale (US-listed). | Stable rival; larger single deals, different niche — limited head-to-head overlap on CSU's small-tuck-in lane. |
| Topicus / Vela (CSU-affiliated spins) | European / specialised VMS — CSU-family, partly complementary. | Extends the template rather than attacking it; net positive to the group's runway. |
| Jonas / Volaris peers & PE roll-ups | Private-equity software roll-ups bidding for the same small VMS targets. | The real pressure: more capital chasing VMS assets can lift purchase multiples and compress incremental ROIC — a slow margin-of-safety erosion, not a share loss. |
Why the headline P/E lies. CSU's trailing GAAP P/E of ~65x is not the real multiple — GAAP earnings are heavily suppressed by non-cash amortization of acquired intangibles. This is the mirror image of the mega-cap AI trap (where mark-to-market gains inflate earnings): here amortization deflates them. The honest lenses are cash earnings and FCF. Forward P/E ~17x (on ~C$189 adjusted EPS) and P/FCF ~17.7x (FCF/share ~C$182, CAD-consistent). Non-operating income is ~0% of net income, so no clean-earnings haircut is needed on the reported side — if anything the reported number is conservative.
| Lens | Reading | Verdict |
|---|---|---|
| Warranted-multiple anchor (40%) | 17.5x vs 27x warranted — ratio 0.65. | ["Attractive","metric-good"] |
| Sector median (20%) | Clean fwd P/E ~17x vs software-peer median high-20s/30s. | ["Below median","metric-good"] |
| Own 5-yr history (15%) | CSU historically trades ~25–40x cash earnings; ~17x fwd sits in a low decile of its own range (down from a 52-wk high of C$4,923). | ["Cheap vs self","metric-good"] |
| PEG (10%) | PEG ~0.53 on forward growth. | ["Attractive","metric-good"] |
| Analyst consensus (15%) | Consensus C$3,942 (+22.4% from C$3,220); median C$3,909; high C$5,702; low C$3,193. 12 analysts, 3 Strong-Buy / 7 Buy / 2 Hold (83% bullish). Note: upside has compressed from +42.8% at the 20-Jul C$2,780 read as the price rallied. | ["Upside intact, thinner","metric-neutral"] |
Implied-growth read: at C$3,220 on ~17x clean earnings the market embeds only modest mid-single-digit long-run growth; CSU's disciplined reinvestment history supports more, so the price embeds less growth than the fundamentals warrant — the source of the Attractive band. FMP health rating B- (score 3): DCF/ROE sub-scores strong; the P/E and D/E sub-scores are dragged by the distorted GAAP P/E and the deferred-revenue-driven balance sheet — both explained above, not genuine flags.
Primary driver: the vertical-market-software acquisition cycle — the supply of small VMS businesses to buy at target returns, funded by enterprise/public-sector software budgets. Secondary: the interest-rate level, which sets the hurdle-rate arithmetic on new deals.
| Horizon | Read | State |
|---|---|---|
| Historical (25%) | Deployment has been strong and steady — record capital put to work over recent years with returns intact; a long tail of family-owned VMS keeps supplying targets. | ["Supportive","metric-good"] |
| Current (50%) | Enterprise/public-sector software spend is steady (not booming, not contracting). Deals keep closing (Derbysoft, Anook 2026). But a 4.75% 10-Y raises the return bar, and PE competition for VMS assets nudges purchase multiples up — a modest headwind to incremental ROIC. | ["Neutral","metric-neutral"] |
| Forward (25%) | Runway is effectively decades-long (fragmented VMS universe), but the near-term pace of value-accretive deployment depends on rates easing and deal discipline holding. | ["Neutral–positive","metric-neutral"] |
Driver score 60 — Neutral. Below the 65 tailwind threshold, so it is not eligible to amplify the base BUY to STRONG BUY. The runway is a genuine long-term positive, but elevated rates + competition for assets keep it short of a clean near-term tailwind. The base BUY/HOLD/SELL signals are unchanged by the driver.
CSU is not on the macro watchlist, so economic alignment is mapped from its GICS sector, Information Technology (XLK). The latest macro report (30 Jul 2026) signals Tech short Neutral / medium Underperform / long Outperform. The mixed profile — a soft medium leg offsetting a favourable long leg — nets to a NEUTRAL pressure, so it does not enable amplification. Stance is Trend-Following: CSU is a high-quality secular-software compounder that moves with, not against, the sector's long-run tailwind. Conviction 55. As a Canadian software name with US-dollar revenue, it is also less exposed to the concentration/AI-earnings-quality tail the macro report keeps armed for the US mega-cap index — CSU's earnings are depressed by amortization, not inflated by AI mark-ups, so it does NOT inherit that cohort's de-rating tail.
Source: sector-map · Macro report 2026-07-30
The setup that changed the short signal. At the 20-Jul read (C$2,780) the stock was below a falling 200-day average and the short BUY was capped to HOLD, worded “buy on confirmation of a 200-day reclaim (~C$2,930).” That confirmation has now happened and held: CSU closed above the ~C$2,875 200-DMA on 28 Jul (C$3,020, a +6% day), held it for five straight sessions, and extended to C$3,220 (+7.2%) today. Daily and weekly charts both flag a resistance breakout; confluence reads bullish.
| Sub-signal | Reading | Score |
|---|---|---|
| MTF confluence | Daily uptrend (price > 200-DMA > 50-DMA), weekly turning up (MACD histogram positive), hourly/15-min up. Monthly ambiguous (deep 2026 drawdown still in the frame). Confluence ~62. | ["62","metric-neutral"] |
| Risk-reward | Now the weak leg: +15.8% in two weeks and a +7.2% gap today leave the entry extended, running straight into an earnings print. Nearest real support ~C$2,650–2,670 (weekly swing low). | ["45","metric-neutral"] |
| Relative strength | Sharply outperforming the TSX and software peers over 1–4 weeks — a clear leader off the July low. | ["85","metric-good"] |
| Macro / sentiment / catalyst | Tech = low macro sensitivity. Analyst tone constructive (buy consensus). One catalyst in the window (Q2 earnings 11 Aug) — “focused”, and it dominates near-term path risk. | ["55","metric-neutral"] |
Timing 57 — Improving (just clears ≥55). The trend has genuinely turned, but confidence is capped at ~40% by the earnings-event gate (11 Aug). Net: the technical entry is confirmed, but the reward for chasing it today vs waiting for the print is thin — hence a half-size starter.
| Date | Event | Impact | Forecast | Previous | Relevant? | Why |
|---|---|---|---|---|---|---|
| 2026-08-11 | Constellation Q2 2026 results (after close) | High | Adj EPS ~C$39 / rev ~US$3.35B | Q1: rev US$3.18B | ✅ Yes | Company-specific — the dominant near-term catalyst; sets the short-term path |
| 2026-08-12 | Q2 conference call, 8:00am ET | Medium | — | — | ✅ Yes | Capital-deployment / M&A commentary from management |
| 2026-09 (est.) | FOMC decision | Medium | Hold/Cut path | 4.75% 10-Y | ⚠ Medium | Rates set the acquisition hurdle-rate arithmetic (indirect) |
| Date | Event | Actual | Forecast | Surprise | Impact |
|---|---|---|---|---|---|
| 2026-07-31 | 10-Y UST yield | Medium | 4.75% | — | Slightly rich rates keep the discount rate elevated (warranted multiple ~27x) |
One high-impact, company-specific event dominates the window: Q2 earnings on 11 Aug (after TSX close), 7 days out. It is why the short entry is half-size and timing confidence is capped at ~40%. Tech is otherwise a low-macro-sensitivity sector; the rate path matters only indirectly, through the acquisition hurdle rate.
| Timeframe | Trend | Direction | RSI | MACD | Key S/R | Breakout | Vol |
|---|---|---|---|---|---|---|---|
| Monthly | Unknown/transitioning | Neutral | 43 | -, below signal | S: 2,196 R: 3,856 | None | — |
| Weekly | Turning up | Neutral→Bull | 55 | + histogram rising | S: 2,653 R: 3,167 | Resistance breakout | 1.2x |
| Daily | Uptrend | Bullish | 58 | + rising | S: 2,653 R: 3,167 | Resistance breakout | 0.9x |
| Hourly | Uptrend | Bullish | 55 | + flattening | S: 3,032 R: 3,130 | Resistance breakout | 1.7x |
| 15-min | Uptrend | Bullish | 48 | flat | S: 2,978 R: 3,130 | Resistance breakout | 4.5x |
| Confluence: Bullish (turning) · MTF Score 62 | |||||||
Daily and both intraday timeframes are in confirmed uptrends above a reclaimed 200-DMA, and the weekly has flipped its MACD histogram positive — the tape the 20-Jul HOLD was waiting on. The one caveat is the monthly, still shaped by the deep H1-2026 drawdown, and the below-average daily volume on the gap. Key level: hold the ~C$2,875 200-DMA on any pullback; lose ~C$2,650 and the reclaim has failed.
CSU.TO daily close, Feb–Aug 2026 (C$). The July low near C$2,565 gave way to a five-session reclaim of the ~C$2,875 200-day average (28 Jul), extended to C$3,220 today.
Capital deployment steps up (larger platform deals or an accelerated tuck-in pace) with ROIC intact, a clean Q2, and the multiple re-rates back toward CSU's historical 25x+ cash earnings. Approaches the 52-wk high of C$4,923. +46% from C$3,220.
The template keeps compounding — ~20% total revenue growth, high-teens deployment ROIC, cash EPS grinding higher, the ~17x clean multiple broadly held. Fair value ~C$3,800, +18% over 12 months, roughly the analyst-consensus zone.
A soft Q2 print, a higher-for-longer rate path that squeezes the acquisition-return arithmetic and PE competition that compresses incremental ROIC, plus a broad software de-rating — retests the 52-wk low ~C$2,196. -32%. This is the live downside if the deployment-ROIC erosion in §3 accelerates.
Forecast: Technical group: already MET (200-DMA reclaimed 28 Jul, held into today) — this is what confirms the short entry. Fundamental group: unblocks ~12 Aug once earnings clear the 7-day window (High confidence — date-certain), assuming price stays below the ~C$3,800 fair value. Catalyst group: resolves on the 11 Aug print — a >+5% reaction with maintained guidance would add the second entry group and lift conviction from Half toward Full (Moderate — depends on the beat).
Forecast: Stop (C$2,650) is ~18% below spot and below the reclaimed 200-DMA — unlikely in 4–6 weeks barring a bad Q2 print or a software-wide selloff (the 11 Aug earnings is the one path that could gap price toward it). Profit-trim (~C$3,900 + RSI>70) is ~21% away — possible on a strong post-earnings re-rate, otherwise a multi-month path.
Position sizing not computed — specify your portfolio allocation and role for sizing guidance.
{
"ticker": "CSU.TO",
"date": "2026-08-04",
"version": "v6",
"brand": "",
"company": "Constellation Software Inc.",
"currency": "CAD",
"currency_financials": "USD",
"usdcad": 1.4,
"exchange": "TSX",
"exchange_ticker": "TSX:CSU",
"isin": "CA21037X1006",
"api_ticker": "CSU.TO",
"analysis_status": "on-going",
"lifecycle_stage": "mature_compounder",
"sector": "Information Technology",
"gics_sector": "Information Technology",
"country": "Canada",
"finder_ticker": "CSU.TO",
"finder_exchange": "\ud83c\udde8\ud83c\udde6 TSX",
"price_at_rating": 3220.08,
"signal_short": "BUY",
"signal_medium": "BUY",
"signal_long": "BUY",
"short_signal": "BUY",
"primary_signal": "BUY",
"base_signal_all_horizons": "BUY",
"amplification_applied": "none",
"short_entry_confirmed": true,
"short_hold_reason": "",
"short_cap_reason": "NOT capped \u2014 Technical entry group MET (200-DMA ~C$2,875 reclaimed 28 Jul, held 5 sessions + daily/weekly resistance breakout, RSI 58/55, MACD+). Short BUY confirmed. Entry is Half-Size (1 group) because Q2 earnings 11 Aug (7 days) leaves the Fundamental (no-earnings-in-7d) and Catalyst (no post-earnings move yet) groups unmet \u2014 accumulate the balance post-print.",
"quality_score": 84,
"valuation_score": 70,
"timing_score": 57,
"driver_score": 60,
"driver_label": "Neutral",
"driver_amplification_eligible": false,
"quality_detail": {
"industry_benchmark_name": "Rule of 40 (software) / ROIC",
"industry_benchmark_value": 43,
"industry_benchmark_score": 88,
"moat_score": 77,
"roic_percentile_vs_peers": 92,
"capital_allocation": 90,
"management_skin_in_game": 86
},
"valuation_detail": {
"fcf_yield": 5.7,
"implied_growth_rate": 6.0,
"consensus_growth_rate": 20.0,
"historical_valuation_decile": 2
},
"timing_detail": {
"mtf_confluence": 62,
"risk_reward_score": 45,
"relative_strength_vs_spy": 15.8,
"relative_strength_vs_sector": 12.0,
"catalyst_clustering_score": 55,
"dynamic_macro_weight": 0.1
},
"economic_alignment_stance": "Trend-Following",
"economic_alignment_conviction": 55,
"economic_alignment_pressure": "Neutral",
"economic_alignment_source": "sector-map",
"macro_report_date": "2026-07-30",
"overall_confidence": 42,
"val_band": "attractive",
"warranted_multiple": 27,
"actual_multiple": 17.5,
"val_multiple_basis": "clean forward P/E ~17x / cash P/FCF ~17.7x; GAAP P/E 65x distorted by intangible amortization (understates earnings)",
"discount_rate_r": 0.0925,
"risk_free_10y": 0.0475,
"g_near": 0.15,
"g_term": 0.03,
"warranted_ratio": 0.65,
"clean_pe": 17.0,
"clean_peg": 0.53,
"fcf_yield": 5.7,
"fcf_per_share_cad": 182,
"nonop_pct_of_net_income": 0,
"fair_value_est": 3800,
"stop_loss": 2650,
"target_price": 3800,
"scenario_base_target": 3800,
"scenario_bull_target": 4700,
"scenario_bear_target": 2200,
"entry_groups_met": 1,
"entry_conviction": "Half-Size",
"exit_groups_live": 0,
"exit_action": "Hold",
"hard_gate_state": "caution",
"gates_triggered": [],
"gates_caution": [
"earnings_event_risk"
],
"do_not_buy_triggers": [],
"competitive_share_trajectory": "stable",
"competitive_threat_level": "moderate",
"analyst_consensus_target": 3942.44,
"analyst_target_high": 5701.96,
"analyst_target_low": 3193.45,
"analyst_target_median": 3909.17,
"analyst_target_upside_pct": 22.4,
"analyst_grades_consensus": "buy",
"analyst_bullish_pct": 83.3,
"analyst_coverage_count": 12,
"fmp_rating": "B-",
"fmp_overall_score": 3,
"next_update_date": "2026-08-12",
"next_update_basis": "Q2 earnings 2026-08-11 (after close) +1 trading day",
"prior_report": "calibration-CSU.TO-20260720-1815.json",
"prior_primary": "BUY",
"changes_note": "Short HOLD \u2192 BUY (Half-Size): the 200-DMA reclaim the 20-Jul HOLD demanded (~C$2,930) is confirmed \u2014 price reclaimed ~C$2,875 on 28 Jul, held 5 sessions, +7.2% to C$3,220 today; Technical entry group MET, short_entry_confirmed=true. Half-size because Q2 earnings 11 Aug (7d) caps timing confidence (Gate 2) and keeps Fundamental/Catalyst groups unmet. Med/Long BUY held. Valuation 72\u219270 (upside compressed as price rose +15.8%); still Attractive (ratio 0.65). Timing 52\u219257 (tape turned). Driver 58\u219260, Econ source watchlist\u2192sector-map, pressure Tailwind\u2192Neutral, conviction 62\u219255 (IT sector short N/med U/long O). Not AI-cohort \u2014 no inherited concentration tail."
}