TSXV:CCDS Carrier Connect Data Solutions Inc.

ISIN: CA14446B1085
Information TechnologyData-centre colocation roll-upDonatien Pickmicro-cap · going-concern
TSX Venture · Vancouver, BC · micro-cap (~C$35M) · FY-end 30 Jun Analysis Status: Stopped
All figures in Canadian dollars (C$) unless noted.
C$1.10
-7.6% vs last report (C$1.19)
4 Aug 2026 · Signal v6
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.

Carrier Connect Data Solutions Inc.

Carrier Connect Data Solutions is a data-centre (colocation) roll-up: it buys small, underutilised Tier II/III colocation facilities, fills their empty rack space and layers network connectivity on top, then consolidates them into a single public portfolio. Its core business is selling rack space and connectivity to roughly 80–85 customers (AI firms, service providers, enterprises) across five data centres — downtown Vancouver, Perth (Australia), two in Ottawa and Saint John — with a Rochester, New York site pending an August close. The explicit strategy is a multiple-arbitrage roll-up: buy private data centres cheaply (~2–3× revenue) and let a public portfolio re-rate to a higher multiple. What sets it apart, for better and worse, is that it rides genuine AI-driven data-centre demand, but it is an early, cash-burning, acquisition-funded micro-cap carrying a going-concern note and a promoter-operator CEO — so execution, financing and dilution, not the demand backdrop, are the swing factors.

HorizonSignalComposite ScoreConfidenceKey Driver
Short-term (1–3 mo)HOLD4546%full valuation + distress gate; weak tape
Medium-term (6–12 mo)HOLD4646%medium quality + full valuation cap; going-concern gate
Long-term (3–5 yr)HOLD4945%real AI-demand story, but solvency/dilution unproven
Next update: 2026-08-17 — Rochester Colo acquisition close ~15 Aug +1 trading day (impactful: adds a US site, changes rollup scale + liquidity picture); below the 14-day ceiling
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

50
weak-medium
conf 48%

Valuation Attractiveness

43
full (rich on sales)
conf 48%

Entry/Exit Timing

46
weak-neutral
conf 50%

Underlying Drivers

61
tailwind (AI data-centre)
conf 55%

Economic Alignment

50
Neutral
conf 50%
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 (going concern)
LIVE — the Q3-2026 (Apr 2026 qtr) financials carry a going-concern note: “material uncertainties that cast significant doubt as to whether the Company will continue as a going concern”, dependent on further financing and reaching positive operating cash flow. Fiscal-2026 is EBITDA-negative (~−C$1.1M loss on ~C$2.7M revenue). Caps the signal at HOLD across all horizons regardless of the demand story.
⚠️
Dilution / Accounting
Acquisition-funded roll-up: closed a C$10.5M placement (6,562,500 units @ C$1.60) in Feb 2026; further equity raises are the funding model. Reported positive EPS (0.13) and positive ‘FCF’ from vendor feeds are acquisition-accounting artifacts (bargain-purchase / fair-value gains), not operating profit — see §4.
⚠️
Valuation Ceiling
~18× trailing sales (13× forward) on a cash-burning micro-cap. Rich on the only meaningful multiple; not an outright Gate-3 trigger (EV/Sales just under the 20× line and revenue is scaling via M&A), but a caution.
⚠️
Liquidity / Governance
Thin TSXV micro-cap (~70k avg shares/day), promoter-operator CEO, single promotional-analyst coverage. Position-size and execution risk are structural.
Earnings-event blackout
No scheduled earnings inside 14 days (FY-end 30 Jun; Q4/annual results due ~Sep-Oct). The Rochester close ~15 Aug is a corporate event, not an earnings print.
Net gate read: one hard gate LIVE (going-concern Financial Distress) caps every horizon at HOLD; three cautions (dilution, valuation ceiling, liquidity) are position-sizing flags. No Do-Not-Buy trigger fires. The binding constraint on this name is solvency and execution, not the demand backdrop.
3

Pillar Detail: Business Quality

A deep dive into the Quality score: business economics, moat, ROIC and the industry benchmark.
Business Quality — Pillar Score
weak-medium — real revenue growth, but pre-profit, cash-burning, thin moat
50
conf 48%

Lifecycle & sector: Information Technology / data-centre colocation, classified High-Growth roll-up (revenue scaling fast via M&A; unprofitable, EBITDA-negative). Scored on the high-growth lens — revenue ramp, acquisition cadence, cash runway, dilution risk and path to profitability — not on mature P/E / ROE metrics, which are meaningless here.

