TSX:DSG The Descartes Systems Group Inc.

ISIN: CA2499061083
Information TechnologyApplication SoftwareLogistics SaaS
TSX (dual-listed NASDAQ:DSGX) · Waterloo, ON · Founded 1981 Analysis Status: On-Going
All figures in Canadian dollars (C$) unless noted. Descartes is dual-listed; TSX:DSG (CAD) figures are used throughout.
C$108.37
+2.9%
4 Aug 2026 · Signal v6
Changes Since Last Report (vs. 20 Jul 2026 at C$103.59)

Signals unchanged at HOLD / HOLD / HOLD across all three horizons. Price +4.6% to C$108.37 as the daily tape recovered back above the 200-day. Pillars barely moved: Quality flat at 78, Valuation −1 to 37 (still Expensive — higher price and a higher 10-year, 4.55%→4.75%, offset each other), Timing +2 to 56 (daily trend improved from weak to recovering), Drivers flat at 60 (Neutral). Valuation-Ceiling caution persists; no Do-Not-Buy trigger. Newly noted: WiseTech’s ~US$2.1bn E2open acquisition has closed, raising competitive intensity (threat still moderate, share stable), and the Drivin last-mile bolt-on (C$30m) closed in July.

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.

The Descartes Systems Group Inc.

Descartes Systems Group is a Waterloo, Ontario software company that runs the plumbing of global trade. Its core business is cloud software and data for logistics and supply-chain operations — route and fleet optimisation, transportation management, e-commerce shipping, and, distinctively, customs filing, trade-compliance and global trade-data content that helps goods clear borders. What sets it apart is the Global Logistics Network, a two-sided network connecting carriers, brokers, customs authorities and shippers, plus a decades-deep library of regulatory trade content — a combination rivals find hard to replicate. Think of it as a highly profitable, net-cash “picks-and-shovels” compounder that earns more as world trade grows more complex, and that steadily buys and bolts small logistics-tech firms onto its network.

HorizonSignalComposite ScoreConfidenceKey Driver
Short-term (1–3 mo)HOLD5660%Great business, expensive — no margin of safety
Medium-term (6–12 mo)HOLD5762%Fully valued; wait for a pullback
Long-term (3–5 yr)HOLD6262%Quality compounder, but the price caps it
Next update: 2026-08-18 — default +14d (Q2 FY27 earnings 2026-09-10 beyond window)
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

78
strong
conf 78%

Valuation Attractiveness

37
expensive
conf 74%

Entry/Exit Timing

56
recovering
conf 60%

Underlying Drivers

60
Neutral
conf 62%

Economic Alignment

48
Neutral
conf 55%
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
Net cash (C$377m vs C$8m debt); current ratio 2.05; strongly FCF-positive. Clear.
Earnings Event Risk
Q2 FY27 on 10 Sep 2026 — beyond the 14-day window. Clear.
⚠️
Valuation Ceiling
Expensive band: clean trailing P/E 38.4× vs ~23× warranted (ratio 1.67), and ≥ the 33× IT guardrail. Caps the signal at HOLD — but the High-Quality + Expensive matrix row already yields HOLD, so no downgrade is forced. Forward P/E ~24× sits on the warranted line.
Accounting / Dilution
Clean, operating earnings (non-operating <2% of net income); modest SBC; disciplined M&A funded from FCF. Clear.
Structural / Binary
No pending regulatory/binary event. Not in the armed AI-concentration tail cohort (clean earnings, beta 0.19, not an index top-weight, not AI-capex levered).
3

Pillar Detail: Business Quality

A deep dive into the Quality score: business economics, moat, ROIC and the industry benchmark.
Business Quality — Pillar Score
Fortress balance sheet, best-in-class SaaS margins, durable network moat
78
conf 78%

Lifecycle & sector. Growth-stage Application Software (logistics / supply-chain SaaS). Revenue grows mid-teens (+14.7% YoY) while the business is already deeply profitable and cash-generative — so it is scored on the Growth profile: Rule of 40, operating leverage, moat durability and cash generation, not on a mature dividend/ROE lens alone.

