TSX:CSU Constellation Software Inc.

ISIN: CA21037X1006
Information TechnologyVertical-Market Software
TSX · Toronto, Canada · Vertical-Market Software (serial acquirer) · Mature compounder Analysis Status: On-Going
All share prices in Canadian dollars (C$). Constellation reports its financials in US$; USD figures are converted at ~1.40 USD/CAD where a CAD-consistent comparison is needed (FCF/share, yields).
C$3,220.08
+7.23% today · +15.8% since 20 Jul
4 Aug 2026 · Signal v6

What changed since 20 Jul 2026 (C$2,780.49)

DISCLAIMER: This is a quantitative framework for educational purposes only. It is not financial advice. Always do your own research and consult a licensed financial advisor before making investment decisions.

Constellation Software Inc.

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.

HorizonSignalComposite ScoreConfidenceKey Driver
Short-term (1–3 mo)BUY5740%200-DMA reclaimed — technical entry confirmed (half-size into earnings)
Medium-term (6–12 mo)BUY6355%quality compounder at an attractive cash multiple
Long-term (3–5 yr)BUY7462%durable reinvestment moat dominates
Next update: 2026-08-12 — Q2 earnings 2026-08-11 (after close) +1 trading day
Table of Contents
1Five-Pillar Scorecard2Hard Gates & Do-Not-Buy Status3Pillar Detail: Business Quality4Pillar Detail: Valuation Attractiveness5Pillar Detail: Underlying Drivers6Pillar Detail: Economic Alignment7Pillar Detail: Entry/Exit Timing8Economic Event Risk9Multi-Timeframe Technical Analysis10Price Chart (6-Month Daily)11Scenario Summary12Entry / Exit Rules13Position Sizing Context14Calibration Snapshot15Data Sources & Methodology
1

Five-Pillar Scorecard

Five independent scores — each 0–100 with its own confidence. The three fundamental pillars (Quality / Valuation / Timing) set the base BUY/HOLD/SELL via the Decision Matrix; the two context pillars (Underlying Drivers, Economic Alignment) then amplify a BUY to STRONG BUY or a SELL to STRONG SELL when both corroborate.

Business Quality

84
excellent
conf 80%

Valuation Attractiveness

70
attractive
conf 75%

Entry/Exit Timing

57
improving
conf 40%

Underlying Drivers

60
Neutral
conf 65%

Economic Alignment

55
Trend-Following
conf 60%
2

Hard Gates & Do-Not-Buy Status

Binary safety checks — any TRIGGERED gate is a hard cap regardless of the scores above; CAUTION gates are sizing notes.
Financial Distress
No distress. Net debt ~C$3.6B on ~C$4.1B TTM EBITDA (<1x); interest coverage comfortable. Current ratio 0.91 is by design — CSU runs structural negative working capital (large deferred-revenue balances), not a liquidity problem.
⚠️
Earnings Event Risk
⚠ Q2 2026 results 11 Aug (after TSX close), call 12 Aug — 7 days away. CSU has a history of >5% post-earnings moves (Q4-25 GAAP EPS missed badly). This caps TIMING confidence at ~40% and is the reason the short entry is HALF-size, not full. It does NOT cap the signal.
Valuation Ceiling
Clear. Clean forward P/E ~17x is 0.65× the ~27x warranted multiple and far below the ~33x IT guardrail line. Price C$3,220 sits below the C$3,942 consensus and well under the C$5,702 high target.
Accounting / Dilution
Clear — and inverted from the usual tech red flag. Share count is flat at ~21.19M (CSU famously never dilutes); SBC is negligible. The large GAAP-vs-adjusted earnings gap is non-cash intangible amortization that understates earnings — conservative, not inflated. Non-operating income is ~0% of net income.
Regulatory / Binary Event
None. No pending binary regulatory or antitrust event material to the thesis.
3

Pillar Detail: Business Quality

