Average Dividend Yield by Sector: 2026 Data
Average dividend yield by sector, measured two ways: the median payer and the cap-weighted figure, with payout coverage for each one and the exact SQL.
The average dividend yield by sector is the number a single market-wide figure hides. Across a basket of household large caps spanning 11 sectors, the median dividend payer yields 0.72% at the low end of the sector table and 5.33% at the high end. This page measures that spread and shows the arithmetic underneath it. For what a given level is usually taken to mean, read what counts as a good dividend yield instead.
What is the average dividend yield by sector?
Dividend yield is one ratio: the cash a company is scheduled to pay out over the coming year, divided by its share price. Every panel here uses the indicated yield, which takes each company's most recent regular cash dividend, multiplies it by the number of payments that dividend carries per year, and divides by the latest close. Companies with no dividend on record enter the calculation at zero rather than dropping out of it, and that single choice moves the answer more than most readers expect.
One line of housekeeping before the table. The universe is 11 sectors with four or five large caps in each, grouped by hand and listed in full in the SQL beneath the panel, priced through Oct 8, 2026. Three figures sit next to each sector name: the median yield among the names that pay, the simple mean across every name in the group, and the cap-weighted figure.
| sector | median_payer_pct | mean_all_names_pct | cap_weighted_pct | priced_through |
|---|---|---|---|---|
| Communication | 5.33 | 3.44 | 0.69 | Oct 8, 2026 |
| Real Estate | 4.28 | 4.12 | 3.99 | Oct 8, 2026 |
| Discretionary | 3.28 | 1.86 | 0.36 | Oct 8, 2026 |
| Utilities | 3.26 | 3.38 | 3.39 | Oct 8, 2026 |
| Energy | 2.53 | 2.79 | 3.07 | Oct 8, 2026 |
| Staples | 2.46 | 2.63 | 2.29 | Oct 8, 2026 |
| Health Care | 2.38 | 2.33 | 2.31 | Oct 8, 2026 |
| Financials | 2.16 | 2.03 | 2.07 | Oct 8, 2026 |
| Industrials | 1.36 | 1.52 | 1.2 | Oct 8, 2026 |
| Materials | 1.18 | 2.06 | 1.33 | Oct 8, 2026 |
| Tech | 0.72 | 0.64 | 0.57 | Oct 8, 2026 |
The exact SQL behind every number
WITH
basket AS
(
SELECT
pair.1 AS ticker,
pair.2 AS sector
FROM
(
SELECT arrayJoin([
('XOM', 'Energy'), ('CVX', 'Energy'), ('COP', 'Energy'), ('SLB', 'Energy'),
('JPM', 'Financials'), ('BAC', 'Financials'), ('GS', 'Financials'), ('BLK', 'Financials'), ('AXP', 'Financials'),
('JNJ', 'Health Care'), ('ABBV', 'Health Care'), ('MRK', 'Health Care'), ('AMGN', 'Health Care'), ('GILD', 'Health Care'),
('KO', 'Staples'), ('PG', 'Staples'), ('PEP', 'Staples'), ('COST', 'Staples'), ('CL', 'Staples'),
('DUK', 'Utilities'), ('SO', 'Utilities'), ('AEP', 'Utilities'), ('NEE', 'Utilities'), ('XEL', 'Utilities'),
('AAPL', 'Tech'), ('MSFT', 'Tech'), ('AVGO', 'Tech'), ('CSCO', 'Tech'), ('ADBE', 'Tech'),
('CAT', 'Industrials'), ('HON', 'Industrials'), ('UNP', 'Industrials'), ('GE', 'Industrials'), ('LMT', 'Industrials'),
('HD', 'Discretionary'), ('MCD', 'Discretionary'), ('AMZN', 'Discretionary'), ('TSLA', 'Discretionary'), ('SBUX', 'Discretionary'),
('LIN', 'Materials'), ('SHW', 'Materials'), ('NEM', 'Materials'), ('DOW', 'Materials'),
('VZ', 'Communication'), ('T', 'Communication'), ('CMCSA', 'Communication'), ('GOOGL', 'Communication'), ('NFLX', 'Communication'),
('AMT', 'Real Estate'), ('PLD', 'Real Estate'), ('PSA', 'Real Estate'), ('SPG', 'Real Estate')
]) AS pair
)
),
price AS
(
SELECT
ticker,
max(date) AS price_date,
argMax(toFloat64(close), date) AS last_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN (SELECT ticker FROM basket)
AND date >= today() - 20
GROUP BY ticker
),
indicated AS
(
SELECT
ticker,
toFloat64(argMax(cash_amount, ex_dividend_date))
* toFloat64(argMax(frequency, ex_dividend_date)) AS annual_rate
FROM global_markets.stocks_dividends
WHERE ticker IN (SELECT ticker FROM basket)
AND ex_dividend_date >= today() - 400
AND frequency > 0
AND cash_amount > 0
GROUP BY ticker
),
caps AS
(
SELECT
ticker,
argMax(toFloat64(market_cap), date) AS cap_usd
FROM global_markets.stocks_ratios
WHERE ticker IN (SELECT ticker FROM basket)
AND date >= today() - 45
AND market_cap > 0
GROUP BY ticker
),
name_level AS
(
SELECT
b.sector AS sector,
b.ticker AS ticker,
p.price_date AS price_date,
c.cap_usd AS market_cap,
round(100 * ifNull(i.annual_rate, 0) / p.last_close, 2) AS yield_pct
FROM basket AS b
INNER JOIN price AS p ON p.ticker = b.ticker
INNER JOIN caps AS c ON c.ticker = b.ticker
LEFT JOIN indicated AS i ON i.ticker = b.ticker
)
SELECT
sector,
round(quantileDeterministicIf(0.5)(yield_pct, cityHash64(ticker), yield_pct > 0), 2) AS median_payer_pct,
round(avg(yield_pct), 2) AS mean_all_names_pct,
round(sum(yield_pct * market_cap) / sum(market_cap), 2) AS cap_weighted_pct,
formatDateTime(max(price_date), '%b %e, %Y') AS priced_through
FROM name_level
GROUP BY sector
HAVING countIf(yield_pct > 0) > 0
ORDER BY median_payer_pct DESCCommunication leads the median column at 5.33%. At the far end of the same table, Tech prints 0.72%. The cap-weighted column answers a different question. It gives each company a share of the sector total in proportion to its market value, which hands the level to the largest members: in Communication that weighting produces 0.69% against a 5.33% median, while the equal-weighted mean for the same group lands at 3.44%. An index-level figure such as the S&P 500 dividend yield is built the cap-weighted way, and it rarely matches the typical stock inside it.
Why the mean and the median disagree
The distance between those columns is the real story of this page. A median reports the middle payer and ignores size entirely. A mean counts every name equally, including the names that pay nothing at all, each entering the average as a zero. In a sector where most members pay a steady dividend the two land close together. In a sector split between large payers and large non-payers they diverge sharply, and a reader comparing two sources is often comparing these two methods without being told.
| sector | dividend_payers | non_payers | payers_only_mean_pct | all_names_mean_pct | gap_pct |
|---|---|---|---|---|---|
| Discretionary | 3 | 2 | 3.11 | 1.86 | 1.24 |
| Communication | 4 | 1 | 4.3 | 3.44 | 0.86 |
| Tech | 4 | 1 | 0.8 | 0.64 | 0.16 |
| Staples | 5 | 0 | 2.63 | 2.63 | 0 |
| Energy | 4 | 0 | 2.7 | 2.7 | 0 |
| Health Care | 5 | 0 | 2.33 | 2.33 | 0 |
| Financials | 5 | 0 | 2.03 | 2.03 | 0 |
| Industrials | 5 | 0 | 1.52 | 1.52 | 0 |
| Utilities | 5 | 0 | 3.38 | 3.38 | 0 |
| Real Estate | 4 | 0 | 4.12 | 4.12 | 0 |
| Materials | 4 | 0 | 2.06 | 2.06 | 0 |
The exact SQL behind every number
WITH
basket AS
(
SELECT
pair.1 AS ticker,
pair.2 AS sector
FROM
(
SELECT arrayJoin([
('XOM', 'Energy'), ('CVX', 'Energy'), ('COP', 'Energy'), ('SLB', 'Energy'),
('JPM', 'Financials'), ('BAC', 'Financials'), ('GS', 'Financials'), ('BLK', 'Financials'), ('AXP', 'Financials'),
('JNJ', 'Health Care'), ('ABBV', 'Health Care'), ('MRK', 'Health Care'), ('AMGN', 'Health Care'), ('GILD', 'Health Care'),
('KO', 'Staples'), ('PG', 'Staples'), ('PEP', 'Staples'), ('COST', 'Staples'), ('CL', 'Staples'),
('DUK', 'Utilities'), ('SO', 'Utilities'), ('AEP', 'Utilities'), ('NEE', 'Utilities'), ('XEL', 'Utilities'),
('AAPL', 'Tech'), ('MSFT', 'Tech'), ('AVGO', 'Tech'), ('CSCO', 'Tech'), ('ADBE', 'Tech'),
('CAT', 'Industrials'), ('HON', 'Industrials'), ('UNP', 'Industrials'), ('GE', 'Industrials'), ('LMT', 'Industrials'),
('HD', 'Discretionary'), ('MCD', 'Discretionary'), ('AMZN', 'Discretionary'), ('TSLA', 'Discretionary'), ('SBUX', 'Discretionary'),
('LIN', 'Materials'), ('SHW', 'Materials'), ('NEM', 'Materials'), ('DOW', 'Materials'),
('VZ', 'Communication'), ('T', 'Communication'), ('CMCSA', 'Communication'), ('GOOGL', 'Communication'), ('NFLX', 'Communication'),
('AMT', 'Real Estate'), ('PLD', 'Real Estate'), ('PSA', 'Real Estate'), ('SPG', 'Real Estate')
]) AS pair
)
),
price AS
(
SELECT
ticker,
argMax(toFloat64(close), date) AS last_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN (SELECT ticker FROM basket)
AND date >= today() - 20
GROUP BY ticker
),
indicated AS
(
SELECT
ticker,
toFloat64(argMax(cash_amount, ex_dividend_date))
* toFloat64(argMax(frequency, ex_dividend_date)) AS annual_rate
FROM global_markets.stocks_dividends
WHERE ticker IN (SELECT ticker FROM basket)
AND ex_dividend_date >= today() - 400
AND frequency > 0
AND cash_amount > 0
GROUP BY ticker
),
name_level AS
(
SELECT
b.sector AS sector,
b.ticker AS ticker,
round(100 * ifNull(i.annual_rate, 0) / p.last_close, 2) AS yield_pct
FROM basket AS b
INNER JOIN price AS p ON p.ticker = b.ticker
LEFT JOIN indicated AS i ON i.ticker = b.ticker
)
SELECT
sector,
countIf(yield_pct > 0) AS dividend_payers,
countIf(yield_pct = 0) AS non_payers,
round(avgIf(yield_pct, yield_pct > 0), 2) AS payers_only_mean_pct,
round(avg(yield_pct), 2) AS all_names_mean_pct,
round(avgIf(yield_pct, yield_pct > 0) - avg(yield_pct), 2) AS gap_pct
FROM name_level
GROUP BY sector
HAVING countIf(yield_pct > 0) > 0
ORDER BY gap_pct DESCThe widest spread in the basket sits in Discretionary. Its payers average 3.11%, and the same group averages 1.86% once the 2 names with no dividend are counted at zero, a difference of 1.24 percentage points. A screener that quietly drops non-payers publishes the first number. A sector fund's trailing yield is closer to the second. Both are defensible, and they are not interchangeable. Ranking pages such as the highest dividend yield stocks work one name at a time, where this universe question disappears and a different one takes over.
Which sector averages are covered by cash flow?
A yield is a ratio of a payout to a price. It carries no information about whether the payout is funded. The standard check is the payout ratio: dividends measured against earnings, or against cash flow. The panel below uses cash, since cash is what pays a dividend. It takes dividends paid as a share of net operating cash flow, summed over the trailing four reported quarters for each company and then pooled across each sector. Operating cash flow is the denominator rather than net income on purpose, since depreciation charges can push reported net income far below the cash a capital-heavy business collects.
| sector | names_with_filings | dividends_pct_of_cash_flow |
|---|---|---|
| Real Estate | 4 | 72.2 |
| Staples | 5 | 44.5 |
| Health Care | 5 | 44.4 |
| Energy | 4 | 31.7 |
| Utilities | 5 | 30.1 |
| Industrials | 5 | 26.4 |
| Materials | 4 | 19.3 |
| Tech | 5 | 16.5 |
| Discretionary | 5 | 13.4 |
| Communication | 5 | 11.7 |
| Financials | 5 | 10.2 |
The exact SQL behind every number
WITH
basket AS
(
SELECT
pair.1 AS ticker,
pair.2 AS sector
FROM
(
SELECT arrayJoin([
('XOM', 'Energy'), ('CVX', 'Energy'), ('COP', 'Energy'), ('SLB', 'Energy'),
('JPM', 'Financials'), ('BAC', 'Financials'), ('GS', 'Financials'), ('BLK', 'Financials'), ('AXP', 'Financials'),
('JNJ', 'Health Care'), ('ABBV', 'Health Care'), ('MRK', 'Health Care'), ('AMGN', 'Health Care'), ('GILD', 'Health Care'),
('KO', 'Staples'), ('PG', 'Staples'), ('PEP', 'Staples'), ('COST', 'Staples'), ('CL', 'Staples'),
('DUK', 'Utilities'), ('SO', 'Utilities'), ('AEP', 'Utilities'), ('NEE', 'Utilities'), ('XEL', 'Utilities'),
('AAPL', 'Tech'), ('MSFT', 'Tech'), ('AVGO', 'Tech'), ('CSCO', 'Tech'), ('ADBE', 'Tech'),
('CAT', 'Industrials'), ('HON', 'Industrials'), ('UNP', 'Industrials'), ('GE', 'Industrials'), ('LMT', 'Industrials'),
('HD', 'Discretionary'), ('MCD', 'Discretionary'), ('AMZN', 'Discretionary'), ('TSLA', 'Discretionary'), ('SBUX', 'Discretionary'),
('LIN', 'Materials'), ('SHW', 'Materials'), ('NEM', 'Materials'), ('DOW', 'Materials'),
('VZ', 'Communication'), ('T', 'Communication'), ('CMCSA', 'Communication'), ('GOOGL', 'Communication'), ('NFLX', 'Communication'),
('AMT', 'Real Estate'), ('PLD', 'Real Estate'), ('PSA', 'Real Estate'), ('SPG', 'Real Estate')
]) AS pair
)
),
quarters AS
(
SELECT
ticker,
period_end,
max(abs(toFloat64(dividends))) AS dividends_paid,
max(toFloat64(net_cash_from_operating_activities)) AS operating_cash_flow
FROM
(
SELECT
arrayJoin(tickers) AS ticker,
period_end,
dividends,
net_cash_from_operating_activities
FROM global_markets.stocks_cash_flow_statements
WHERE timeframe = 'quarterly'
AND period_end >= today() - 500
AND period_end <= today()
)
GROUP BY ticker, period_end
),
joined AS
(
SELECT
b.sector AS sector,
q.ticker AS ticker,
q.dividends_paid AS dividends_paid,
q.operating_cash_flow AS operating_cash_flow
FROM quarters AS q
INNER JOIN basket AS b ON b.ticker = q.ticker
WHERE q.operating_cash_flow > 0
)
SELECT
sector,
countDistinct(ticker) AS names_with_filings,
round(100 * sum(dividends_paid) / sum(operating_cash_flow), 1) AS dividends_pct_of_cash_flow
FROM joined
GROUP BY sector
HAVING sum(operating_cash_flow) > 0
ORDER BY dividends_pct_of_cash_flow DESCReal Estate distributes 72.2% of its operating cash flow, the largest share in the basket, measured across 4 companies with statements in the window. Financials sits at the other end at 10.2%. Property trusts run structurally high on this measure by design: a REIT, a real estate investment trust, must distribute at least 90% of its taxable income to keep its tax treatment, so a large ratio there describes the business model rather than a stretched balance sheet. Reading this panel next to the yield panel is the whole exercise. Dividend safety and cash flow coverage walks the same arithmetic through one company at a time, and dividend yield traps covers the case where the yield is high and the coverage is thin.
How the sector picture has moved over three years
A sector average is a snapshot of two moving parts. Prices move every session. Dividend rates move once or twice a year per company, in discrete steps. The panel below tracks the median indicated yield across the whole basket, month by month, with the 10-year Treasury yield drawn on the same axis for scale.
| month | month_label | basket_median_yield_pct | treasury_10y_pct |
|---|---|---|---|
| 2023-10 | Oct 2023 | 3.21 | 4.8 |
| 2023-11 | Nov 2023 | 3.03 | 4.5 |
| 2023-12 | Dec 2023 | 2.85 | 4.02 |
| 2024-01 | Jan 2024 | 2.82 | 4.06 |
| 2024-02 | Feb 2024 | 2.83 | 4.21 |
| 2024-03 | Mar 2024 | 2.77 | 4.21 |
| 2024-04 | Apr 2024 | 2.71 | 4.54 |
| 2024-05 | May 2024 | 2.69 | 4.48 |
| 2024-06 | Jun 2024 | 2.8 | 4.31 |
| 2024-07 | Jul 2024 | 2.72 | 4.25 |
| 2024-08 | Aug 2024 | 2.53 | 3.87 |
| 2024-09 | Sep 2024 | 2.53 | 3.72 |
| 2024-10 | Oct 2024 | 2.54 | 4.1 |
| 2024-11 | Nov 2024 | 2.56 | 4.36 |
| 2024-12 | Dec 2024 | 2.79 | 4.39 |
| 2025-01 | Jan 2025 | 2.79 | 4.63 |
| 2025-02 | Feb 2025 | 2.71 | 4.45 |
| 2025-03 | Mar 2025 | 2.77 | 4.28 |
| 2025-04 | Apr 2025 | 2.9 | 4.28 |
| 2025-05 | May 2025 | 2.85 | 4.42 |
The exact SQL behind every number
WITH
basket AS
(
SELECT
pair.1 AS ticker,
pair.2 AS sector
FROM
(
SELECT arrayJoin([
('XOM', 'Energy'), ('CVX', 'Energy'), ('COP', 'Energy'), ('SLB', 'Energy'),
('JPM', 'Financials'), ('BAC', 'Financials'), ('GS', 'Financials'), ('BLK', 'Financials'), ('AXP', 'Financials'),
('JNJ', 'Health Care'), ('ABBV', 'Health Care'), ('MRK', 'Health Care'), ('AMGN', 'Health Care'), ('GILD', 'Health Care'),
('KO', 'Staples'), ('PG', 'Staples'), ('PEP', 'Staples'), ('COST', 'Staples'), ('CL', 'Staples'),
('DUK', 'Utilities'), ('SO', 'Utilities'), ('AEP', 'Utilities'), ('NEE', 'Utilities'), ('XEL', 'Utilities'),
('AAPL', 'Tech'), ('MSFT', 'Tech'), ('AVGO', 'Tech'), ('CSCO', 'Tech'), ('ADBE', 'Tech'),
('CAT', 'Industrials'), ('HON', 'Industrials'), ('UNP', 'Industrials'), ('GE', 'Industrials'), ('LMT', 'Industrials'),
('HD', 'Discretionary'), ('MCD', 'Discretionary'), ('AMZN', 'Discretionary'), ('TSLA', 'Discretionary'), ('SBUX', 'Discretionary'),
('LIN', 'Materials'), ('SHW', 'Materials'), ('NEM', 'Materials'), ('DOW', 'Materials'),
('VZ', 'Communication'), ('T', 'Communication'), ('CMCSA', 'Communication'), ('GOOGL', 'Communication'), ('NFLX', 'Communication'),
('AMT', 'Real Estate'), ('PLD', 'Real Estate'), ('PSA', 'Real Estate'), ('SPG', 'Real Estate')
]) AS pair
)
),
month_px AS
(
SELECT
ticker,
toStartOfMonth(date) AS m,
max(date) AS last_session,
argMax(toFloat64(close), date) AS month_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN (SELECT ticker FROM basket)
AND date >= toStartOfMonth(today()) - 1095
AND date < toStartOfMonth(today())
GROUP BY ticker, m
),
div_rate AS
(
SELECT
ticker,
ex_dividend_date,
max(toFloat64(cash_amount) * toFloat64(frequency)) AS annual_rate
FROM global_markets.stocks_dividends
WHERE ticker IN (SELECT ticker FROM basket)
AND ex_dividend_date >= toStartOfMonth(today()) - 1460
AND frequency > 0
AND cash_amount > 0
GROUP BY ticker, ex_dividend_date
),
name_month AS
(
SELECT
p.m AS m,
p.ticker AS ticker,
round(100 * d.annual_rate / p.month_close, 3) AS yield_pct
FROM month_px AS p
ASOF LEFT JOIN div_rate AS d
ON p.ticker = d.ticker AND p.last_session >= d.ex_dividend_date
),
ust AS
(
SELECT
toStartOfMonth(date) AS m,
round(avg(toFloat64(yield_10_year)), 2) AS treasury_10y_pct
FROM global_markets.treasury_yields
WHERE date >= toStartOfMonth(today()) - 1095
AND date < toStartOfMonth(today())
AND yield_10_year > 0
GROUP BY m
)
SELECT
formatDateTime(n.m, '%Y-%m') AS month,
formatDateTime(n.m, '%b %Y') AS month_label,
round(quantileDeterministicIf(0.5)(n.yield_pct, cityHash64(n.ticker), n.yield_pct > 0), 2) AS basket_median_yield_pct,
any(t.treasury_10y_pct) AS treasury_10y_pct
FROM name_month AS n
INNER JOIN ust AS t ON t.m = n.m
GROUP BY n.m
HAVING countIf(n.yield_pct > 0) > 0
ORDER BY n.mBetween Oct 2023 and Sep 2026 the basket median moved from 3.21% to 2.47%, over a stretch that closed with the 10-year Treasury at 4.99%. The two lines are not like for like. A Treasury coupon is contractual, and a common-stock dividend is declared each quarter at the board's discretion. Drawing them together shows the backdrop against which any given equity yield was read in one month and in another.
How to read any average dividend yield number
Four choices sit behind every published average, and naming them resolves almost every disagreement between two sources.
- Weighting. A cap-weighted average hands the result to the biggest members of the group, while an equal-weighted mean treats a mid-sized utility and a mega cap alike. A median reports the middle name and ignores size.
- Universe. The full sector membership, or only the names that currently pay. The second panel above prices that choice in percentage points.
- Definition. The indicated forward rate used here, or the trailing twelve months of cash actually paid. The two differ for any company that has just raised, cut or initiated a dividend.
- Timing. The denominator is a price from one close, so a yield table from last quarter is a different table, not a stale copy of this one.
State those four next to the figure and the number becomes checkable. Leave them out and an average dividend yield is a number without a definition.
Data notes, universe and definitions
- The universe is a hand-built basket of 52 large US-listed companies, four or five per sector, with the full ticker list visible in the SQL under each panel. It is a sample of household names rather than an index membership, and a different basket would move every figure on this page.
- Sector labels are assigned inside the query itself rather than read from a vendor classification field, so the grouping is auditable line by line and no reused or reassigned ticker symbol can slip into a sector bucket.
- Indicated yield is the most recent regular cash dividend multiplied by its stated payment frequency, divided by the latest close. Special and one-off distributions carry no frequency and are excluded.
- A company with no qualifying dividend in the trailing 400 days enters at a yield of zero. Both treatments of those names appear side by side in the second panel.
- The payout panel reads quarterly statement rows keyed on period end, the reliable date field on company statements, and sums the trailing four reported quarters per name. Duplicate rows for the same company and period are collapsed before aggregation, and quarters with negative operating cash flow are dropped from the denominator.
- The history panel takes the final session of each completed month, pairs each name with the most recent dividend declared on or before that session, and reports the median across the basket. The current partial month is excluded.
FAQ
What is the average dividend yield by sector?
It depends on the method, which is why the panels above publish three figures per sector. In this basket of large caps the median dividend payer ranges from 0.72% in Tech up to 5.33% in Communication, priced through Oct 8, 2026.
Does the average include companies that pay no dividend?
Both versions are shown. Counting non-payers at zero pulls a sector mean down, and the effect is largest where a few big names pay nothing: in Discretionary the two methods differ by 1.24 percentage points.
Why do utilities and real estate show higher dividend yields than technology?
The difference is structural rather than mysterious. Regulated utilities and property trusts are organised around distributing recurring cash to shareholders, and a REIT must pass through at least 90% of taxable income to keep its tax treatment. Companies that reinvest most of their cash flow into growth retain it instead of paying it out.
Is a high sector average a sign of a safe dividend?
No. A yield rises when the price falls as readily as when the payout rises, and the yield itself says nothing about funding. The cash-flow panel above is the first check, and the full method is in dividend safety and cash flow coverage.
How often do these numbers change?
Prices refresh every session, so the denominators move constantly. Dividend rates change only when a board declares a new one, and statement figures update once a quarter per company. Each panel carries the date range it was computed over.
Every panel on this page ships with the exact SQL beneath it, including the full ticker list behind each sector label. To regroup the names, swap in a different universe or run the same measurement as of another date, ask for it in plain English on the Strasmore terminal.