Industry Benchmark — Rule of 40 (SaaS): Revenue growth +14.7% + FCF margin +35.6% = 50.3PASSES (≥ 40). Score 80/100. A rare combination — mid-teens organic growth alongside a >35% free-cash-flow margin puts Descartes in the top quartile of profitable SaaS; most peers buy growth at the expense of margin.
Sub-signalValueReadScore
Revenue trajectory+14.7% YoY (TTM ~C$754m)Steady mid-teens through a "challenging freight market"; net income +34% YoY on operating leverage78
Profitability vs peersGross 77.3% · Operating 32.9% · Net 23.3%Best-in-class SaaS margins; expanding84
Cash generationFCF ~C$268m · FCF margin ~35.6%Cash converts ahead of net income — high quality85
Balance sheetCash C$377m vs debt C$8m (net cash) · current ratio 2.05 · D/E 0.05Fortress; funds the M&A engine internally90
ROE / ROAROE 11.4% · ROA 8.1%ROE understated by a cash- and goodwill-heavy equity base; underlying ROIC is mid-teens62

Competitive Moat — 72/100

Network effects78
The Global Logistics Network connects carriers, brokers, customs authorities and shippers — a two-sided network that gets more useful as more partners join.
Switching costs80
Customs, compliance and trade-data modules are embedded in mission-critical workflows; ripping them out risks shipments clearing borders. Sticky.
Intangible assets62
Proprietary global trade-data content and regulatory rule libraries built over decades — hard to replicate, but not a formal patent moat.
Pricing power68
Recurring subscription/transaction pricing with steady renewals; pricing is firm but not premium-luxury.
Cost advantage62
Scale in trade-data content and a single network platform; replicable by a similarly-scaled operator.
Competitive Environment. Descartes operates in global trade / logistics software, a niche that is consolidating around scale. The share picture is stable, but competitive intensity has stepped up: WiseTech Global (CargoWise) completed its ~US$2.1bn acquisition of E2open in early 2026, creating a materially larger trade-and-compliance competitor. WiseTech itself framed the deal as adding TAM with "very little product overlap," and Descartes' GLN network + customs-content moat is defensible — but a scaled rival raises the long-run cost-advantage bar.
RivalThreat typeShare trajectoryMoat-erosion vector
WiseTech Global + E2openScaled platform / trade complianceDescartes stable; WiseTech scalingCost advantage & enterprise reach
project44 / FourKitesReal-time visibility specialistsStableVisibility layer of the stack
SAP / Oracle / in-house TMSVertical / build substitutionStableEnterprise budget capture
Trimble (Kuebix) / legacy TMSLow-cost / bundled TMSStableTransportation-management entry point

Net effect on the moat: Switching Costs held at 80 (workflow lock-in intact); Cost Advantage trimmed to 62 as WiseTech+E2open gains scale. Overall competitive threat: moderate.

ROIC & Capital Allocation — strong

Descartes is a disciplined serial acquirer: it buys niche logistics/trade-tech assets, plugs them into the GLN and expands the network, funding deals from internal free cash flow while keeping a net-cash balance sheet. The July 2026 Drivin bolt-on (C$30m, Chilean last-mile) is textbook — small, accretive, network-extending. Capital allocation scores 80; management skin-in-the-game 56 (long-tenured CEO Ed Ryan, modest SBC, moderate insider ownership).

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
Expensive on the anchor (38× trailing vs ~23× warranted); ~24× forward is fully-valued, not cheap
37
conf 74%

The anchor says Expensive; the nuance says fully-valued, not overpriced. On a trailing clean basis Descartes trades at 38.4× earnings — well above the warranted ~23× and above the 33× Information-Technology guardrail. But the same stock is on ~24× forward earnings (FY27 EPS ~C$4.56), which sits right on the warranted line. The gap between the two is simply this year's fast earnings growth (+34%). So the honest read is "priced for its growth, no margin of safety" — a HOLD — not "wildly overpriced" (which would be a SELL).

Warranted-Multiple Anchor. r = 4.75% (UST10Y, 31 Jul) + 4.5% ERP + 0.0% (Business Quality ≥ 65) = 9.25%. Disciplined growth g_near = 10.5% (consensus haircut, IT secular cap), g_term = 3%. Two-stage → WarrantedPE ≈ 23×. Actual clean trailing P/E 38.4× → ratio 1.67×Expensive (≥ 1.40). It also breaches the IT guardrail floor (33×) on the trailing multiple alone — double-confirmed Expensive, so Gate 3 (Valuation Ceiling) caps the signal at HOLD regardless of momentum. The Quality-High + Expensive matrix row already produces HOLD, so no downgrade is forced.
MultipleValueRead
Clean trailing P/E38.4×Expensive vs 23× warranted
Forward P/E (FY27)23.8×≈ warranted line — fully valued
EV/EBITDA (TTM)27.1×Rich
EV/Revenue11.5×Premium SaaS
P/B4.1×Modest for the margin profile
FCF yield (FCF/EV)3.1%Fair for a quality compounder
PEG1.58Growth roughly paid-for on a forward basis

