Documentation
This page explains how DivSight calculates health scores, generates BUY/HOLD/SELL signals, and classifies investment orientations. Understanding the methodology helps you interpret scores correctly — and know when to dig deeper.
The Health Score is a 0–100 composite rating of how well a dividend is earned and how likely it is to keep being paid. Individual stocks and funds are scored by two different models — six factors for a stock, five for an ETF or mutual fund — because the questions worth asking about an operating company are not the questions worth asking about a fund that holds a basket of them. Both are documented in full below.
Scores are calculated in real time using data from Yahoo Finance. Because Yahoo Finance's API does not always report every metric for every company, some factors may be estimated or unavailable. The confidence indicators on each score bar show exactly which data points are live vs. derived.
A stock's dividend yield and payout ratio, and a fund's expense ratio, are compared against real percentage thresholds for each factor — so the actual figure meaningfully changes where a security lands in the scoring range, not just whether it clears a single bar. A fund's distribution yield is the exception: it is deliberately not a scoring factor at all, for the reason set out under ETF & Fund Scoring.
Every score DivSight publishes for an individual stock comes from one six-factor model — the number on its ticker page, its row in the research index, and every entry in the signal log. The six factors sum to 100 and are fixed: there is no per-stock reweighting.
| Factor | Max | Measures |
|---|---|---|
| Div Yield | 15 | Annual dividend as % of share price |
| FCF Coverage | 20 | Whether free cash flow covers the total dividend paid — substituted by sector, see below |
| Debt/Equity | 15 | Financial leverage — substituted for banks, see below |
| Div Growth | 20 | Consecutive years of maintained or increased dividends, measured on each year's median payment. Full marks at 25 years. A dividend may sit flat for at most two consecutive years and still extend the streak — the rule S&P applies to the Canadian Dividend Aristocrats index. A confirmed cut ends the streak: it restarts at zero and counts up again from each completed year the reduced rate is held |
| Payout Ratio | 15 | % of earnings paid as dividends — REIT-adjusted bands where applicable |
| Earnings Trend | 15 | Four-fiscal-year EPS basis — see below |
Stocks with no dividend history at all are not run through this model. They're labelled EQUITY and carry no health score, because all six factors above are dividend factors and scoring a non-payer against them would produce a number that means nothing.
Two of the six slots change what they measure depending on the business model in front of them. This is not a lower bar for certain sectors — it's the recognition that one lens applied to every company produces answers that are confident and wrong.
Banks. Return on Equity takes the FCF Coverage slot, and Price-to-Book takes the Debt/Equity slot. Banks report cash flow under a fundamentally different structure than an operating company — a bank's free cash flow figure is either absent or not comparable to anything. And leverage is not a risk a bank takes on, it is the business model: a bank funds itself with deposits and borrowings by design, so a debt-to-equity ratio measures nothing about its safety. ROE and Price-to-Book are the measures the market actually uses on bank capital quality, and both are reliably reported.
Insurers, utilities and midstream energy. Cash Flow Coverage — the dividend measured against operating cash flow rather than free cash flow — takes the FCF Coverage slot. A regulated utility building out its rate base runs structurally negative free cash flow for years at a time. That is capital deployment working as intended, not distress; the capex it reflects is what the utility is being allowed to earn a return on. Read as free cash flow, a healthy utility looks like a company that cannot fund its dividend. Read as operating cash flow, it looks like what it is.
Earnings Trend compares the average diluted EPS of the two most recent fiscal years against the average of the two years before them — four fiscal years in total, rather than a single year-over-year step.
A point-to-point comparison between two years is decided by whichever of those two years was unusual. One writedown, one legal settlement, one depressed base year, and the figure describes the anomaly instead of the business. It doesn't merely add noise — it can invert the answer completely: a company whose EPS rose every single year can read as declining because the earlier endpoint happened to be a spike, while a company whose EPS is flat-to-down can read as strongly growing because the earlier endpoint happened to be a trough. Measured against a multi-year EPS series, the single-step version of this factor had the wrong sign for 12 of the 20 stocks then covered.
Averaging two years on each side doesn't eliminate the problem — with only four or five annual observations available, one outlier still moves a window — but it stops a single year from deciding the result on its own. When a company doesn't report four fiscal years of EPS, the factor falls back to the ratio of forward to trailing EPS and is marked ⚠ Estimated; that fallback is deliberately skipped when trailing EPS is zero or negative, since dividing by a broken denominator is how this factor produced nonsense in the first place.
Inside the app you can also view a holding through one of four orientation lenses, each of which asks a different question than the health score does — how a position looks purely as income, purely as growth, and so on. Each stock is assigned an auto-detected orientation, and you can override it on any card using the pill toggles, with overrides saved per portfolio.
These are alternative views, not the score. Nothing published — no ticker page, no research-index row, no signal-log entry — uses an orientation score. A stock's score under a given lens can differ substantially from its health score, and the BUY gate listed on each card below applies to that lens's own score, not to the signal DivSight publishes.
| Factor | Max | Measures |
|---|---|---|
| Div Yield | 25 | Annual dividend as % of share price |
| FCF Coverage | 25 | Whether free cash flow fully funds the dividend |
| Payout Ratio | 20 | % of earnings paid as dividends (lower = safer) |
| Div Streak | 20 | Consecutive years of maintained or growing dividends, measured on each year's median payment. Full marks at 25 years for a stock, 10 for a fund — funds are young, and a ceiling no fund could reach would rank them all the same |
| Debt/Equity | 10 | Financial leverage (lower = safer in downturns) |
| Factor | Max | Measures |
|---|---|---|
| Earnings Growth | 25 | Year-over-year earnings growth rate |
| Revenue Growth | 20 | Year-over-year top-line revenue growth |
| P/E vs Sector | 20 | Price-to-earnings — lower P/E suggests better value |
| 52-Week Range | 20 | Price position near annual high (momentum signal) |
| Beta | 15 | Market sensitivity — near 1.0 is optimal for growth |
| Factor | Max | Measures |
|---|---|---|
| Div Growth Streak | 20 | Consecutive years of growing dividends. Flat years still count — but on a stock, no more than two in a row. Full marks at 25 years for a stock, 10 for a fund |
| Div Yield | 20 | Yield in the 2–5% sweet spot — not too low, not too high |
| Payout Ratio | 20 | Sustainability of the dividend payment |
| Earnings Trend | 20 | Whether earnings are stable and improving |
| P/E Ratio | 20 | Valuation check — avoiding overpriced companies |
| Factor | Max | Measures |
|---|---|---|
| 52-Week Range | 30 | Entry point relative to annual range — lower = better risk/reward |
| Beta | 25 | Volatility vs. market — higher beta = more speculative |
| YTD Momentum | 25 | Year-to-date price return |
| Volume Trend | 20 | 10-day vs 90-day volume ratio — rising volume adds conviction |
Real Estate Investment Trusts (REITs) are required by law to distribute the large majority of their taxable income to shareholders — but their reported accounting income is reduced by large non-cash depreciation charges on the properties they own. That depreciation doesn't reflect an actual cash cost, yet it still lowers reported earnings.
The practical effect: a REIT's payout ratio, calculated the standard way, will typically look much higher than a regular company's — often well above 100% — even when the REIT's dividend is comfortably covered by its actual cash flow. Judged against the same threshold used for a typical business, financially healthy REITs would be unfairly flagged as unsafe.
DivSight automatically detects REITs and evaluates their payout ratio against a wider, REIT-appropriate range instead of the standard one. This isn't a lower bar — it's the right bar for how REIT accounting actually works, so a REIT's Payout Ratio score reflects genuine dividend risk rather than an artifact of its accounting structure.
The wider range applies specifically when the payout ratio is measured against reported accounting earnings, because that is the figure depreciation distorts. When a REIT's reported earnings are negative or too small to give a meaningful ratio, DivSight falls back to measuring the distribution against a forward earnings estimate instead — and a forward estimate doesn't carry the same depreciation drag, so it is judged against the standard range rather than the widened one. Applying the wider range to both would mean almost any REIT scored full marks on this factor regardless of how stretched its distribution actually was.
Every signal has two components: a score threshold and a set of gate conditions. Both must pass for a BUY. If the score is high enough but one gate condition fails, the signal downgrades to HOLD.
The gate conditions differ by security type, because the failure modes do. For a stock: payout ratio within a healthy range, cash flow positive, and no recent dividend cut. For a fund: fee not consuming an unreasonable share of the distribution, distributions at least quarterly, no recent distribution cut, and no confirmed NAV erosion. Both are set out in full in their scoring sections above and below.
| Signal | Score | Condition |
|---|---|---|
| BUY | ≥ 75 | Score ≥ 75 and every gate condition for that security type passes |
| HOLD | 50 – 74 | Score is in range, or score ≥ 75 but at least one gate condition fails |
| SELL | < 50 | Score below the minimum threshold regardless of gate conditions |
Stocks with no dividend history receive no score and no BUY/HOLD/SELL signal — they're labelled EQUITY instead, since every factor in the model is a dividend factor.
A yield trap warning appears when the current dividend yield is more than 1.5× the stock's 5-year average yield.
A sharply elevated yield relative to history typically means the stock price has fallen significantly while the dividend hasn't yet been cut. This can appear attractive on the surface — but a high yield caused by price distress, rather than genuine income improvement, often precedes a dividend reduction.
The warning does not automatically reduce the score. It's a flag that prompts additional research: Is the dividend sustainable at this price level? Has something changed in the business?
Each factor on the score breakdown bars shows a small confidence indicator. This tells you how reliable that particular data point is.
| Indicator | Meaning | Effect on score |
|---|---|---|
| ● Confirmed | Data retrieved directly from Yahoo Finance's API for this ticker. | Full scoring range applied. |
| ⚠ Estimated | Derived or approximated from available data — for example, using trailing vs. forward EPS ratio when direct earnings growth isn't reported. | Full scoring range applied but result may be less precise. |
| ○ Unavailable | Yahoo Finance does not report this metric for the ticker. Common for smaller companies, foreign listings, and newly public stocks. | Factor receives a partial neutral score, so a security isn't penalised for data we couldn't read. The neutral value is set per factor rather than as a fixed fraction of the maximum — it is not always half. |
When many factors on a card show ○ unavailable, the score is less reliable — it's based largely on neutral placeholders rather than actual company data. Use such scores with extra caution.
Exchange-traded funds and mutual funds are scored by a different five-factor model. Because funds don't have earnings, free cash flow, or a payout ratio in the way an operating company does, the six-factor stock model above doesn't translate — four of its six factors would have nothing to read.
| Factor | Max | Measures |
|---|---|---|
| NAV Erosion | 30 | Total return (price plus distributions) against a benchmark for what the fund holds — is it keeping pace, or paying you with your own capital? |
| Distribution Coverage | 20 | Total return divided by distribution yield — how many times over the fund earned what it paid out |
| Expense Ratio | 20 | Annual management expense ratio (MER) — lower is better |
| Assets Under Management | 15 | Fund size — larger funds are typically more liquid and stable |
| Distribution Consistency | 15 | How regularly the fund has paid out over the past year (monthly/quarterly/annual) |
Distribution yield is not a scoring factor. We show it, and you can sort and filter on it, but a bigger distribution earns a fund no points here. The question this score asks is whether the income is earned or manufactured — and a 4.5% distribution a fund genuinely covers is a better proposition than a 15% one funded by handing back capital. Scoring yield magnitude would say the opposite. What replaced it is Distribution Coverage, which asks whether the payout is real.
ETF cards show real BUY/HOLD/SELL signals, using the same two-part logic as individual stocks — a score threshold plus gate conditions that must also pass. A fund's BUY gate requires: score ≥ 75, a fee that doesn't consume an unreasonable share of the distribution (MER divided by yield below 40%), distributions paid at least quarterly, no recent distribution cut, and no confirmed NAV erosion — bringing fund evaluation in line with the same rigor applied to individual stocks, rather than judging funds on their score alone.
Orientation lenses apply to stocks only. The pills stay visible and clickable on a fund card and your choice is remembered, but all four render the same fund score above — a fund is never re-scored through a lens. The lens factor sets are built on company fundamentals (free cash flow, payout ratio, earnings and revenue growth) that a fund doesn't report, so substituting one in would replace a real fund score with mostly-neutral placeholders. A per-lens view designed for funds is a separate piece of work.
All data is sourced from Yahoo Finance via the open-source yfinance library.
When it's fetched depends on where you're reading it. Analyzing a portfolio in the app — and the single-ticker lookup on the home page — fetches live from Yahoo Finance on every request, so the prices and position values you see there are current as of that moment. The public pages work differently: ticker pages and the research index read a stored result, refreshed for every tracked ticker by a scheduled batch that runs once a day, and they never call Yahoo Finance while you're reading them.
That split is deliberate. A public page that fetched live would send every passing visitor and every search-engine crawler straight through to the upstream API — slow pages for readers, and a request volume that would get throttled on a good day. Serving a stored result keeps those pages fast and keeps the data source healthy for the live path that genuinely needs it. Nothing is concealed by it either: every public ticker page carries an "As of" date showing when its score was last computed, so you can judge the age of what you're reading before you act on it.
Known limitations:
fiveYearAvgDividendYield field, which may be absent for newer or foreign-listed securities.DivSight is not affiliated with Yahoo Finance, Morningstar, or any data provider. Data accuracy depends entirely on what Yahoo Finance reports for each ticker.