Methodology

How the research model scores stocks, classifies risk, runs scans, and evaluates macro investment themes. All outputs are precomputed offline — nothing is calculated live when you visit a page.

Data Sources

US-listed stocks (v2 model): Financial data is sourced from SEC EDGAR (U.S. Securities and Exchange Commission). All metrics are derived from regulatory filings (10-K annual reports; 40-F for cross-listed Canadian companies using IFRS). No market price data, beta, or P/E ratios are used in the v2 model.

Securities in progress: A subset of Canadian-only TSX tickers and ETFs are not yet covered by the v2 pipeline. Their research pages show basic identification and theme information while expanded filings-based research is being prepared.

AI-generated analysis: Research summaries, bull/bear cases, and risk explanations are produced by an Anthropic large language model using the computed scores and filing-derived metrics as input. AI output is not independently verified and may contain errors.

Stock Score — v2 Model (6 sub-scores)

Each stock is scored across six sub-categories derived from SEC regulatory filings. Sub-scores are each 0–20. The Model Score (0–100) is a profile-weighted composite — not a simple sum of the sub-scores.

Sub-scoreMaxWhat It Measures
Growth20Year-over-year revenue, net income, and EPS growth derived from SEC EDGAR 10-K or 40-F regulatory filings.
Profitability20Net margin, operating margin, and return on assets (ROE for banks/insurers) from SEC filings.
Financial Health20Leverage ratio, interest coverage, and balance sheet size derived from filed financial statements.
Fundamental Momentum20Quarter-over-quarter improvement in revenue, earnings, margins, and capital efficiency — entirely filing-derived, not price-based.
Dividend Safety20FCF payout ratio, DPS growth streak, FCF coverage, and DPS CAGR. Scores zero for non-dividend payers — this is correct and intentional.
Theme Exposure20Number of macro investment themes assigned. Capped: 0 themes → 0/20; 4+ themes → 20/20.

Default weights (base model): Profitability 20% · Financial Health 20% · Fundamental Momentum 20% · Growth 15% · Dividend Safety 15% · Theme Exposure 10%

Score thresholds: 75+ Strong Candidate · 60–74 Research/Core Holding Candidate · 45–59 Research Further · Below 45 Monitor Only or lower

The Valuation sub-score is absent by design. The model measures business quality, not price. Whether a stock is cheap or expensive relative to that quality is left to the reader.

ETF Scoring — a Separate, Fund-Specific Model

ETFs are never scored by the company model above — a fund holding hundreds of securities isn't evaluated the same way as an operating business. U.S.-listed ETFs are scored by a dedicated model sourced from official SEC EDGAR fund filings (Form N-PORT, N-CEN, and Risk/Return Summary data), covering four categories: cost, holdings diversification, transparency, and structural risk. Every ETF on this site ends up in exactly one of five explained states, never an unexplained placeholder:

ClassWhat It Means
Full ETF ScorePasses the minimum evidence gate with weighted supported coverage of at least 75%. Appears in the primary Full ETF Rankings.
Low-Data ETF ScorePasses the gate but with coverage between 50% and 75%. Shown with a visible coverage penalty (−4 at 65%+, −6 below) and a "less reliable, not directly comparable to a Full ETF Score" warning, in its own separate Low-Data ETF Rankings table.
Score Pending — Limited DataFails the minimum evidence gate. No score, no percentage, no "/100" anywhere — just a clear explanation that not enough commercially displayable fund-specific data is available yet. Not a negative assessment. Remains searchable, comparable, and watchlist-able; excluded only from numerical rankings.
Special StructureA product whose legal/economic structure (grantor trust, commodity pool) makes the ordinary ETF formula misleading if forced onto it. Never scored by the formula; gets a dedicated structural profile instead. A structural classification, not a quality judgment.
Historical / ClosedNo longer investable under the ticker shown (liquidated, merged, ticker-changed, or terminated). Historical research only, excluded from current rankings and directories.

Minimum evidence gate. An ETF only receives a numerical score if it clears all of: weighted supported coverage of at least 50%, real evidence in at least three of the four categories, and at least one of those being a core category (cost, diversification, or structural risk — transparency alone is not sufficient; with only four categories total, clearing three structurally guarantees a core category is included). A missing category is excluded entirely from the calculation, never assigned a placeholder value or scored as zero.