Implied growth. At 38.4× trailing, the market embeds ~18–20% sustained earnings growth for five years; our disciplined estimate is ~10–11% — so on a trailing lens the price runs ahead of the fundamentals. On a forward lens (~24×) the growth is roughly paid for, not overpaid. Both truths sit inside the "no margin of safety" verdict.

Embedded Optionality / Free Upside. A few call options the core multiple isn't paying much for: (1) tariff-complexity super-cycle — every new trade barrier raises demand for Descartes' customs/global-trade-intelligence content (a demand tailwind buried inside a soft-freight consolidated number); (2) the M&A compounding engine — a net-cash balance sheet and a proven integrate-into-the-network playbook mean the acquisition pipeline is real but unmodelled; (3) e-commerce customs & last-mile (the Drivin add) scaling into the network. Core business justifies most of the ~C$108 price; the optionality is a +5 tilt and the reason to keep watching, not a reason it is cheap today.

Street cross-check. Grade coverage is deep and bullish — 15 analysts, 93% Buy/Strong-Buy, 1 Hold, 0 Sell — with a consensus target near C$131 (~21% above spot). Note the hard price-target feed is thin (a single surfaced target), so the grade distribution carries more weight than the point target. Recent actions were positive (Rothschild → Buy in Apr; Loop Capital Buy maintained Jun) with no downgrades. FMP financial-health rating A- (4/5) — DCF 5, D/E 4, ROA 4, but P/E and P/B sub-scores of 2, corroborating "great business, rich price." The bullish Street sits within the Expensive band — it lifts the score off the floor but cannot override the anchor.

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
Global trade volume & trade-compliance software spend
60
Neutral (no amplification)

Primary driver: global trade volume & trade-compliance software spend. Descartes is a geared bet on the complexity of world trade, which cuts two ways — hence a Neutral read.

HorizonReadData / date
Historical (25%)Tariff churn and re-routing since 2025 lifted demand for customs/compliance/trade-data content (tailwind), while soft freight and e-commerce shipment volumes pressured transaction-based revenue (headwind)Company commentary, Q1 FY27 (Jun 2026)
Current (50%)Elevated, two-sided tariff regime: rising trade friction = more demand for Global Trade Intelligence & customs modules; a "challenging freight market" caps the volume-linked side. Net neutralQ1 FY27 call; trade newsflow, Aug 2026
Forward (25%)Trade uncertainty persists into 2027; consensus mid-teens revenue growth — neutral-to-mildly-positiveConsensus, Aug 2026

Driver score 60 — Neutral. In the 36–64 band, so it does not amplify the signal (no STRONG BUY/SELL). Not a commodity-leveraged name, so no price-trend overlay applies.

Thesis-invalidation floor: a sustained global-trade contraction that stalls net-revenue growth below ~10% for two quarters and compresses the multiple; or visible erosion of the GLN network advantage to a scaled WiseTech+E2open. That is the level at which the whole "durable-network compounder" case breaks.
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
Neutral · Neutral
48
conviction

The latest macro report reads Information Technology (XLK) short N / medium U / long O under a “stagflation-lite, rates-up” regime, with the sector-level Underperform driven largely by the armed S&P-500 AI-concentration risk. Descartes decouples from that: beta 0.19, clean operating earnings, not an index top-weight and not levered to AI capex — so it does NOT inherit the AI-concentration de-rating tail. Net pressure is Neutral (a mild rate-driven multiple headwind on the medium horizon). Base signal is HOLD, so amplification never fires; econ leaves it unchanged.

Source: sector-map (Information Technology / XLK) — DSG not in the macro watchlist · 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
Daily recovering (back above the 200-day) but the weekly is still a downtrend and the reclaim isn't volume-confirmed
56
conf 60%