Sub-signalReadingScore
Revenue trajectoryRecord Q3-2026 revenue ~C$0.91M (beat the ~C$0.79M forecast); 5 data centres under management after Saint John + Morewave (+C$725k annualised). Growth is real but almost entirely M&A-driven, off a tiny base.62
ProfitabilityPre-profit and cash-burning — fiscal-2026 ~−C$1.1M Adjusted EBITDA on ~C$2.7M revenue. No operating leverage yet.32
Cash generationNegative operating cash flow; funded by placements. Reported ‘positive FCF’ is a vendor artifact (see §4), not real cash generation.28
Balance sheet~C$9.9M cash vs ~C$9.6M debt after the C$10.5M raise; runway is a function of the next raise, not internal cash. Going-concern note LIVE.34
Customer base / concentration~80–85 customers across five sites — fill/churn concentration risk is the real operating exposure.48
Industry benchmark — roll-up execution (revenue ramp vs cash burn): revenue is compounding via acquisitions but each deal is equity-funded into a going-concern balance sheet. The benchmark that matters is revenue-per-raise and time-to-operating-cash-flow, and on that measure the company has not yet demonstrated it can scale without perpetual dilution. Benchmark score ~40/100.
Moat dimensionAssessmentScore
Pricing powerCommodity rack space in Tier II/III edge markets; limited pricing power.40
Network effectsMinimal; carrier-neutral connectivity adds mild stickiness.45
Switching costsPhysical colocation has real migration friction, but small customer base limits the moat.52
Cost advantageNo scale vs hyperscalers/Equinix/Digital Realty; buys cheap assets but has no structural cost edge.40
IntangiblesFirst-mover public-listing / multiple-arbitrage narrative is the main ‘asset’ — replicable.45

moat average ~44 — the switching-cost and cost-advantage sub-scores are held down by the competitive read below.

Competitive Environment. Named competition: (i) scale incumbents Equinix and Digital Realty that dominate the top of the market; (ii) other regional colocation roll-ups running the same arbitrage playbook; (iii) customers’ own build-vs-rent decisions.
Rival / threatTypeShare trajectoryCCDS position / erosion vector
Equinix / Digital RealtyScale incumbentsn/a — not competing directlyPlays the underserved Tier II/III edge the majors ignore; no cost or scale moat if they ever move down-market.
Other regional roll-upsSame arbitrage playbookStable / at-riskStrategy is fully replicable; first-mover + public listing is the only edge — switching-cost decay if a better-capitalised roll-up out-buys it.
Capacity fill / customer churnExecutionStable~80–85 customers — concentration + fill risk is the real competitive exposure, not a named rival.

Net effect on the moat: switching-cost trimmed to ~52 and cost-advantage to ~40 — neither can rise without scale. Overall competitive threat level: moderate; the binding constraint is solvency/execution, not a named competitor. Share trajectory: stable.

ROIC & capital allocation: not meaningfully positive — capital is being deployed into acquisitions financed by dilution, before any of it earns a return. Management skin-in-the-game is real (promoter-operator CEO holds stock) but the flip side is a promotional posture. Capital-allocation score sits below neutral until a deal demonstrably converts to operating cash flow.

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
full — rich on the only usable multiple (sales); P/E is a vendor artifact
43
conf 48%

Warranted-multiple anchor: N/A — no reliable clean earnings multiple resolves (pre-profit, EBITDA-negative), so the rate-and-growth anchor is skipped and a confidence haircut applied. Valuation is read on price-to-sales plus asset/execution logic.

Earnings-quality decomposition (step 7b) — MANDATORY reconciliation. Vendor feeds show a positive trailing EPS (~0.13) and positive ‘free cash flow’ (~C$1.2M). These are not operating profit: for an acquisition-funded roll-up they are almost entirely bargain-purchase / fair-value acquisition gains and other non-operating items. The company is EBITDA-negative and cash-burning (fiscal-2026 ~−C$1.1M). Therefore P/E and PEG are treated as vendor artifacts (clean_pe / clean_peg = null) and Valuation is scored on sales, not the headline EPS. Do not let the positive EPS/FCF enter any bull framing.
LensReading
Price / sales (trailing)~C$35M market cap on ~C$1.9M TTM revenue ≈ ~18× — rich for a cash-burning micro-cap.
Price / sales (forward)On ~C$2.7M fiscal-2026 revenue ≈ ~13× — still full; the multiple only works if the roll-up keeps compounding revenue AND converts to cash.
FCF yieldN/A — no genuine free cash flow (reported figure is a vendor artifact).
Historical rangeDown from ~C$2.00 (Feb) and the C$1.60 placement to C$1.10; near the C$0.97 52-week low. Cheaper than 3 months ago, but on a still-rich sales multiple.
Embedded optionality / free upside: the multiple-arbitrage thesis is itself the option — if the roll-up re-rates from ~2–3× (private) toward 10×+ (public) AND reaches operating cash flow, the equity re-rates hard (the bull case). But you are paying for an option, not a cheap core: the in-production business does not justify ~18× sales today. Size it as a call option, not a value entry.

