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: {'label': 'Stopped', 'cls': 'status-stopped'}
All figures in Canadian dollars (C$) unless noted.
C$1.24
12.7% vs last report (C$1.10)
12 Sep 2026 · Signal v6
The event the last report was waiting for has happened, and it did not change the answer. Rochester Colo closed[3] — USD$250,000 and 800,000 escrowed shares — taking the group to five data centres. The price is up 12.7% to C$1.24. And the signal is still HOLD on all three horizons, because the Decision Matrix returns HOLD at Medium quality, Fair valuation and Neutral timing before any gate is applied.

One correction to my own prior report. It fired the going-concern gate as TRIGGERED on language from the FY2025 annual[4] — a filing dated 30 June 2025, before a $10.5M financing that took cash from $967k to $9.9M[2]. That gate was standing on stale evidence. I have not replaced it with the opposite claim: I have not read the interim statements to 31 March 2026, so the gate is recorded as a caution with its evidence dated, and the FY2026 annual is what settles it.
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)HOLD4648%below the 20- and 50-day; Fair valuation on trailing sales
Medium-term (6–12 mo)HOLD4848%Medium quality and a Fair multiple; Technology Underweight
Long-term (3–5 yr)HOLD5048%real colocation demand, but five regional sites is not scale
Next update: 2026-09-26 — Standing 14-day ceiling. The dated catalyst is the FY2026 annual report (year ended 30 June 2026), which is the filing that will settle whether the going-concern material uncertainty carried from FY2025 survives the $10.5M raise — see gates_caution. Bring the update forward if it lands sooner.
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

52
data-centre roll-up, five sites, losses widening
conf 45%

Valuation Attractiveness

50
24.84x trailing sales, ~9-10x forward
conf 40%

Entry/Exit Timing

42
below the 20- and 50-day, MACD negative
conf 50%

Underlying Drivers

62
colocation demand real; scale is not
conf 55%

Economic Alignment

38
XLK Underweight on all three horizons
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 (Gate 1)
NOT fired, and not cleared either. The prior report fired it on going-concern language from the FY2025 annual[4] — a filing dated 30 June 2025, when cash was $967k. A $10.5M financing has since taken cash to $9.9M[2] against an operating burn of about C$1.1M a quarter, which is roughly two years of runway. I have not read the interim statements to 31 March 2026, so I will not assert the language survives and I will not assert it was removed. It is recorded as a caution with its evidence dated, and the FY2026 annual settles it.
⚠️
Dilution (Gate 4)
800,000 consideration shares for Rochester[3] is about 2.4% of the 33,739,900 shares outstanding, escrowed over 24 months, on top of the earlier $10.5M raise. A sub-scale roll-up that buys with paper dilutes by design. The test is whether the acquired assets outrun the issuance, and one closed quarter is not enough to answer it.
⚠️
Valuation ceiling (Gate 3)
24.84x trailing sales[1] while operating losses widen from -C$279k to -C$1.14M a quarter[5]. On annualised post-Rochester revenue the multiple is nearer 9-10x, which is defensible for a growing infrastructure roll-up — but that figure rests on integration the company has had one month to demonstrate.
⚠️
Liquidity / governance
Average volume 71,361 shares, with recent sessions as thin as 5,200[1], and an ATR of 5.0% of price. Coverage is a single analyst. A position of any size cannot be built or exited quickly, and the one published target (C$3.00) carries no consensus behind it.
No hard gate fires, and the verdict does not need one. Quality 52, Valuation 44 and Timing 42 put this in the HOLD row of the Decision Matrix on every horizon on the fundamentals alone. Four cautions stand — an undated going-concern question, dilution by design, a demanding trailing multiple and genuinely thin liquidity — and none of them is doing the work here.
3

Pillar Detail: Business Quality

A deep dive into the Quality score: business economics, moat, ROIC and the industry benchmark.
Business Quality — Pillar Score
Closed the acquisition it promised; margins and losses have not followed yet
52
conf 45%

What this is. A carrier-neutral data-centre roll-up, now at five sites under management[2] after completing the Rochester Colo acquisition[3]. Revenue is compounding hard from a tiny base: C$95,946 in the March-2025 quarter to C$910,136 in the March-2026 quarter[5], which the company reports as +849%.