Recovering, not confirmed. The tape is mending — the daily trend has turned up (MACD histogram positive, price back above the 200-day around C$106 after a bounce off the C$92–93 spring low), and Descartes jumped +2.9% on the session to C$108.37. But the weekly chart is still a downtrend off the C$150 high, and the recent reclaim is not volume-confirmed (daily volume ratio 0.84×). So timing scores a middling 56 — improving, but a genuine higher-timeframe "all-clear" hasn't printed.

ComponentReadScore
Multi-timeframe confluenceWeekly downtrend, daily recovering, hourly/15-min up — mixed → improving52
Risk–reward (ATR/stop)Daily ATR ~C$4.4 (~4%); nearest weekly support ~C$100, stop below C$88 (~4.6 ATR) — a wide stop from here54
Relative strength~28% below the 52-wk high; laggard vs SPY/sector but recovering; 52-wk range position ~35%44
Sentiment (grades + news)15 analysts 93% bullish; net-positive grade actions, 0 downgrades 30d; Drivin bolt-on well received65
Catalyst densityCalm calendar — Q2 FY27 not until 10 Sep (>30d); clustering 7572

Macro weight is low (0.10 — defensive niche software). The one live macro lever is the rate path: the 10-year at 4.75% and rising is a mild headwind for premium growth multiples, consistent with the sector-level caution below.

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-12US CPI (YoY)Medium⚠️ MediumRate path sets the discount rate on premium growth multiples (indirect)
~2026-09-16/17FOMC decisionMedium⚠️ MediumSame — rate path is the only material macro lever for a low-sensitivity name
2026-09-10DSG Q2 FY27 results (co.)High✅ YesThe company-specific swing factor — beyond the update window

Recent surprises (last 7 days)

DateEventActualForecastSurpriseImpact
2026-07-31UST 10-Year yield4.75%RisingMild headwind for growth-stock valuations

Descartes is a low macro-sensitivity name (Information Technology, defensive niche software, beta 0.19). No high-impact macro release inside the window changes the thesis; the only live macro lever is the rate path — the 10-year at 4.75% and rising is a mild headwind for premium multiples. The real catalyst is the company’s own Q2 FY27 print on 10 Sep, which sits beyond this update’s two-week horizon.

9

Multi-Timeframe Technical Analysis

Trend, RSI and breakout status across monthly / weekly / daily / hourly / 15-minute, with a confluence verdict.
TimeframeTrendDirectionRSIMACDKey S/RBreakoutVol
Monthlyn/aNeutral42.8−, fallingS: 95.0 / R: 112.7
WeeklyDowntrendBearish51.4hist turning +S: 100.6 / R: 133.0none1.1×
DailyRecoveringNeutral→Bull54.9+, risingS: 96.5 / R: 106.9resist. breakout0.8×
HourlyUptrendBullish52.7+, flatS: 103.2 / R: 106.9resist. breakout1.5×
15-minUptrendBullish53.1+, smallS: 104.6 / R: 105.9resist. breakout5.9×
Confluence: Mixed → Improving · MTF Score 52

A textbook “lower-timeframe leading, higher-timeframe lagging” recovery. Monthly is uninformative (the yfinance monthly bar returned NaN); the weekly remains a downtrend off the C$150 high but its MACD histogram has turned positive; the daily has recovered above the 200-day (~C$106) after bouncing off the C$92–93 spring low, and the intraday charts are cleanly up on strong volume. The tell to watch: a volume-backed weekly close above ~C$111–112 would flip the weekly and confirm the turn; failure there keeps this a counter-trend bounce.

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.

DSG.TO 6-month daily (C$) with 50-day SMA. Price has recovered off the C$92–93 spring low back above the 200-day; the C$111–112 weekly resistance is the level that would confirm a trend turn.

11

Scenario Summary

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

Bull C$145 (25%)

Tariff-complexity super-cycle drives Global Trade Intelligence and customs demand; the GLN network compounds and accretive M&A continues. Revenue holds mid-teens, margins expand, and the multiple stays ~28× on FY28 EPS ~C$5.2 → ~C$145 (retest of the prior highs).

Base C$118 (55%)

Mid-teens revenue growth with stable margins; the forward multiple normalises toward ~24× on FY28 EPS ~C$5.0 → ~C$118. A modest re-rating from C$108 that tracks earnings — which is exactly why there is no margin of safety to buy today.

Bear C$88 (20%)