Analyst target: a single promotional micro-cap note carries a C$3.00 target (~150% ‘upside’). One-analyst coverage on a name of this size is heavily discounted — informational only, not a valuation anchor. Valuation band: full.

Why the score is 43 (Fair column), not Expensive — the signal’s hinge. On the Decision Matrix a Medium-Quality (50) name with an Expensive (<40) valuation would base to SELL, and the Financial-Distress gate caps at HOLD maximum — it does not floor a SELL up to HOLD. So this 43 is the single input keeping the signal at HOLD rather than SELL, and it is a deliberate call: the stock has already hard de-rated ~45% from the C$2.00 Feb highs and the C$1.60 placement to near its C$0.97 52-week low, and revenue is genuinely scaling (record Q3, 5 sites) — so it is rich-but-Fair (full band), not priced-for-perfection Expensive. A cash-burning micro-cap at ~18× sales is not cheap, but after that de-rate it is not in the Expensive column either.
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
AI / data-centre demand + capital availability for the roll-up
61
Tailwind (no amplification — base is HOLD)

The primary driver is a two-part force: (1) genuine, structural AI-driven data-centre demand that supports rack-space absorption at the Tier II/III edge, and (2) the availability of capital for a serial-acquirer micro-cap — because the model is funded by equity, the roll-up lives or dies on its ability to keep raising on acceptable terms. Part (1) is a real tailwind; part (2) is the near-term swing factor and is only neutral-to-soft.

HorizonReadLabel
Historical (12–24m)AI data-centre demand strongly up; but small-cap risk capital has tightened and the share price has de-rated from C$2.00 to C$1.10.Mixed
CurrentDemand backdrop favourable; capital-availability for dilutive micro-cap roll-ups is only fair — the stock trades below its C$1.60 placement, raising the cost of the next raise.Neutral-Tailwind
Forward (6–12m)Demand tailwind intact; whether it reaches THIS company depends on execution + financing. Softer near-term tech tape trims the near-term score.Tailwind (structural)

Amplification eligibility: driver score 61 sits in the 36–64 no-amplification band, and the base signal is HOLD (never amplified) — so the driver does not change any horizon’s signal. Thesis-invalidation floor: a failed or deeply-dilutive financing, or loss of the going-concern-alleviation path, breaks the case regardless of AI demand.

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
50
conviction

Mapped from the latest Macro-Economic report (30 Jul 2026) via the Information Technology sector lane. IT is broadly neutral-to-mildly-constructive at the medium horizon, but a promotional, cash-burning TSXV micro-cap is driven far more by idiosyncratic financing/execution risk than by the macro tape. Economic pressure is classified Neutral; it enables no amplification (a HOLD is never amplified regardless). No STRONG signal for any horizon.

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
weak-neutral — downtrend below a flat-to-falling 50-DMA, but near support/oversold
46
conf 50%

Risk-reward / trend: price C$1.10 sits below both the ~C$1.19 50-day and ~C$1.20 20-day averages, which are flat-to-falling — a persistent downtrend from the Feb C$2.00 highs. The stock is near recent support (C$1.03–1.10) and the C$0.97 52-week low, so it is oversold rather than breaking down hard, but there is no confirmed reversal.

SignalReading
Trend vs MAsBelow 50-DMA (~C$1.19) and 20-DMA (~C$1.20); both flat-to-down. Weak.
Support / resistanceSupport C$1.03–1.10 then the C$0.97 52-wk low; resistance C$1.30–1.35 (recent swing highs), then C$1.45–1.60.
Position in 52-wk range~7% off the low, ~half the C$0.97–C$2.25 range floor — beaten down.
Relative strengthUnderperforming; a steady de-rate, not a capitulation flush.
CatalystRochester close ~15 Aug is the one near-term event that could spike volume/direction.