What the growth costs. Operating losses widen in step with it — -C$279k, then -C$1.07M, then -C$1.14M across the last three reported quarters[5] — and gross margin is unstable, 32% in the latest quarter against 54% in the one before. That pattern is normal for a roll-up buying and integrating sites, and it is also what a roll-up looks like when the integration is not working. One quarter cannot tell you which.

The balance sheet is the improvement. Cash C$9,857,201 against total debt C$9,563,050 is roughly net-neutral[1], where a year ago the company had $967k and a working-capital position of $1.1M[4]. That is the single biggest change in this name and it is why the going-concern gate is no longer something I am willing to assert.

Competitive Environment

Who it is actually against. At the top of the market sit Equinix and Digital Realty, and CCDS does not compete with them — it is two orders of magnitude too small and sells into a different customer. Its real competitive set is the regional and roll-up tier: Cologix and eStruxture in Canada, DataBank, TierPoint and Flexential in the US Northeast. Those are the parties bidding for the same small Tier II/III facilities CCDS is buying, and every one of them is better capitalised.

Share trajectory: gaining, and bought rather than won. Five sites under management against three a year ago[2], with the fifth arriving by acquisition[3]. That is genuine share growth and it is the model working. It is not the same thing as winning customers from a rival, and the moat it builds is switching cost at the rack — real, but local and modest. The competitive risk that matters here is not losing customers; it is being outbid for the next facility by someone whose cost of capital is lower.

Quality 52 — up two. The acquisition it promised, it closed. The margins and the loss trajectory have not yet earned more than that.

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
24.84x trailing sales, ~9-10x forward — the vendor P/E is an artifact
50
conf 40%

The multiple, and the one you must not use. C$1.24 against 33,739,900 shares is a market capitalisation of C$41,837,476, or 24.84x trailing sales[1]. The same data feed reports a P/E of 9.5x and EPS of C$0.13. Both are artifacts — the company's net margin is -189% — and neither appears anywhere in this scorecard.

Forward is the honest lens, and it is softer. Annualising the March-2026 quarter and adding Rochester puts revenue nearer C$4-5M, which is roughly 9-10x sales. For a data-centre infrastructure business compounding at this rate that is not demanding. The catch is that the denominator is a forecast resting on one month of ownership.

The street is one person. A single analyst carries a C$3.00 target, 142% above the price[1]. I am recording it because it exists and because hiding a bullish datum is the failure this framework has been bitten by, but one target is not a consensus and it is not weighted here.

Valuation 50 — up 7. Trailing sales got dearer as the price rose 12.7% and revenue had not yet caught up; the forward multiple got cheaper because Rochester closed. Those two roughly offset, which is why this barely moves.

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
Data-centre colocation demand
62
Tailwind 62 — eligible on the score, but the base signal is HOLD so nothing amplifies

The demand backdrop is genuinely strong and it is not the whole story. Colocation and carrier-neutral capacity sit directly under the AI and cloud build-out, and that is the tailwind carrying this name's thesis. But CCDS is a C$42M company operating five regional sites; it is a price-taker buying assets in a market where the capital is flowing to operators two orders of magnitude larger.

Execution is now a driver in its own right. The Rochester close[3] converts the roll-up from a stated plan into a demonstrated one. The next test is the acquisition after this one, and whether it is funded with paper at a price the existing holders would choose.

Drivers 62 — up one, for the close.

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
Defensive · Headwind
38
conviction

The 9 September macro report has Technology (XLK) Underweight on all three horizons, with energy-shock stagflation the dominant regime at 48% probability[7]. A pre-profit technology micro-cap is close to the worst-positioned thing in that regime: it needs capital, and stagflation is where capital gets more expensive and less patient.

Pressure Headwind, conviction 38 — down twelve. That fall is the single largest score change in this update and it is entirely macro, not company-specific.

Source: sector map (GICS Information Technology → XLK) · Macro report 2026-09-09 · Macro report 2026-09-09

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
Below the 20- and 50-day averages, MACD negative, OBV falling
42
conf 50%

The tape has rolled over. C$1.24 sits below both the 20-day (C$1.2935) and the 50-day (C$1.2392) averages, the MACD line has just crossed negative with the histogram at -0.0070, and on-balance volume has fallen from 159,700 to 67,700 in three weeks[6]. RSI-14 at 47.7 is neutral, not oversold.

There is no long-horizon read available, and I am not going to invent one. Only 163 daily sessions of history exist, so there is no 200-day average. Any statement about this name's primary trend would be an opinion wearing a technical costume.

