Signals unchanged at HOLD / HOLD / HOLD across all three horizons — a high-quality compounder still priced above what a 4.55% 10-year and disciplined growth warrant. Price is roughly flat (C$102.69 → C$103.59, +0.9%). The one real move is Economic Alignment, re-read against the 20 Jul Stagflation-lite / energy-shock macro: stance Trend-Following → Neutral, pressure Tailwind → Neutral, conviction 68 → 52, as Technology (XLK) reads Underperform short / Neutral medium / Outperform long and DSG's trade exposure is now explicitly two-sided.
Descartes Systems Group is a Waterloo, Ontario-based software company that runs the Global Logistics Network — a cloud platform connecting carriers, freight forwarders, customs brokers, retailers and manufacturers so they can plan, execute and settle shipments and stay compliant with cross-border trade rules. Its core products span route optimisation and fleet telematics, transportation management, real-time shipment visibility, e-commerce and warehouse management, and — distinctively — one of the industry's deepest libraries of global customs, tariff and trade-compliance content. What sets it apart is that network plus that regulatory content: both are deeply embedded in customer workflows and get more valuable as more participants join, giving Descartes high recurring revenue, elite margins and a serial-acquirer model funded from its own cash. For a reader, think of it as the connective tissue and rule-book of global supply chains, sold as subscription software.
Lifecycle / sector: Growth-stage Application Software (GICS Information Technology) — logistics & supply-chain SaaS. Scored on the SaaS profile: Rule of 40, gross margin, FCF conversion, net-cash balance sheet, moat and capital allocation. Revenue is reported in USD; the stock trades in CAD — all per-share/margin reads below are kept on one consistent basis.
| Sub-signal | Value | Context | Score |
|---|---|---|---|
| Revenue growth (YoY) | +14.7% | Q1 FY27 US$193.6M vs US$168.7M; steady mid-teens, acquisition-assisted | 74 |
| Gross margin | 77.5% | Elite SaaS territory (>75%); stable | 88 |
| Operating margin | 32.9% | Op. income +28% YoY — real operating leverage on the network | 86 |
| FCF margin / conversion | 35.6% | US$268M FCF on US$754M rev; FCF > net income | 88 |
| Balance sheet | Net cash | US$377M cash vs US$8M debt — effectively debt-free; current ratio 2.05 | 92 |
| ROE / ROIC | 11.4% / mod | Held down by a large acquired-goodwill/cash base, not weak economics | 55 |
Moat average 72. The Global Logistics Network (GLN) is a genuine two-sided network — carriers, brokers, forwarders and shippers all connected — and customs/compliance content is deeply embedded in customer workflows (high switching cost). Cost advantage is only moderate: rivals can and do build competing content.
| Competitor | Threat type | Share trajectory vs DSG | Moat-erosion vector |
|---|---|---|---|
| WiseTech Global (CargoWise) | Direct freight-forwarding platform | DSG roughly stable; WiseTech gaining in forwarder ERP | End-to-end forwarder suite competes with DSG's network + broker tools |
| project44 / FourKites | Real-time visibility specialists | Stable — DSG's MacroPoint holds, rivals lead in pure visibility | Best-of-breed visibility can unbundle DSG's transportation module |
| e2open | Broad supply-chain / GTM platform | DSG gaining — e2open struggling operationally post-buyout | Overlaps in global trade management & compliance |
| SAP GTS / Oracle / Thomson Reuters ONESOURCE | Enterprise-suite trade compliance | Stable — DSG wins on breadth of trade content/data | Bundled ERP compliance can satisfy larger accounts in-house |
Net effect on the moat: Switching Costs held at 78 and Cost Advantage at 60 (not higher) — content and visibility are contestable. Overall competitive threat: moderate, share trajectory stable. The tariff/trade-complexity wave is, if anything, a share tailwind for DSG's Global Trade Intelligence content vs generalist rivals.
| Multiple | Raw feed (mixed) | Consistent basis | Read |
|---|---|---|---|
| Trailing P/E | — | ~36× | Expensive |
| EV/EBITDA | 26.7× | ~19× | Full |
| EV/Revenue | 11.3× | ~8.1× | Full |
| P/Sales | 11.8× | ~8.4× | Full |
| FCF yield (EV) | — | ~4.2% | Fair |
Implied-growth read (narrative colour): at C$103.59 the market embeds roughly 16% five-year growth for DSG; our disciplined estimate is ~10–11%. The price embeds more growth than the fundamentals conservatively support — i.e. you are paying today for the premium-compounder track record, not a discount.
Optionality is real but a tilt (+4), not a re-rating — the in-production business is already richly priced, so this is the reason to keep watching, not a reason it is cheap.
Primary driver: global trade & freight volume × enterprise logistics-IT spend, with an explicit two-sided tariff overlay. Descartes is uniquely hedged within its own driver: a trade slowdown softens its volume-based transportation/visibility revenue, while rising tariff and customs complexity lifts demand for its Global Trade Intelligence and customs-filing content. The two partly offset.
| Horizon | Read | Basis |
|---|---|---|
| Historical (12–24m) | Mixed | Soft freight market pressured volumes; trade-compliance demand rose on tariff escalation. Revenue held mid-teens through it. |
| Current | Neutral | 20 Jul macro = Stagflation-lite, Iran/Hormuz energy shock (Brent ~US$88); freight/volumes at risk from an oil-driven slowdown, offset by a live tariff-complexity tailwind to compliance revenue. |
| Forward (6–12m) | Neutral / mild+ | Tariff regime looks structural (compliance tailwind persists); freight recovery uncertain. Net mildly constructive but not a clean tailwind. |
Driver score 60 — Neutral. Below the ≥65 amplification threshold, so it does not lift the signal (and the base is HOLD, which never amplifies anyway). Not a commodity-leveraged name, so no price-trend overlay applies. Thesis-invalidation floor: a sustained global-trade/freight recession that finally overwhelms the compliance offset and pushes revenue growth below the software-sector median — that is the level at which the "durable mid-teens compounder" case breaks.
Newest macro (20 Jul): Stagflation-lite, energy-supply-shock (Iran/Hormuz). Technology XLK reads Underperform short / Neutral medium / Outperform long. Anchored on the medium horizon → Neutral pressure. DSG's own trade exposure is two-sided (freight-volume headwind vs tariff-complexity tailwind to compliance revenue), reinforcing a Neutral read. Pressure is Neutral, so it enables no amplification — the base HOLD stands unchanged.
Source: sector-map (GICS Information Technology → XLK) · Macro report 2026-07-20
Timing is the crux of the HOLD: a high-quality business, but a chart still repairing a large drawdown and lagging its benchmarks.
| Date | Event | Impact | Forecast | Previous | Relevant? | Why |
|---|---|---|---|---|---|---|
| ~2026-08-01 | US ISM Manufacturing PMI | Medium | — | — | ⚠️ Medium | Freight/goods-flow proxy — feeds DSG's transportation volumes |
| 2026-07-29/30 | FOMC rate decision | High | Hold | Hold | ⚠️ Low-direct | Low-beta name; matters only via broad growth-multiple sentiment |
| ~2026-09-02 | DSG Q2 FY27 earnings | High | — | — | ✅ Yes | The next real re-rating event for the stock |
| Date | Event | Actual | Forecast | Surprise | Impact |
|---|---|---|---|---|---|
| 2026-07-17 | US 10-Year Treasury | 4.55% | — | flat/up | Slight headwind — lifts the discount rate in the warranted multiple |
| 2026-07 (ongoing) | Brent crude (Iran/Hormuz) | ~US$88 | — | +30% off Jul lows | Risk-off; threatens freight volumes if a slowdown follows |
Nothing high-impact hits DSG inside the next 14 days — the next stock-specific catalyst is Q2 FY27 earnings in early September, well beyond this report's refresh. Macro sensitivity is low (beta 0.19); the only live macro read-through is the Iran/Hormuz oil shock threatening global freight volumes, and a marginally higher 10-year nudging the warranted multiple down.
| Timeframe | Trend | Direction | RSI | MACD | Key S/R | Breakout | Vol |
|---|---|---|---|---|---|---|---|
| Monthly | Downtrend ↓ | Bearish | 43 | −, falling | S: 95 / R: 110–115 | none | 0.7x |
| Weekly | Downtrend ↓ | Bearish | 50 | −, hist rising | S: 89–93 / R: 110 | none | 0.9x |
| Daily | Recovering ↗ | Neutral+ | 55 | +, rising | S: 96 / R: 106–110 | above 50-DMA | 0.7x |
| Hourly | Uptrend ↑ | Bullish | 52 | +, flat | S: 100 / R: 105–107 | none | 0.9x |
| 15-min | Downtrend ↓ | Bearish | 44 | − | S: 101 / R: 105 | none | 4.0x |
| Confluence: Bearish (higher-TF) with a near-term recovery · MTF Score 45 | |||||||
The big picture still reads down — monthly and weekly are repairing the fall from ~C$150, so the tool tags confluence bearish. But the tradable near term is constructive: price (C$103.86) is back above a rising daily 50-DMA (~C$100), daily RSI 55 with a positive MACD, and a clean higher-low base off the C$85 low (85 → 90 → 95 → 98 → 103). Read it as basing/recovering inside a larger repair, not a fresh uptrend. Key levels: reclaim and hold C$106–110 to confirm; C$96 then C$85 are the supports that must hold.
DSG.TO 6-month daily (CAD) with 50-day SMA. Recovered off the C$85 base to ~C$104; still below the pre-drawdown range. Above a rising 50-DMA.
Multiple re-rates back toward its premium-compounder range (mid-30s×) as the tariff-complexity wave accelerates Global Trade Intelligence revenue, the freight cycle turns, and M&A stays accretive. ~+35% from C$103.59. Trigger: two quarters of accelerating organic growth + a freight-volume recovery.
The most probable path: steady mid-teens revenue growth and elite FCF continue, the forward multiple holds ~30–32×, and the stock compounds with modest re-rating as it repairs the drawdown. ~+8%. This is the probability-weighted centre of gravity — a quality hold, not a bargain.
The multiple compresses toward warranted (24–26×) on a growth stumble, a freight/trade recession that overwhelms the compliance offset, or a broad growth-multiple de-rate. ~−21%, into the C$85 base. Note: this is an idiosyncratic multiple/volume bear — DSG is NOT in the AI-concentration cohort, so it does not inherit that systemic tail. A credible rival (WiseTech gaining forwarder share) is the company-specific trigger.
Probability-weighted 12-month fair value ≈ C$113 (0.25×140 + 0.55×112 + 0.20×82) — roughly +9% from C$103.59, base-case-centred. The intrinsic warranted anchor (~C$78–85) sits well below the market's premium-compounder price; the scenarios reflect the market's demonstrated willingness to pay that premium, not an endorsement of it.
Forecast: Fundamental group is the gating one and is Unlikely near term — it needs either a pullback into the C$85–90 base (a ~15% drop) or a multiple reset, neither in the base case. Technical group is Moderate: a confirmed reclaim of C$106–110 on volume could come within 2–4 weeks if the recovery holds. Catalyst group is event-dependent on Q2 FY27 earnings (~2–3 Sep). Net: no entry edge today — this is a watch, not a buy.
Forecast: No exit trigger is live. Stop (C$85) is ~18% below and unlikely in 4–6 weeks absent an earnings shock or a broad tech sell-off. Profit-target (~C$130) is ~25% away — not near. For a non-holder this is simply a watch.
Buying now means paying a premium multiple (~36× trailing) that the rate-and-growth-warranted anchor puts at ~24× — you are above intrinsic fair value with no entry group met (Fundamental fails on price, Technical unconfirmed). What you gain immediately: a genuine quality compounder (Rule of 40 = 50, net cash, 35% FCF margins), a ~4.2% FCF yield working for you, embedded tariff/M&A optionality, and the base path to ~C$112. What you risk: the C$82 bear (−21%) if the multiple compresses, and path risk into September earnings. Read: waiting for a pullback into C$85–90 or a confirmed reclaim of C$110 materially improves the deal — acting now is paying up for quality with no margin of safety.
If you did own it: selling now would give up the base-case ~+8% to C$112 and the tariff/M&A optionality, and you'd be selling a best-in-class compounder below most Street targets (~C$130). What selling protects: the ~21% drawdown to C$82 if the growth-multiple de-rates. No exit rule is live (stop C$85 far below, no thesis break, not at the profit target). Read: this is a hold/watch zone, not a sell — the only action the rules support is waiting for a better entry, not exiting.
Position sizing not computed — no allocation or portfolio role was specified. Context: beta 0.19 (about a fifth of the market's volatility — unusually defensive for tech), daily ATR ~3.8%, 52-week drawdown ~43% peak-to-trough. The §12 Conviction Ladder reads Wait (0 of 3 entry paths met), so the guidance is to watch the C$85–90 support / a confirmed C$110 reclaim rather than size a position here.
{
"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-07-20",
"version": "v6",
"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": 103.59,
"signal_short": "HOLD",
"signal_medium": "HOLD",
"signal_long": "HOLD",
"primary_signal": "HOLD",
"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": 38,
"valuation_detail": {
"fcf_yield": 4.2,
"ev_ebitda": 19.0,
"ev_revenue": 8.1,
"p_s": 8.4,
"implied_growth_rate": 16.0,
"consensus_growth_rate": 13.0,
"historical_valuation_decile": 4,
"warranted_multiple": 24,
"actual_multiple": 36,
"val_multiple_basis": "clean trailing P/E (CAD-consistent)",
"discount_rate_r": 9.0,
"risk_free_10y": 4.55,
"g_near": 10.5,
"g_term": 3,
"warranted_ratio": 1.5,
"val_band": "expensive"
},
"timing_score": 54,
"timing_detail": {
"mtf_confluence": 45,
"risk_reward_score": 56,
"relative_strength_vs_spy": -16.0,
"relative_strength_vs_sector": -11.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": 52,
"economic_alignment_pressure": "Neutral",
"economic_alignment_source": "sector-map",
"macro_report_date": "2026-07-20",
"nonop_pct_of_net_income": 1.5,
"clean_pe": 36.0,
"clean_peg": 1.6,
"competitive_share_trajectory": "stable",
"competitive_threat_level": "moderate",
"overall_confidence": 62,
"fair_value_est": 90.0,
"stop_loss": 85.0,
"target_price": 112.0,
"scenario_base_target": 112,
"scenario_bull_target": 140,
"scenario_bear_target": 82,
"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": 130.0,
"analyst_target_high": 132.0,
"analyst_target_low": 118.0,
"analyst_target_upside_pct": 25.5,
"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,
"user_horizon": null,
"user_allocation_pct": null,
"portfolio_role": null,
"next_update_date": "2026-08-03",
"next_update_basis": "default +14d (next earnings ~2026-09-02 beyond window)"
}
HOLD/HOLD/HOLD carried from 3 Jul. A high-quality, net-cash, elite-margin logistics-SaaS compounder (Quality 78, Rule of 40 = 50) held back by price: clean trailing P/E ~36× is ~1.50× the rate-and-growth-warranted ~24× and above the 33× IT guardrail, so the Valuation Ceiling gate caps the signal at HOLD and blocks STRONG-BUY amplification. Economic alignment softened to Neutral under the 20 Jul Stagflation-lite macro (XLK U/N/O; two-sided tariff exposure). Entry conviction Wait — great business, no valuation entry edge.