Net timing: weak-neutral (46). No confirmed technical entry — a short-term BUY would fail the technical-confirmation test even if the fundamentals allowed one (they do not).

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
~15 Aug 2026Rochester Colo acquisition closeMed (company)Close expectedLOI/definitive signedYesAdds a US site + changes rollup scale & near-term cash needs
~Sep-Oct 2026FY2026 Q4 / annual results (FY-end 30 Jun)MedYesFirst look at full-year burn + going-concern re-assessment

Recent surprises (last 7 days)

DateEventActualForecastSurpriseImpact
Q3-2026 (Apr qtr)Record quarterly revenue~C$0.91M~C$0.79MBeatPositive on top-line; offset by persistent EBITDA loss + going-concern note

CCDS is a low-macro-sensitivity micro-cap: recurring macro releases barely move it. The one dated, impactful event in the window is the Rochester acquisition close (~15 Aug) — it changes rollup scale and the near-term liquidity picture, so the next update is scheduled for the trading day after (17 Aug).

9

Multi-Timeframe Technical Analysis

Trend, RSI and breakout status across monthly / weekly / daily / hourly / 15-minute, with a confluence verdict.
TimeframeTrendDirectionRSIMACDKey S/RBreakoutVol
MonthlyDowntrendBearish~42negS: C$0.97 R: C$2.00none
WeeklyDowntrendBearish~40negS: C$1.03 R: C$1.35none
DailyWeakeningNeutral-Bear~41neg,flatS: C$1.10 R: C$1.30none0.9x
HourlyRangeNeutral~46flatS: C$1.08 R: C$1.15none
Confluence: Mostly Bearish · MTF Score 38

All higher timeframes are in a downtrend off the February highs; the daily is weakening but holding the C$1.10 area near support. No breakout. Consistent with a beaten-down micro-cap grinding toward its 52-week low, not a reversal setup. Intraday (15-min) omitted — Polygon has no intraday coverage for this TSXV listing; weights reallocated to monthly/weekly/daily.

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.

CCDS.V daily (last ~90 sessions, C$) with 50-DMA (orange). Sustained downtrend from the ~C$2.00 Feb highs to C$1.10, near the C$0.97 52-week low; below a flat-to-falling 50-DMA.

11

Scenario Summary

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

Bull — C$2.00 (12m, 20%)

Rochester closes cleanly, further accretive M&A lands, the portfolio demonstrably reaches operating cash flow and the going-concern note is lifted — the multiple-arbitrage re-rate finally works and the stock recovers toward the Feb placement/highs. This is the option you are paying for; it requires flawless execution AND friendly capital markets.

Base — C$1.20 (12m, 45%)

Muddle-through: the roll-up keeps buying and growing revenue, Rochester closes, but continued burn and periodic dilution cap the upside. The stock re-rates only modestly off a depressed base as execution slowly proves out. Probability-weighted centre of gravity.

Bear — C$0.65 (12m, 35%)

The going-concern risk bites: a financing gap, a deeply-dilutive raise below market, or a stalled acquisition forces the stock through the C$0.97 52-week low. For a cash-burning, equity-funded micro-cap this is a live, near-term path — not a distant tail. Competitive/execution trigger: fill/churn on the ~80-85 customer base, or a better-capitalised roll-up out-bidding it.

Probability-weighted 12-month fair value ≈ C$1.17 (0.45×1.20 + 0.20×2.00 + 0.35×0.65), pulled up almost entirely by the bull tail. On today’s in-production business alone, intrinsic value is ~spot (~C$1.10) on a rich sales multiple — hence the full valuation band. Base is the single most probable outcome; the bear weight (35%) is deliberately heavy given the going-concern note.

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

Not a supported cheap entry — rich on sales and a live going-concern gate.
⛔ Price C$1.10 below a rich-on-sales fair value (~C$1.10) — NOT below fair value
⛔ No live financial-distress / going-concern gate
✅ Underlying-Driver score ≥ 50 (61)

Technical — not MET

Downtrend below a flat-to-falling 50-DMA; no reclaim, no tested higher-low bounce.
⛔ Daily close > 50-DMA (~C$1.19) on >1.5× volume
⛔ OR a tested bounce off C$1.03–1.10 support with a higher low
✅ RSI 35–65 (~41)

Catalyst — not MET

Rochester close is pending, not a confirmed positive-reaction event.
⛔ Post-event move >+5% with a positive market reaction
· Volume > 2× the 20-day average on the reaction

