How We Pick and Rank Stocks
The ranked lists on this site cover dividend payers, the banks, growth names, REITs, energy, gold, fintech and AI, ETFs, and the registered accounts Canadians hold all of it in. Every one of those pages puts companies in an order and says, in effect, that this name belongs above that one.
An order is only worth reading if you know what produced it. So this is the standard behind them: how a name earns a place, why one sits above another, what forces it off, and what has to be true before any of it goes live. The lists themselves are collected on our Canadian stock rankings hub.
The figures those rankings rest on are governed by a separate discipline, covering which document a company financial has to come from and how a market price or a technical level is sourced. That is set out in how we research.
A Pick Is Not a Paragraph of Adjectives
That sentence is the internal standard, and it rules out the format a ranked list tends to default to: a table of tickers with three words of praise beside each. “Well managed”, “solid balance sheet” and “attractive valuation” are assertions. They carry no information a reader can check, argue with, or act against.
What the standard requires instead is three parts behind every ranked holding and every rating. A name has to carry all three to earn its place on a list.
The Macro Reason
What environment the name is levered to, and where that environment currently is. Interest rates, commodity prices, the sector cycle, the currency, regulation. A Canadian bank, a gold miner and a utility are exposed to completely different forces, and a ranking that does not say which force is driving the name is not telling you what you are buying into.
This part has to state where the environment is now, not only what the company is sensitive to in the abstract. Whether that sensitivity is currently working for the company or against it is what moves a name up or down a list.
The Technical Picture
Where price sits against its 50 and 200 day moving averages, the levels that actually matter, and whether the name is in a golden cross or a death cross regime.
A technical level we publish now is read off TradingView, which is the same chart a reader can open and check, rather than computed here from price data and presented as the level. That constraint is deliberate. A number that exists only in our own spreadsheet is a number nobody can audit.
The two halves belong together, and the internal rule for that is blunt: a crossover with no macro context is chartcraft, and a macro view with no level is an opinion. Under the standard, neither stands alone on a ranked page.
The Precedent, Computed and Not Asserted
This is the part that takes the work, and it is the part that makes a ranking testable.
The form is the same each time. Last time this setup occurred, price went from X to Y over Z, because of W. Not “this pattern has been bullish in the past”. An actual measured move, over an actual window, with a reason attached.
To get there we run a crossover history across the symbol, which returns every past occurrence of that signal along with the median, best and worst outcome and the hit rate at 30, 60, 90 and 180 days. What comes back is a distribution of what actually happened, rather than a recollection of the times it worked.
We Publish the Whole Distribution, Not the Flattering Instance
Once that distribution exists, the temptation sitting next to it is obvious: find the single occurrence that supports the case you already wanted to make, quote that one, and leave the rest in the file. Done cleanly, it is invisible to a reader who is only ever shown the one example.
So the rule is that the whole distribution is published, and n is reported alongside every median. If a signal has fired nine times in ten years, you are told it fired nine times.
That number belongs beside the median, not behind it. Nine events over ten years is directional. It is not predictive, and implying a base rate off eight observations is overselling what eight observations can carry.
When the Record Contradicts the Thesis, That Is the Piece
The harder half of the same rule. Running the history honestly means it sometimes comes back against the case, and when it does, the contradiction becomes the story rather than the paragraph that gets cut.
A worked example. The ETH/BTC golden cross fired on 18 August 2026. At 30 days, ETH had underperformed Bitcoin in seven of the eight prior occurrences of that signal, with a median of -10.3%.
Eight events is a small sample, and the rule above is why you are reading the eight rather than the median alone. But seven of eight running against the bullish reading is not something you can leave in a file and still claim to have consulted the record. A piece arguing for outperformance while sitting quietly on that history is worse than one that leads with it. The second is merely wrong in public. The first is dishonest.
That is the point of computing the precedent instead of asserting it. If the number can only ever confirm what you were going to write anyway, nothing was tested.
What Goes on a Ranked Page
The three parts set the argument for each name. The page around them has to meet a separate set of requirements.
- At least 10 ranked holdings. A list of five is a shortlist, not a ranking.
- An analysis section for every holding, not a table row with adjectives attached.
- At least one table and one chart built from the company’s own filings. Both captioned with the document and the page the figures came from. Charts are built from the company’s supplementary financial information, never from an aggregator’s version of it.
- A four to five fiscal year chart for each company, from annual filings. Revenue, EPS, dividends per share, margins, or whichever line genuinely matters for that business. Store count for a retailer, fuel margin for a refiner, production for a miner. The line that explains the business, not the line that is easiest to chart.
- An internal link from each ranked holding to its own deeper analysis where we have written one, so a reader who wants the full case on a single name can get there in one click.
- A “data as of” date on every figure. A financial number without a date is a number of unknown age.
What Comes Off a List
A holding that no longer earns its place is removed, and the page says why it was removed rather than the name quietly disappearing between revisions. A reader who checked a list six months ago and came back deserves to know what changed.
Four things force a change ahead of anything else on a page:
- A name that has been delisted or acquired.
- A company still described as a dividend payer after it has cut or suspended the dividend.
- A stale “as of” date sitting on a figure that has since moved.
- A broken internal link.
Each of those is verified against a primary source, meaning the company’s own release or filing, before the page is changed. The filing is what moves the ranking, not a report of the filing.
When We Go Back Over Them
Ranked pages come round on a weekly review cycle, and the review runs in maintenance mode. It looks first for anything that is now wrong and fixes that. Then it closes at most one genuine gap.
What it deliberately does not do is rebuild a list, re-rank it from scratch, or rewrite sections that are working. Churn for its own sake degrades a page that is already doing its job: a clear explanation gets swapped for a differently worded one, and the page ends up changed without being improved.
The review exists to keep pages true, not to keep them busy. That is also why it does not, by itself, bring a list up to the three-part standard.
The Bar a Page Has to Clear
No page publishes below 8.5 out of 10 on an audit covering accuracy and citation discipline, depth of analysis, structure, originality of the argument, internal linking, SEO fundamentals, and whether a knowledgeable reader would find it worth their time.
A page that cannot reach that bar is held rather than shipped. Fifteen pages that pass is a better outcome than nineteen that do not, and a page shipped below the bar costs more to fix later than it costs to delay now. A deadline is not a reason to wave one through.
Who Pays Us, and What That Does Not Buy
This site earns affiliate revenue, and it is disclosed on the pages that carry it. Affiliate relationships never decide what we cover or what we conclude, and no company pays to appear on a ranked list or to be ranked higher. How the site is funded, how ratings are framed and how corrections are handled are set out in full in our editorial policy.
Nick Raffoul is accountable for the calls on these lists.
What We Are Not
We are not a portfolio manager, an investment advisor or a financial planner.
The rankings on this site are general information and opinion. They are not personalised advice and they are not a recommendation to buy or sell any security. We do not know your income, your tax situation, your time horizon, your goals or your capacity to absorb a loss, and no ranking can account for any of them. A name at the top of one of our lists is a statement about that company’s case as we read it. It is not a statement about whether it belongs in your account.
Disclaimer: The content on bestcanadianstocks.ca is for informational and entertainment purposes only and does not constitute financial advice. Past performance is not indicative of future results. Always consult a qualified financial advisor before making investment decisions.