A deep dive into the Quality score: business economics, moat, ROIC and the industry benchmark.
Business Quality — Pillar Score
Elite serial compounder
84
conf 80%

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-signalReadingScore
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 conversionOperating 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 healthNet 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 allocationThe 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-gameFounder/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"]
INDUSTRY BENCHMARK — Rule of 40 (software). Revenue growth ~20% + FCF margin ~23% (FCF/revenue, CAD-consistent) ≈ ~43 — PASSES (≥40), and it clears the bar the honest way: real cash margin, not a growth-at-any-cost profile. On a capital-return lens (ROIC well above cost of capital, sustained for 15+ years) it is top-decile among all software names. Benchmark score: 88/100.
Pricing power
78
Mission-critical niche apps; steady maintenance price escalators absorbed by locked-in customers.
Network effects
50
N/A for most units (neutral) — value is portfolio breadth, not a two-sided network.
Switching costs
88
VMS runs core operations of small industries; rip-and-replace risk is high — retention is the moat. Held vs a stable competitive set (see below).
Cost advantage
80
Scale + shared-services + a proprietary acquisition pipeline peers cannot replicate at CSU's cadence.
Intangibles / template
90
The real moat: a 25-year, culturally-embedded capital-allocation template and deal-sourcing network. Hard to copy.

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.

Competitive Environment (step 7c). CSU does not compete for end customers so much as for acquisitions — so the competitive read is about the price of its raw material (VMS assets) and the ROIC on new capital, not market-share erosion.
RivalWhere it competesShare / ROIC trajectory
Roper TechnologiesAcquires 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-upsPrivate-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.
Net effect: competitive threat moderate, share/ROIC trajectory stable. The switching-cost and cost-advantage sub-scores stay high (the installed base is not migrating). The live risk is deployment ROIC compression from PE competition for deals — which flows into the §11 Bear (decelerating capital-deployment returns) and the §12 thesis-invalidation, not into a share-loss story.
4

Pillar Detail: Valuation Attractiveness

Sector-appropriate multiples, FCF yield, reverse-DCF implied growth, embedded optionality, and the analyst-consensus cross-check.
Valuation Attractiveness — Pillar Score
Attractive on clean cash earnings
70
conf 75%

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.