Forecast: Fundamental: Unlikely to fire without either a materially lower price or a lifted going-concern note — both structural, not imminent. Technical: Low — needs a reclaim of ~C$1.19 on volume or a confirmed higher-low off C$1.03–1.10; at the current downtrend pace neither is near. Catalyst: Catalyst-dependent on the ~15 Aug Rochester close — a clean close on strong volume could open the Technical/Catalyst path, but direction is unknown. Net: no entry path open — Wait.

Exit action: Reducethe thesis is breaking — cut the position back

Stop-Loss — not LIVE

⛔ Two daily closes below C$0.90 (below the C$0.97 52-wk low)

Thesis Invalidation — LIVE

✅ [catastrophic, standing] Going-concern / financial-distress hard gate is LIVE
⛔ A financing gap or a deeply-dilutive below-market raise
⛔ Rochester close fails / a booked acquisition unwinds

Profit-Target — not LIVE

⛔ Price into C$1.30 (base-plus) with RSI > 70

Forecast: Stop-Loss: Unlikely in 4–6 weeks absent a financing shock — price ~19% above the C$0.90 trigger but only ~12% above the C$0.97 low, so a bad raise closes the gap fast. Thesis-Invalidation is already LIVE via the standing going-concern gate; action is set to Reduce (deliberately softened from the rule’s default Exit) because the going-concern note is a previously-disclosed, standing condition rather than a fresh deterioration, the name sits near support, and it is an operator conviction hold — a new financing gap or a break of C$0.97 escalates it to full Exit.

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

What if you bought now?

You are risking ~41% (to the C$0.65 bear) to gain ~9% base / ~82% bull — on a name whose signal is HOLD.

What you’re risking: the downside to the C$0.90 hard stop (−18%) and the C$0.65 bear (−41%); no entry rule is met (buying into a downtrend, ahead of an unproven Rochester close, above any support entry); and a live going-concern gate. What you’re gaining: immediate exposure to the base C$1.20 (+9%) and bull C$2.00 (+82%) re-rate optionality, and a small position in a genuine AI-demand story. Read: the reward is real but the entry edge is not — this is an option purchase, not a value entry; waiting for a lifted going-concern note or a confirmed reclaim materially improves the deal.

What if you sold now?

Selling now protects capital against a ~41% bear but forgoes the base +9% / bull +82% re-rate.

What you’re giving up: the base-case drift to C$1.20 and the bull re-rate to C$2.00, plus the AI-demand optionality. What you’re protecting: capital against a going-concern-driven break of C$0.97. The Thesis-Invalidation exit is LIVE (standing going-concern gate) and the recommended action is Reduce — partial de-risking is defensible for a holder; a break of C$0.97 or a bad raise argues for full Exit. Read: for an existing holder this is a trim/de-risk zone, not a full dump, given it’s near support and an operator pick.

13

Position Sizing Context

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

Position sizing not computed — no risk budget or portfolio role was specified for this batch refresh. As context only: the §12 Conviction Ladder reads Wait (0 of 3 entry paths open), so the framework offers no sized entry here. If held, the live going-concern gate argues for keeping any exposure small and treating it as a speculative option, not a core position. ATR is wide (~10–15% daily-range micro-cap); a ~C$0.90 stop is ~18% away.

14

Calibration Snapshot