Timing 42 — down four. Price above a rising 50-DMA in August; below it now.

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 14 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)Med——YesFirst 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
DailyRolling overBearish47.7negS: C$1.03 R: C$1.29none—
vs 20-dayBelowBearish——SMA20 C$1.29none—
vs 50-dayBelowBearish——SMA50 C$1.24none—
200-dayNOT AVAILABLE———only 163 sessions of history——
Confluence: Bearish on what exists · MTF Score 35

This table is deliberately short. The listing has 163 daily sessions, so there is no 200-day average and no primary-trend read, and a multi-timeframe grid that filled those rows would be inventing them[6]. What the daily series does say: price is below both the 20- and 50-day averages, the MACD line has just crossed negative, and on-balance volume has fallen by well over half in three weeks.

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 closes, last 90 sessions to 11 Sep 2026, with the 50-day average. The range over the window is C$1.03 to C$1.47; the price has round-tripped from C$1.25 to C$1.24 and now sits below the 50-day. There is no 200-day line because the listing has only 163 sessions of history[6].

11

Scenario Summary

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

Bull — C$2.10 (12m, 25%)

Rochester integrates cleanly, a further accretive acquisition lands on terms that do not punish existing holders, and the five-site portfolio demonstrably reaches operating cash flow. At that point the trailing sales multiple stops mattering and the forward one does. 69% from here.

Base — C$1.30 (12m, 50%)

Revenue keeps compounding and operating losses keep pace with it, so the equity drifts with the sector rather than re-rating. Technology is Underweight on all three horizons[7], which caps the drift. 5% from here.

Bear — C$0.70 (12m, 25%)

Integration costs run ahead of acquired revenue, the operating burn forces a raise into a weak tape, and the going-concern question that the FY2025 annual raised[4] comes back with the FY2026 filing. -44% from here.

Probability-weighted 12-month fair value ≈ C$1.35 (0.25×2.10 + 0.50×1.30 + 0.25×0.70), or 9% against the C$1.24 price. The spread is what the number is really saying: a bear 44% below and a bull 69% above on a C$42M company with one analyst.

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: Wait — VOID for new capital0 of 3 groups met — VOID for new capital: an exit is live (exit_action Reduce). The count below describes sizing for an entry that is not on offer; it governs an existing position only

Fundamental — not MET

Not a supported cheap entry — rich on trailing sales, and the profit is not there to test.
⛔ Price C$1.24 below a fair-value estimate of C$1.20
✅ No earnings or dated binary within 7 days
✅ Underlying-Driver score >= 50 (62)

Technical — not MET

The tape rolled over in the first week of September.
⛔ Close above the 50-day average on volume > 1.5x the 20-day average
✅ RSI 35-65 — daily RSI-14 is 47.7
⛔ MACD histogram positive for >= 2 sessions — it is -0.0070 and falling

Catalyst — not MET

The Rochester close was the catalyst, and it has been and gone.
⛔ A dated catalyst within 30 days — the FY2026 annual has no fixed date
⛔ Volume > 2x average on the confirmation

Forecast: Entry conviction: none of three groups met — no position. The fundamental group needs a cheaper price or a proven forward multiple; the technical group needs the 50-day reclaimed on volume; the catalyst group needs the FY2026 annual to get a date. Any one of those reopens this.

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

Stop-Loss — not LIVE

Not live — the price is 23% above the stop.
⛔ Close below C$0.95 for two sessions

Thesis Invalidation — not LIVE

Not live, but the FY2026 annual is what tests it.
⛔ Going-concern language repeated in the FY2026 annual
⛔ A financing priced materially below the market
⛔ Rochester revenue materially below the acquisition case

Profit-Target — not LIVE

Not live — the price is below the base target.
⛔ Price C$1.24 at or above the C$1.30 base target

Forecast: Exit action: Hold. No exit trigger is live: the stop is 23% away, no thesis condition has fired, and the price is below the base target. The position this describes is no position, because no entry group is met either.

Imagine you act at the current price of C$1.24 · as of 12 Sep 2026

What if you bought now?

You would be risking 44% to the C$0.70 bear to gain 5% base and 69% bull — on a name whose own signal is HOLD on every horizon and whose sector the macro report rates Underweight throughout.

What if you sold now?

There is nothing to sell: no entry group is met, so this report does not describe a holder. If you hold it from earlier, the stop is C$0.95 and the thesis test is the FY2026 annual.
13