THE ANCHOR — Warranted-multiple valuation.
Discount rate r = 4.75% (10-Y UST, 31 Jul) + 4.5% ERP + 0.0% (Business Quality ≥ 65) = 9.25%.
Growth: g_near = 15% (secular-software cap, disciplined — CSU's ~20% total growth is M&A-funded, so haircut to the sustainable-reinvestment rate); g_term = 3%.
Two-stage warranted P/E ≈ 27x (capped at the ~33x IT guardrail, which does not bind).
Actual clean multiple ~17.5x ÷ 27x warranted = ratio 0.65 → ATTRACTIVE band. Well clear of the Full (1.20×) and Expensive (1.40×) thresholds — no Valuation-Ceiling gate, and the name is STRONG-BUY-eligible on valuation (though the driver/economy do not amplify it here).
LensReadingVerdict
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"]
FCF yield. ~C$3.85B FCF on a ~C$68.2B market cap = ~5.7% FCF yield (5.75% on EV) — attractive for a business compounding capital at high-teens ROIC. Down from ~6.5% at the 20-Jul read purely because the share price rose ~16%.
Embedded optionality / free upside. (1) The acquisition pipeline itself — the market caps a warranted multiple off today's deployment; a step-up in deal size or pace (or a large platform buy) is unpriced call-option upside. (2) Topicus / Lumine / operating-group value that a sum-of-the-parts lens tends to under-count inside a single consolidated multiple. Treat as a tilt (+a few points, already reflected), not a re-rating — the base case does not depend on it.

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.

5

Pillar Detail: Underlying Drivers

The dominant external force the stock is tethered to, scored 0–100. A context pillar: it does not change the base signal — it feeds amplification (tailwind ≥65 can lift BUY→STRONG BUY; headwind ≤35 can push SELL→STRONG SELL).
Primary Driver
Enterprise software spend + M&A deployment runway
60
Neutral

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.

HorizonReadState
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.

6

Pillar Detail: Economic Alignment

How the current economic climate sits relative to this stock, read from the latest Macro-Economic report. Classifies the macro pressure (Tailwind / Neutral / Headwind) — the second amplification input — and frames a long entry as Trend-Following or Contrarian with a 0–100 conviction.
Stance · Pressure
Trend-Following · Neutral
55
conviction

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

7

Pillar Detail: Entry/Exit Timing

The risk-reward framework, relative strength vs SPY and the sector ETF, the macro overlay, news-derived sentiment, and the catalyst cluster.
Entry/Exit Timing — Pillar Score
Tape has turned up — 200-DMA reclaimed
57
conf 40% (earnings-event capped)

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-signalReadingScore
MTF confluenceDaily 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-rewardNow 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 strengthSharply outperforming the TSX and software peers over 1–4 weeks — a clear leader off the July low.["85","metric-good"]
Macro / sentiment / catalystTech = 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.

8

Economic Event Risk

High-impact macro releases in the next 14 days that could swing this stock, plus the last 7 days of surprises.

Upcoming events (next 30 days)

DateEventImpactForecastPreviousRelevant?Why
2026-08-11Constellation Q2 2026 results (after close)HighAdj EPS ~C$39 / rev ~US$3.35BQ1: rev US$3.18B✅ YesCompany-specific — the dominant near-term catalyst; sets the short-term path
2026-08-12Q2 conference call, 8:00am ETMedium✅ YesCapital-deployment / M&A commentary from management
2026-09 (est.)FOMC decisionMediumHold/Cut path4.75% 10-Y⚠ MediumRates set the acquisition hurdle-rate arithmetic (indirect)

Recent surprises (last 7 days)

DateEventActualForecastSurpriseImpact
2026-07-3110-Y UST yieldMedium4.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.

9

Multi-Timeframe Technical Analysis

Trend, RSI and breakout status across monthly / weekly / daily / hourly / 15-minute, with a confluence verdict.
TimeframeTrendDirectionRSIMACDKey S/RBreakoutVol
MonthlyUnknown/transitioningNeutral43-, below signalS: 2,196 R: 3,856None
WeeklyTurning upNeutral→Bull55+ histogram risingS: 2,653 R: 3,167Resistance breakout1.2x
DailyUptrendBullish58+ risingS: 2,653 R: 3,167Resistance breakout0.9x
HourlyUptrendBullish55+ flatteningS: 3,032 R: 3,130Resistance breakout1.7x
15-minUptrendBullish48flatS: 2,978 R: 3,130Resistance breakout4.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.

10

Price Chart (6-Month Daily)

A 6-month daily close line with SMA50 and key support/resistance — the visual companion to the MTF table.

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.

11

Scenario Summary

Bull / Base / Bear 12-month price paths with triggers and probability weights.

Bull C$4,700 (25%)

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.

Base C$3,800 (55%)

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.

Bear C$2,200 (20%)

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.

12

Entry / Exit Rules

Three independent entry paths (Fundamental · Technical · Catalyst) and three exit triggers (Stop-Loss · Thesis · Profit-Target). Any one entry path is a valid entry — the more that agree, the larger the position the conviction ladder suggests. Exits are graded by severity, not count.

How to read this — the Conviction Ladder

The three entry groups are alternative paths to a buy, not a checklist. A group counts only when all its sub-conditions hold. How many groups are satisfied sets the suggested size — it does not gate whether you may enter: 1 group = Half-Size (a valid starter/scale-in), 2 = Full-Size, 3 = Over-Size (highest conviction); 0 = Wait (no path open yet). A strong overall signal can still read Wait here when the stock is well above its entry zones — that flags "good business, no entry edge right now," not a contradiction. Exits are graded by severity of what is live, not by a count: a hard stop is an Exit on its own.
Entry conviction: Half-Size1 of 3 groups met — one path open — starter / scale-in

Fundamental — not MET

Cheap and driver-supported, but blocked by earnings proximity.
✅ Price C$3,220 < fair value ~C$3,800
⛔ No earnings within 7 calendar days
✅ Underlying-Driver score ≥ 50 (60)

Technical — MET

The trend has turned: 200-DMA reclaimed and held, daily+weekly breakout.
✅ Reclaim of the ~C$2,875 200-DMA held for 5 sessions + daily/weekly resistance breakout
✅ RSI 35–65 (daily 58, weekly 55 — not overbought)
✅ MACD histogram positive ≥2 sessions (daily) / turning up (weekly)

Catalyst — not MET

Q2 print is ahead, not behind — no post-earnings confirmation yet.
· Post-earnings move >+5% with guidance raised/maintained
⛔ Q2 earnings 11 Aug (after close) — catalyst pending

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).

Exit action: Holdno exit trigger is live — hold the position