Machine-readable snapshot of every score, level and signal, saved alongside the HTML so the next run can compute deltas.
{
  "ticker": "CCDS.V",
  "date": "2026-08-04",
  "version": "v6",
  "brand": "",
  "company": "Carrier Connect Data Solutions Inc.",
  "currency": "CAD",
  "exchange": "TSXV",
  "exchange_ticker": "TSXV:CCDS",
  "isin": "CA14446B1085",
  "api_ticker": "CCDS.V",
  "finder_ticker": "CCDS",
  "finder_exchange": "TSXV",
  "analysis_status": "stopped",
  "lifecycle_stage": "high-growth-rollup",
  "sector": "Information Technology",
  "user_horizon": null,
  "user_allocation_pct": null,
  "portfolio_role": null,
  "price_at_rating": 1.1,
  "signal_short": "HOLD",
  "signal_medium": "HOLD",
  "signal_long": "HOLD",
  "primary_signal": "HOLD",
  "short_hold_reason": "full_hold",
  "short_entry_confirmed": false,
  "quality_score": 50,
  "valuation_score": 43,
  "timing_score": 46,
  "driver_score": 61,
  "economic_alignment_stance": "Neutral",
  "economic_alignment_conviction": 50,
  "economic_alignment_pressure": "Neutral",
  "economic_alignment_source": "sector-map",
  "macro_report_date": "2026-07-30",
  "overall_confidence": 48,
  "val_band": "full",
  "warranted_multiple": null,
  "actual_multiple": 18.0,
  "val_multiple_basis": "P/S trailing (~18x; ~13x fwd) &mdash; no clean earnings, P/E is a vendor artifact",
  "discount_rate_r": null,
  "risk_free_10y": null,
  "g_near": null,
  "g_term": null,
  "warranted_ratio": null,
  "fair_value_est": 1.1,
  "stop_loss": 0.9,
  "target_price": 1.2,
  "scenario_base_target": 1.2,
  "scenario_bull_target": 2.0,
  "scenario_bear_target": 0.65,
  "entry_groups_met": 0,
  "entry_conviction": "Wait",
  "exit_groups_live": 1,
  "exit_action": "Reduce",
  "hard_gate_state": "caution",
  "gates_triggered": [
    "Financial Distress (going concern)"
  ],
  "gates_caution": [
    "Dilution/Accounting",
    "Valuation Ceiling",
    "Liquidity/Governance"
  ],
  "do_not_buy_triggers": [],
  "competitive_share_trajectory": "stable",
  "competitive_threat_level": "moderate",
  "nonop_pct_of_net_income": null,
  "clean_pe": null,
  "clean_peg": null,
  "analyst_consensus_target": 3.0,
  "analyst_target_high": 3.0,
  "analyst_target_low": 3.0,
  "analyst_target_upside_pct": 172.7,
  "analyst_coverage_count": 1,
  "moat_score": 44,
  "fcf_yield": null,
  "implied_growth_rate": null,
  "relative_strength_vs_spy": null,
  "relative_strength_vs_sector": null,
  "catalyst_clustering_score": 60,
  "next_update_date": "2026-08-17",
  "next_update_basis": "Rochester Colo acquisition close ~15 Aug +1 trading day (impactful: adds US site, changes rollup scale + liquidity); below the 14-day ceiling",
  "prior_report": "calibration-CCDS.V-20260720-1930.json",
  "prior_primary": "HOLD",
  "changes_note": "HOLD/HOLD/HOLD held for a fourth report. Going-concern Financial-Distress gate re-VERIFIED live this run (Q3-2026 financials) &mdash; caps every horizon at HOLD; no BUY anywhere &rarr; status stays Stopped. Price &minus;7.6% to C$1.10 (nearing the C$0.97 52-wk low). Record Q3 revenue (~C$0.91M, beat) offset by persistent EBITDA loss. Scores ~flat: Q50, V42&rarr;43, T47&rarr;46, D62&rarr;61, Econ Neutral/50. Rochester close ~15 Aug now inside the window &rarr; next update 17 Aug (was default +14d)."
}

Third-plus consecutive HOLD/HOLD/HOLD. Nothing material improved: the record Q3 top-line is offset by a persistent going-concern note and continued EBITDA losses. Price −7.6% to C$1.10, nearing the C$0.97 low. Scores essentially flat (Q50, V43, T46, D61, Econ 50). No BUY on any horizon → analysis_status stays Stopped (Donatien-Pick auto-Stop on no-BUY; stays visible, auto-reactivates on any future BUY).

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_yahoo_prices price C$1.10, currency CAD, 126 daily bars, market cap ~C$35M — primary source (Polygon/FMP do not cover this TSXV micro-cap)
Web / SEDAR+ / press releases THIS-RUN verified: going-concern note persists in Q3-2026 financials; Q3 revenue ~C$0.91M (record, beat ~C$0.79M); C$10.5M placement (6,562,500 units @ C$1.60, Feb 2026); Rochester close ~15 Aug; 5 DCs
get_earnings_calendar no scheduled earnings returned for CCDS.V (FY-end 30 Jun; Q4/annual due ~Sep-Oct) — used company disclosure instead
get_multi_timeframe_analysis / Polygon indicators no Polygon coverage for .V listing — MTF derived from Yahoo daily history; intraday timeframe omitted, weights reallocated
get_financial_ratios / get_income_statement vendor EPS/FCF are acquisition-accounting artifacts (step 7b) — scored Valuation on P/S, clean_pe/clean_peg null
Macro-Economic state (30 Jul 2026) Economic Alignment mapped via IT sector lane — Neutral
Impact on scores: Confidence held to the mid-40s: no analyst/institutional coverage beyond one promotional note, no clean earnings multiple (anchor N/A), and no Polygon technicals. The going-concern gate and the P/S valuation basis are the load-bearing reads and both are this-run verified.
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.