Canadian ETFs.A source-and-licence audit of every major Canadian ETF issuer (BlackRock/iShares Canada, BMO, Vanguard Canada, Global X Canada, Hamilton, Purpose, TD) found that each restricts use of its website content to personal, non-commercial purposes, with no blanket commercial-reuse grant and no Canadian regulatory open-data equivalent to SEC EDGAR's bulk fund filings. As a result, Canadian ETFs currently carry identity and structure description only (issuer, index/strategy tracked, asset class, geographic exposure) — never a reproduced management fee, net assets, or holdings figure, and never a numerical score — and are classified Score Pending until a commercially displayable fund-specific source is identified.

Score Pending, Special Structure, and Historical ETFs are never mixed into the Full or Low-Data ETF Rankings — each appears in its own, clearly separated section. See the Full & Low-Data ETF Rankings → · See the ETFs with Scores Pending directory → · See the Special-Structure Products directory → · See the Historical & Closed ETFs directory →

Low-Data Score & Score Pending

A group of Canadian companies without SEC EDGAR filing coverage are evaluated by a separate, less reliable model sourced entirely from free, explicitly commercially-reusable government open data (e.g. OSFI's Open Government Licence datasets, GLEIF, the Canada Energy Regulator) — never from SEC filings, a commercial data vendor, or the company's own website. Every such company ends up in exactly one of two states: a numerical Low-Data Score, or a non-numerical Score Pendingnotice. A company is never penalized with an artificially low score just because most of its data is missing — if there isn't enough evidence to say anything meaningful, its score shows as Pending instead of being forced.

Minimum evidence gate. A company only receives a Low-Data Score if it clears all of: weighted supported coverage of at least 35%, real evidence in at least two of the five financial categories (growth, profitability, financial health, momentum, dividend — theme exposure never counts toward this), and at least one of those two categories being a core category (growth, profitability, or financial health — momentum and dividend alone are not sufficient). Evidence must come from an approved government source with a resolved entity mapping, and any subsidiary-only evidence is attenuated toward neutral rather than used at face value. Critically, subsidiary-only (partial) evidence also contributes only a fractionof its category's weight toward the 35% coverage requirement — a 20-point category supported by a subsidiary representing 60% of the parent's operations contributes 12 points of coverage, not the full 20, since counting it at full weight would overstate how much of the parent company is actually known. A company that fails this gate shows Score Pending — Limited Data: no score, no percentage, no positive or negative label of any kind — just a clear explanation that we do not currently have enough commercially displayable company-specific financial data to calculate a reliable score, which is not a negative assessment of the company.

For companies that pass the gate, the model uses the same six category weights as the full company model (Growth 15%, Profitability 20%, Financial Health 20%, Momentum 20%, Dividend 15%, Theme 10%), but only categories with real, verified (or properly attenuated, entity-limited) data participate — a missing category is excluded entirely, never assigned a placeholder value or scored as zero. Available category weights are re-normalized before averaging, then a weighted data-coverage penalty is applied and shown separately, never hidden inside the final number: −2 points at 80%+ coverage, −4 at 65–79.99%, −6 at 50–64.99%, −8 at 35–49.99%. A confidence label follows the same tiers (Moderate confidence — incomplete data / Limited confidence / Low confidence / Very low confidence). Every Low-Data Score stays labeled "Low-Data" even at high coverage — it is a different source architecture than a full SEC-based score and the two are never presented as equivalent.

Neither a Low-Data Score nor a Score Pending status is ever mixed into the primary company rankings — each appears in its own, clearly separated section. See the Low-Data Company Rankings → · See the Canadian Companies with Scores Pending directory →

Historical & Acquired Companies

A company that is no longer independently traded under its listed ticker — because it was acquired, taken private, or delisted — is never scored and never appears in current-company discovery: not the Research directory, not the Screener, not the Low-Data Company Rankings, and not the Score Pending directory. Instead it receives historical treatment: a clear statement that the security is no longer independently investable, the effective acquisition/delisting date, and the acquiring or successor entity, all sourced from official acquirer or regulator announcements. Historical pages remain reachable by direct search (marked with a distinct "Historical" badge) and are listed in their own, separate directory. See the Historical & Acquired Canadian Companies directory →

Risk Classification (6 bands)

For v2 stocks, risk is assessed using four filing-derived factors: leverage (0–4 pts), interest coverage (0–3 pts), earnings volatility — downside semi-deviation over 8–10 quarters (0–4 pts), and revenue size (0–3 pts). A higher composite score means stronger fundamentals and lower risk.

Very Low

Strong balance sheet, low leverage, high interest coverage, stable earnings, large revenue base. Minimal fundamental risk.

Low

Solid financials, modest leverage, adequate interest coverage, and consistent earnings trend.

Medium

Moderate leverage or some earnings variability. Average fundamental risk profile.

High

Elevated leverage, weaker interest coverage, or meaningful earnings volatility. Requires careful assessment.

Very High

High leverage, thin or negative coverage, or erratic earnings. Significant fundamental vulnerability.

Speculative

Not used in v2 EDGAR scoring. Reserved for securities where the v2 risk model cannot be applied.

Goal Profiles — Weight Distribution

The goal profile determines how the six sub-score weights are distributed to compute the Model Score. The Scanner scores each stock under all six profiles simultaneously.

ProfileSub-score Weights
Long-Term GrowthGrowth 30% · Profitability 20% · Financial Health 20% · Momentum 15% · Theme 10% · Dividend 5%
Aggressive GrowthGrowth 40% · Momentum 25% · Profitability 15% · Theme 10% · Financial Health 10% · Dividend 0%
Balanced Growth & IncomeGrowth 20% · Profitability 20% · Financial Health 20% · Momentum 15% · Dividend 15% · Theme 10%
Dividend IncomeDividend 30% · Profitability 25% · Financial Health 25% · Growth 10% · Momentum 5% · Theme 5%
Safe Long-Term InvestingFinancial Health 35% · Profitability 25% · Dividend 15% · Growth 10% · Theme 10% · Momentum 5%
Speculative OpportunitiesGrowth 35% · Momentum 30% · Profitability 10% · Financial Health 10% · Theme 10% · Dividend 5%

Theme Score (8 factors)

Each macro theme is scored on the strength and investability of the underlying structural trend. The theme score does not reflect individual stock quality — it assesses the tailwind itself.

FactorMaxWhat It Measures
Tailwind Strength20How strong and clear is the macro driver? Magnitude of the underlying structural shift.
Durability15Is the tailwind likely to persist for 5–10+ years, or is it cyclical?
Global Need15Is this a global trend or primarily concentrated in one country or region?
Policy Support15Does government policy or regulation actively support or enable this theme?
Revenue Visibility15Can companies in this theme point to contracted or recurring revenue tied to the theme?
Strategic Importance10Is this theme tied to national security, energy security, or other strategic priorities?
Investable Universe10Are there sufficient high-quality public equities with direct theme exposure?
Risk Penalty0 to −25Deducted for themes with extreme geopolitical, regulatory, or execution risk. Range: 0 to –25.

Precomputed Architecture

Running a full stock analysis — fetching SEC EDGAR filing data, scoring all sub-categories, generating AI-written analysis, building the risk profile, and running theme scoring — takes time and API cost per request. Rather than doing this live for every visitor, the Python pipeline runs on demand and writes all results to static JSON files. This website reads those files at build time and generates static HTML.

The data you see is a snapshot as of the last update date shown on each report. Scores, metrics, and AI analysis do not update in real time. Always check the “Updated” date and verify key data through primary sources (company filings, official stock exchanges).

Limitations

  • Scores are generated by an algorithm. They do not reflect qualitative factors a human analyst might weight differently.
  • Financial data is sourced from SEC EDGAR regulatory filings. Errors or omissions in filed data propagate through the model. Not all financial metrics are disclosed in the same format by every filer.
  • The model uses fixed formulas. Different sector dynamics, extraordinary items, or unusual capital structures can produce misleading scores for specific companies.
  • A high score does not mean the stock is suitable for you. It means the model found the data profile attractive under the given goal profile.
  • Coverage is limited to the stocks in the research universe. Absence from this site does not imply anything about a stock's quality.
  • AI-generated analysis may contain errors, outdated characterisations, or hallucinations. Treat it as a starting point for research, not a conclusion.
  • A subset of Canadian-only tickers and ETFs are not yet covered by the v2 pipeline. Their pages show basic identification and theme information while expanded research is being prepared.