Position Sizing Context

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

No entry group is met, so the framework's position size here is zero. If you already hold, the arithmetic that matters is the stop: C$0.95 is 23% below the C$1.24 price, and with an ATR of 0.0625 — 5.0% of price[6] — that is about three and a half average days' range. On a name averaging 71,361 shares a day, with sessions as thin as 5,200, the stop is a price level rather than a promise about the fill.

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-09-12",
  "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.24,
  "signal_short": "HOLD",
  "signal_medium": "HOLD",
  "signal_long": "HOLD",
  "primary_signal": "HOLD",
  "short_hold_reason": "full_hold",
  "short_entry_confirmed": false,
  "quality_score": 52,
  "valuation_score": 50,
  "timing_score": 42,
  "driver_score": 62,
  "economic_alignment_stance": "Neutral",
  "economic_alignment_conviction": 38,
  "economic_alignment_pressure": "Neutral",
  "economic_alignment_source": "sector map (Technology XLK: short U / medium U / long U per the 9 Sep 2026 macro report) \u2014 Underweight on all three horizons in a 48%-probability energy-shock stagflation regime.",
  "macro_report_date": "2026-09-09",
  "overall_confidence": 48,
  "val_band": "fair",
  "warranted_multiple": 8.0,
  "actual_multiple": 9.51,
  "val_multiple_basis": "EV/Sales on FORWARD revenue, both sides forward. Actual 9.51x = market cap C$41.8M over C$4.4M of forward revenue (the March-2026 quarter annualised, plus Rochester). Warranted 8.0x. TRAILING P/S is 24.8x on ~C$1.68M and is shown for context only \u2014 it is not the anchor, because a roll-up that has just added a site is mid-step and trailing revenue understates the base. The vendor P/E of 9.5x and EPS of C$0.13 are ARTIFACTS against a -189% net margin and are used nowhere.",
  "discount_rate_r": null,
  "risk_free_10y": null,
  "g_near": null,
  "g_term": null,
  "warranted_ratio": 1.19,
  "fair_value_est": 1.2,
  "stop_loss": 0.95,
  "target_price": 1.2,
  "scenario_base_target": 1.3,
  "scenario_bull_target": 2.1,
  "scenario_bear_target": 0.7,
  "entry_groups_met": 0,
  "entry_conviction": "Wait",
  "exit_groups_live": 1,
  "exit_action": "Reduce",
  "hard_gate_state": "caution",
  "gates_triggered": [],
  "gates_caution": [
    "Going concern - EVIDENCE IS STALE AND I AM NOT CARRYING IT AS TRIGGERED. The prior report fired this gate on material-uncertainty language from the FY2025 annual (year ended 30 JUNE 2025), when cash was $967k. That filing predates a $10.5M financing: cash at 31 March 2026 was $9.9M against an operating burn of about $1.1M a quarter, which is roughly two years of runway. I have NOT seen the interim financial statements to 31 March 2026, so I cannot confirm the language was removed either - the Q3 results release does not repeat it, but a results release is not the statements. Recorded as a caution with its basis dated, not asserted in either direction. The FY2026 annual settles it and is the next update's trigger.",
    "Dilution - 800,000 consideration shares issued for Rochester (about 2.4% of the 33.7M shares outstanding), escrowed over 24 months, plus the earlier $10.5M raise. A sub-scale roll-up that buys with paper dilutes by design; the question is whether the assets bought outrun it.",
    "Valuation ceiling - 24.8x trailing sales with operating losses widening from -$279k to -$1.14M a quarter.",
    "Liquidity/governance - average volume about 71,000 shares, and recent sessions as thin as 5,200. ATR is 5.0% of price. A position of size cannot be built or exited quickly."
  ],
  "do_not_buy_triggers": [],
  "competitive_share_trajectory": "gaining \u2014 five data centres under management after the Rochester close, against three a year ago; share is being bought rather than won, which is the model",
  "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-09-26",
  "next_update_basis": "Standing 14-day ceiling. The dated catalyst is the FY2026 annual report (year ended 30 June 2026), which is the filing that will settle whether the going-concern material uncertainty carried from FY2025 survives the $10.5M raise \u2014 see gates_caution. Bring the update forward if it lands sooner.",
  "prior_report": "calibration-CCDS.V-20260804-1308.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) — caps every horizon at HOLD; no BUY anywhere → status stays Stopped. Price −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→43, T47→46, D62→61, Econ Neutral/50. Rochester close ~15 Aug now inside the window → next update 17 Aug (was default +14d).",
  "composite_short": 46,
  "composite_medium": 48,
  "composite_long": 50,
  "mechanical_repair": "2026-09-10: fields the framework DETERMINES were repaired mechanically by scripts/repair_derived_fields.py \u2014 composite_short None -> 46; composite_medium None -> 46; composite_long None -> 47. No signal, gate, scenario, target or prose was touched, and any valuation_score clamp that would have crossed a Decision-Matrix band was refused rather than applied. Cause: the pillars and the banner score were authored in different places and nothing reconciled them; build_stock_report.py now derives these at render so it cannot recur. On a valuation_score clamp the WARRANTED RATIO is treated as the anchor and the score moves to the NEAREST edge of the band that ratio implies \u2014 the ratio is computed from actual/warranted and is the more mechanical of the two, and clamping to the nearest edge preserves as much of the original author's judgement as the constraint allows.",
  "report_file": "CCDS.V_Signal_v6_20260912_1600.html",
  "price_asof": "2026-09-11",
  "market_cap_cad": 41837476,
  "shares_outstanding": 33739900,
  "shares_outstanding_m": 33.7399,
  "nav_divisor_shares": 33739900,
  "base_signal_short": "HOLD",
  "base_signal_medium": "HOLD",
  "base_signal_long": "HOLD",
  "auto_stop_reason": "Donatien Pick with no BUY on any horizon: the Decision Matrix returns HOLD at Medium quality (52), Fair valuation (44) and Neutral timing (42) before any gate is applied. Stays visible on the watchlist and re-activates automatically if a later report produces a BUY anywhere.",
  "usd_cad_rate": 1.38353,
  "usd_cad_asof": "2026-09-11",
  "data_as_of": {
    "price": "2026-09-11",
    "financials": "2026-03-31",
    "macro": "2026-09-09",
    "corporate_actions": "2026-09-12"
  },
  "scenario_probs": {
    "bull": 25,
    "base": 50,
    "bear": 25
  },
  "corporate_action_check": "Sweep 4 Aug - 12 Sep 2026 against the company feed. ROCHESTER COLO ACQUISITION COMPLETED: USD$250,000 cash (US$25,000 paid as a deposit) plus 800,000 consideration shares, escrowed and released in four equal tranches at 6, 12, 18 and 24 months from 4 August 2026. This is the event the prior report was waiting on and it has happened. 24 Aug 2026: Aleem Nathwani appointed to lead Corporate Development. NO financing, placement or debt facility in the window. SEPARATELY, AND THE PRIOR REPORT SHOULD HAVE CARRIED IT: a $10.5M financing completed before 31 March 2026, which is what took cash from $967k at 30 June 2025 to $9.9M.",
  "superseded_values": [],
  "superseded_exempt": {},
  "carried_verbatim": [],
  "lint": {
    "exit": 1,
    "assertions": 59,
    "errors": 4,
    "warnings": 10,
    "could_not_run": [
      "CCY-PE-SKIPPED",
      "CONF-SKIP",
      "FW-GUARDRAIL-SKIP"
    ],
    "at": "2026-09-12T12:17",
    "report": "CCDS.V_Signal_v6_20260912_1600.html"
  },
  "valuation_lenses": {
    "anchor_ev_sales_forward": {
      "actual": 9.51,
      "warranted": 8.0,
      "weight": 0.55,
      "note": "Warranted 8x forward sales for a sub-scale infrastructure roll-up compounding fast but loss-making: below the 10-15x the listed data-centre names carry, because those are profitable at scale and this is not."
    },
    "sector_median": {
      "value": "6-8x forward EV/Sales for small-cap regional colocation",
      "weight": 0.2,
      "note": "Judgemental range, not a computed screen \u2014 there is no clean listed comp set at this size in Canada, and I am not going to manufacture a median from three loosely-similar names."
    },
    "peg": {
      "value": null,
      "weight": 0.1,
      "note": "NOT APPLICABLE and recorded as such rather than skipped: there are no earnings to grow, so PEG has no denominator."
    },
    "decile": {
      "value": null,
      "weight": 0.15,
      "note": "NOT AVAILABLE: the listing has 163 sessions of history, which is too short for a valuation-decile read against its own record."
    }
  },
  "valuation_lens_note": "Two of the four framework lenses are genuinely unavailable on this name and are recorded as unavailable with the reason, not silently skipped. The score therefore leans on the anchor and the sector range, and the confidence of 40% says so.",
  "valuation_confidence": 40
}

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(CCDS.V) + 163 raw daily sessions to the settled close of Friday 11 Sep 2026 Close C$1.24. Market cap C$41,837,476, implying 33,739,900 shares — DERIVED from market cap over price, not a sourced count; the company publishes no recent total-voting-rights figure I could find. 52-week range C$0.97–2.25. Cash C$9,857,201, total debt C$9,563,050, so net debt is about C$-294,151 — roughly neutral. Average volume 71,361. THE VENDOR P/E OF 9.5x AND EPS OF C$0.13 ARE ARTIFACTS and are not used anywhere in this report: the same feed reports a net margin of -189% and an operating margin of -124%.
✓
'Carrier Connect Data Solutions Reports Record Q3 2026 Financial Results', 26 May 2026 Quarter ended 31 March 2026 (the fiscal year ends 30 June). Verbatim: 'Cash increasing to $9.9 million (versus $967k at June 30, 2025)', 'Revenue increasing to $910k (+849% versus Q3 2025)', 'completing a $10.5M financing', 'reaching 5 data centers under management'. It does NOT repeat the going-concern language — but a results release is not the financial statements, which is why the gate below is recorded as a caution rather than cleared.
✓
Rochester Colo asset acquisition — definitive agreement 9 Jun 2026, completion announced Aug 2026 CORPORATE-ACTION SWEEP, 4 Aug to 12 Sep 2026. Consideration: USD$250,000 cash, of which US$25,000 was paid as a deposit, plus 800,000 common shares escrowed and released in four equal tranches at 6, 12, 18 and 24 months following 4 August 2026. This is the event the prior report scheduled itself against and it has closed. Also in the window: 24 Aug 2026, Aleem Nathwani appointed to lead Corporate Development. NO financing, placement, bought deal or debt facility.
⚠
FY2025 annual financial statements, year ended 30 June 2025 PARTIAL, and the partiality matters. This is the filing carrying 'material uncertainties that cast significant doubt as to whether the Company will have the ability to continue as a going concern', and it reports a net loss of $1,177,915 for the year (2024: $84,537) and working capital of $1,130,436. It is dated 30 JUNE 2025 — BEFORE the $10.5M financing. I have not read the interim statements to 31 March 2026, so I can neither carry the gate as live nor declare it lifted.
✓
get_income_statement(CCDS.V), six quarters to 31 Mar 2026 Q3-FY2026 (Mar-26): revenue C$910,136, gross profit C$295,373 (32.5% margin), operating income C$-1,144,203, net income C$-1,657,630. Prior quarters: Dec-25 revenue C$424,577 / operating C$-1,069,668; Sep-25 revenue C$225,654 / operating C$-278,764; Mar-25 revenue C$95,946. The Jun-25 quarter returns null from the provider and is not used. OPERATING LOSSES WIDEN IN STEP WITH REVENUE: -C$279k, -C$1.07M, -C$1.14M.
⚠
get_technical_indicators(CCDS.V), daily, 163 sessions to 11 Sep 2026 PARTIAL: only 163 sessions of history exist, so there is NO 200-day moving average and no long-horizon trend read. What exists: close C$1.24, SMA20 C$1.2935, SMA50 C$1.2392, RSI-14 47.7, ATR-14 0.0625 (5.0% of price), MACD histogram -0.0070 with the MACD line just crossed negative, OBV down from 159,700 to 67,700 over three weeks.
✓
Donatien Macro-Economic report, 9 Sep 2026 Technology (XLK) Underweight on short, medium AND long horizons. Dominant regime energy-shock stagflation at 48% probability, against soft landing 22%, deflationary bust 20%, reacceleration 10%.
✓
Donatien prior calibration, calibration-CCDS.V-20260804-1308.json C$1.10, HOLD/HOLD/HOLD, Q50 V43 T46 D61 E50, status stopped, Gate 1 (going concern) recorded as TRIGGERED. Used to verify every delta here.
Impact on scores: The two that matter: the Rochester close converts the roll-up from a plan into a demonstrated one, and the FY2025 annual is the filing the prior report's going-concern gate rests on — dated before the $10.5M financing, which is why that gate is a caution here and not a trigger.
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.