How the ratings work
Every stock or fund on the home page gets three A–E letter ratings — CAGR, Dividend, and Volatility — shown as a maroon 12-point star badge in the corner of the matching chart. Each rating is graded on its own scale, described below.
The letter itself is colored to make it easy to scan at a glance: green for A/B, blue for C, maroon for D, and red for E.
CAGR rating
Measures how the stock's annualized (compounded) price growth over the 1, 3, 5, and 10-year periods stacks up against an appropriate benchmark. The rating counts how many of those periods the stock's CAGR beat the benchmark's: A for winning all 4, B for 3, C for 2, D for 1, and E for none. A period counts as a "win" if the stock's CAGR is at or within 1 percentage point of the benchmark's, not just strictly higher — the 1-year period especially is noisy, and a near-tie shouldn't read the same as a clear loss.
Choosing the right benchmark takes a few steps, since comparing every holding to the same yardstick doesn't make sense across different asset classes:
- Sector ETF (preferred). If the stock's sector can be identified (via Alpha Vantage's company data) and mapped to one of the 11 SPDR sector ETFs (Technology, Financials, Health Care, Energy, and so on), the stock is benchmarked against that sector ETF's own CAGR. A tech stock is judged against other tech stocks, not against the whole market.
- S&P 500 or T-Bill (fallback). ETFs, funds, and stocks with no resolvable sector don't get a sector match. Rather than defaulting all of them to the same benchmark, the stock or fund's own trailing volatility decides which makes sense: low-volatility holdings (under 8% annualized) are treated as bond/cash-like and benchmarked against BIL, a T-Bill fund standing in for the risk-free rate. Higher-volatility holdings are treated as equity-like and benchmarked against the S&P 500 (VOO) instead — this covers broad-market, dividend, and international equity ETFs, along with individual stocks whose sector just didn't map cleanly.
- Fixed scale (last resort). If even that benchmark's own data can't be fetched, the rating falls back to a fixed absolute scale based on the stock's own average CAGR: A ≥15%, B ≥10%, C ≥5%, D ≥0%, E negative.
Dividend rating
Measures dividend growth consistency: how many of the last several years saw a year-over-year increase in total dividends paid, out of the trailing 10 years of dividend history (up to 9 year-over-year comparisons). The current, still-in-progress year is annualized (scaled up to a full year) before being compared, so a partial year isn't unfairly counted as a decline just because it hasn't finished paying out yet.
Grading: A for growth in at least 8 of the last 9 years, B for 7, C for 5, D for 3, and E for fewer than 3. A requires 8 rather than a perfect 9 because dividend totals are summed by calendar year from monthly records, and a raise landing right at a year boundary can occasionally make one otherwise-fine year look flat purely from that timing — not an actual cut.
Volatility rating
Measures how much more (or less) volatile the stock's monthly returns have been compared to its benchmark (the same S&P 500/VOO or T-Bill/BIL benchmark chosen for the CAGR rating), averaged across the 1, 3, 5, and 10-year periods.
This is graded on the ratio of the stock's volatility to the benchmark's, rather than a simple win/lose count — a diversified fund will almost always have lower raw volatility than any single stock, so a strict "beat the benchmark" count would give nearly every individual stock a failing grade regardless of how calm or wild it actually is. Grading by ratio still rewards genuinely low-volatility stocks (utilities, consumer staples) with a good grade, while genuinely wild ones (small caps, high-growth names) still score poorly.
Grading: A for volatility at or below 1.3× the benchmark's, B for up to 1.8×, C for up to 2.5×, D for up to 3.5×, and E for anything higher.
A note on the data
Sector lookups, benchmark data, and the CAGR/volatility/dividend figures underlying these ratings all come from the same Alpha Vantage data used elsewhere on the site. Ratings are recalculated fresh each time a symbol is looked up, so they reflect the most recently cached price and dividend data.