Stop-Loss — not LIVE

⛔ Two daily closes below C$2,650 (weekly swing low — the reclaim would have failed)

Thesis Invalidation — not LIVE

⛔ Capital-deployment ROIC compresses durably below the hurdle rate (PE competition wins the assets)
⛔ OR full-year organic + acquired growth decelerates below the software-sector median
⛔ OR a hard gate (distress / dilution) fires

Profit-Target — not LIVE

⛔ Price into ~C$3,900 (consensus/base) with RSI > 70 and no quality step-up

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.

Imagine you act at the current price of C$3,220.08 · as of 4 Aug 2026

What if you bought now?

You'd be risking ~C$570 / −18% to the C$2,650 stop to gain ~C$580 / +18% (base) to ~C$1,480 / +46% (bull).
  • Risking: downside to the C$2,650 stop (−18%); bear case C$2,200 (−32%); and you'd be buying extended — +15.8% in two weeks, +7.2% today, straight into the 11 Aug earnings print. The Fundamental and Catalyst entry groups are NOT yet met.
  • Gaining: base C$3,800 (+18%) · bull C$4,700 (+46%) upside you start capturing now; a ~5.7% FCF yield compounding while you hold; the unpriced acquisition-pipeline optionality; and the confirmed technical trend at your back. Net read: the technical entry is real, but with earnings 7 days out a half position now + the balance after the print is the better-priced way in.

What if you sold now?

You'd be giving up ~+18% base-case upside to protect against a ~−32% bear — but you'd be selling well below fair value.
  • Giving up: base-case upside to C$3,800 (+18%); the ~5.7% FCF yield and compounding; and you'd be exiting a high-quality compounder ~15% under its C$3,800 fair value.
  • Protecting: capital if the C$2,200 bear plays out (−32%) and the earnings-gap risk on 11 Aug. But no exit rule is triggered right now — no stop hit, no thesis break, no profit-target. Mechanically this is a hold/accumulate zone, not a sell.
13

Position Sizing Context

Illustrative portfolio math (not advice) translating conviction into an allocation given risk-per-share and volatility.

Position sizing not computed — specify your portfolio allocation and role for sizing guidance.

14

Calibration Snapshot

Machine-readable snapshot of every score, level and signal, saved alongside the HTML so the next run can compute deltas.
{
  "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."
}
15

Data Sources & Methodology

Audit trail of every data source: fully available (✓), fallback (⚠), or failed (✗), plus provenance-based confidence haircuts.
Data Source Status
get_yahoo_quote (CSU.TO) Price C$3,220.08, CAD confirmed, mkt cap C$68.2B, shares ~21.19M, beta 0.69.
get_multi_timeframe_analysis Monthly bar returned NaN close (data glitch) — monthly trend read as ambiguous; daily/weekly/intraday all valid.
get_financial_ratios / get_income_statement TTM rev ~US$12.1B, FCF ~US$2.75B; GAAP P/E 65x (amortization-distorted), fwd P/E 17x.
get_price_target_consensus / get_grades_consensus Consensus C$3,942, high C$5,702, low C$3,193; 3 SB / 7 B / 2 H (12 analysts).
get_stock_grades FMP HTTP 402 (premium) — firm-level grade actions unavailable; grades-consensus distribution used instead.
get_ratings_snapshot FMP B- (score 3); P/E & D/E sub-scores dragged by distorted GAAP P/E and deferred-revenue balance sheet.
get_earnings_calendar / search Q2 2026 confirmed 11 Aug (after close), call 12 Aug — via company IR + TipRanks/moomoo.
get_economic_series (DGS10) 10-Y UST 4.75% (31 Jul) used in the warranted-multiple discount rate.
get_stock_news Feed stale (newest June); today's +7.2% has no company-specific catalyst — momentum/pre-earnings positioning.
Impact on scores: Timing confidence is capped at ~40% by the 11-Aug earnings-event gate, not by data gaps. The FMP grades-actions failure removes firm-level upgrade/downgrade colour (grades-consensus distribution substitutes). The NaN monthly bar is why the monthly trend is read as ambiguous rather than scored.
DISCLAIMER: This is a quantitative framework for educational purposes only. It is not financial advice. Always do your own research and consult a licensed financial advisor before making investment decisions.