Global trade contracts, freight/e-commerce transaction revenue softens and growth decelerates to high-single-digits; the premium multiple compresses toward ~20× → ~C$88, back into the weekly-support / spring-low zone. This is the anchor’s warning made real — a rich multiple has the furthest to fall.

Probability-weighted fair value ≈ C$119 (0.25×145 + 0.55×118 + 0.20×88). Close to the Street’s ~C$131 but below it — the difference is our disciplined-growth haircut. The spread (C$88–145) is wide because a premium multiple amplifies both the up- and down-case.

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: Wait0 of 3 groups met — no entry path open

Fundamental — not MET

Above fair value — the anchor flags no margin of safety.
⛔ Price C$108.37 < fair-value ~C$96
✅ No earnings within 7 days (Q2 on 10 Sep)
✅ Underlying-Driver score ≥ 50 (60)

Technical — not MET

Recovering but not confirmed — the reclaim isn’t volume-backed and the weekly is still a downtrend.
⛔ Daily close > SMA50 (~C$101) on >1.5× volume (vol only 0.8×)
⛔ OR a volume-backed weekly close above ~C$111–112 (weekly still downtrend)
✅ RSI 35–65 (54.9)
✅ MACD daily histogram positive ≥ 2 days (+0.61)

Catalyst — not MET

No event in the window.
· Post-earnings move >+5% with guidance raised
· Volume > 2× the 20-day average on the move

Forecast: Fundamental opens on a pullback into ~C$96 (roughly −11%) — plausible on a broad growth-multiple de-rate but not the near-term base case. Technical would confirm on a volume-backed daily reclaim that also flips the weekly above ~C$111–112; the tape is recovering (daily MACD positive, price back above the 200-day) but the weekly is still a downtrend, so call it 2–5 weeks and event-dependent. Catalyst is binary on the Q2 FY27 print on 10 Sep. Net: no entry edge today — Wait.

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

Stop-Loss — not LIVE

⛔ Two daily closes below C$88 (beneath weekly support / the C$85.26 swing low)

Thesis Invalidation — not LIVE

⛔ Net-revenue growth stalls below ~10% for two quarters
⛔ OR global-trade contraction turns the driver to a sustained headwind
⛔ OR the GLN network advantage visibly cedes to a scaled WiseTech+E2open

Profit-Target — not LIVE

⛔ Price into ~C$131 (consensus) / base C$118 with RSI > 70 and no quality upgrade

Forecast: No exit trigger is close — the stop at C$88 is ~19% below spot and beneath both the 50-day and the recent bounce low; a hit would need a trade shock or a bad Q2 print. Profit-trim only comes into play into the C$118–131 zone.

Imagine you act at the current price of C$108.37 · as of 4 Aug 2026

What if you bought now?

No entry edge at C$108. The anchor flags no margin of safety — trailing 38× against a ~23× warranted multiple, and even forward ~24× is only just fair. A starter earns its keep nearer C$96–100, or on a volume-backed weekly breakout above ~C$112.

What if you sold now?

Not a sell. Fortress net-cash balance sheet, mid-teens growth and a durable network moat. This is a wait-for-price HOLD, not an exit — the issue is entry price, not the business.
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": "DSG.TO",
  "exchange": "TSX",
  "exchange_ticker": "TSX:DSG",
  "isin": "CA2499061083",
  "api_ticker": "DSG.TO",
  "finder_ticker": "DSG",
  "finder_exchange": "\ud83c\udde8\ud83c\udde6 TSX \u00b7 \ud83c\uddfa\ud83c\uddf8 NASDAQ",
  "date": "2026-08-04",
  "version": "v6",
  "brand": "Descartes",
  "analysis_status": "on-going",
  "company": "The Descartes Systems Group Inc.",
  "currency": "CAD",
  "user_context": {
    "horizon": null,
    "allocation_pct": null,
    "portfolio_role": null
  },
  "price_at_rating": 108.37,
  "signal_short": "HOLD",
  "signal_medium": "HOLD",
  "signal_long": "HOLD",
  "primary_signal": "HOLD",
  "short_hold_reason": "expensive",
  "short_entry_confirmed": false,
  "quality_score": 78,
  "lifecycle_stage": "growth",
  "quality_detail": {
    "industry_benchmark_name": "Rule of 40 (SaaS)",
    "industry_benchmark_value": 50,
    "industry_benchmark_score": 80,
    "moat_score": 72,
    "roic_percentile_vs_peers": 62,
    "capital_allocation": 80,
    "management_skin_in_game": 56
  },
  "valuation_score": 37,
  "valuation_detail": {
    "fcf_yield": 3.1,
    "ev_ebitda": 27.1,
    "ev_revenue": 11.5,
    "p_s": 12.3,
    "p_b": 4.1,
    "implied_growth_rate": 19.0,
    "consensus_growth_rate": 14.0,
    "historical_valuation_decile": 4,
    "warranted_multiple": 23,
    "actual_multiple": 38.4,
    "val_multiple_basis": "clean trailing P/E (CAD-consistent)",
    "discount_rate_r": 9.25,
    "risk_free_10y": 4.75,
    "g_near": 10.5,
    "g_term": 3,
    "warranted_ratio": 1.67,
    "val_band": "expensive",
    "forward_pe": 23.8
  },
  "timing_score": 56,
  "timing_detail": {
    "mtf_confluence": 52,
    "risk_reward_score": 54,
    "relative_strength_vs_spy": -14.0,
    "relative_strength_vs_sector": -9.0,
    "catalyst_clustering_score": 75,
    "dynamic_macro_weight": 0.1
  },
  "driver_score": 60,
  "driver_label": "Neutral (two-sided trade/tariff)",
  "driver_amplifies": false,
  "driver_commodity_trend": "n/a \u2014 not a commodity-leveraged name",
  "economic_alignment_stance": "Neutral",
  "economic_alignment_conviction": 48,
  "economic_alignment_pressure": "Neutral",
  "economic_alignment_source": "sector-map (XLK)",
  "macro_report_date": "2026-07-30",
  "nonop_pct_of_net_income": 1.8,
  "clean_pe": 38.4,
  "clean_peg": 1.58,
  "competitive_share_trajectory": "stable",
  "competitive_threat_level": "moderate",
  "overall_confidence": 60,
  "fair_value_est": 96.0,
  "stop_loss": 88.0,
  "target_price": 118.0,
  "scenario_base_target": 118,
  "scenario_bull_target": 145,
  "scenario_bear_target": 88,
  "entry_groups_met": 0,
  "entry_conviction": "Wait",
  "exit_groups_live": 0,
  "exit_action": "Hold",
  "hard_gate_state": "caution",
  "gates_triggered": [],
  "gates_caution": [
    "Valuation Ceiling"
  ],
  "do_not_buy_triggers": [],
  "analyst_consensus_target": 131.0,
  "analyst_target_high": 132.0,
  "analyst_target_low": 118.0,
  "analyst_target_upside_pct": 20.9,
  "analyst_grades_consensus": "Buy",
  "analyst_bullish_pct": 93,
  "analyst_coverage_count": 15,
  "fmp_rating": "A-",
  "fmp_overall_score": 4,
  "recent_upgrades_30d": 0,
  "recent_downgrades_30d": 0,
  "gics_sector": "Information Technology",
  "short_signal": "HOLD",
  "user_horizon": null,
  "user_allocation_pct": null,
  "portfolio_role": null,
  "next_update_date": "2026-08-18",
  "next_update_basis": "default +14d (Q2 FY27 earnings 2026-09-10 beyond window)"
}
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 / get_company_profile Price C$108.37, ISIN CA2499061083, CAD confirmed, dual-listed NASDAQ:DSGX
get_income_statement / get_financial_ratios yfinance fallback — TTM revenue ~C$754m, EPS 2.82, margins, net-cash B/S
get_multi_timeframe_analysis Monthly bar returned NaN (yfinance) — treated n/a; weekly/daily/intraday used
get_price_target_consensus Hard target feed thin (single surfaced target ~C$131.7); leaned on the 15-analyst grade distribution
get_stock_grades / get_grades_consensus / get_ratings_snapshot 15 analysts 93% bullish; FMP A- (4/5)
Macro state (MacroDriver-state-20260730) XLK sector-map N/U/O; AI-concentration tail armed (DSG excluded from cohort)
Web (WiseTech/E2open, Q2 date) WiseTech completed ~US$2.1bn E2open buy (early 2026); DSG Q2 FY27 set for 10 Sep 2026
Impact on scores: No material gaps. The thin hard price-target feed and NaN monthly bar are worked around with the grade distribution and weekly/daily technicals. Valuation is anchored on the warranted-multiple, not the analyst point target, so the thin feed does not move the signal.
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.