{"slug":"sp-500-dividend-yield","qid":"index_math","label":"Cap weighted vs equal weighted dividend yield, by company size","post_title":"S&P 500 Dividend Yield: How It's Measured","post_url":"/blog/sp-500-dividend-yield#q-index_math","columns":["size_bucket","companies","payers","cap_weighted_yield_pct","equal_weighted_yield_pct","median_payer_yield_pct"],"rows":[{"size_bucket":"over $1T","companies":13,"payers":9,"cap_weighted_yield_pct":0.26,"equal_weighted_yield_pct":0.25,"median_payer_yield_pct":0.34},{"size_bucket":"$200B to $1T","companies":46,"payers":39,"cap_weighted_yield_pct":1.38,"equal_weighted_yield_pct":1.46,"median_payer_yield_pct":1.84},{"size_bucket":"$50B to $200B","companies":196,"payers":166,"cap_weighted_yield_pct":1.82,"equal_weighted_yield_pct":1.85,"median_payer_yield_pct":1.72},{"size_bucket":"$10B to $50B","companies":520,"payers":354,"cap_weighted_yield_pct":1.52,"equal_weighted_yield_pct":1.58,"median_payer_yield_pct":1.74},{"size_bucket":"$1B to $10B","companies":1290,"payers":702,"cap_weighted_yield_pct":1.67,"equal_weighted_yield_pct":1.77,"median_payer_yield_pct":2.28}],"shape":"table","sql":"SELECT multiIf(market_cap >= 1000000000000, 'over $1T',\n               market_cap >= 200000000000, '$200B to $1T',\n               market_cap >= 50000000000, '$50B to $200B',\n               market_cap >= 10000000000, '$10B to $50B',\n               '$1B to $10B') AS size_bucket,\n       count() AS companies,\n       countIf(dividend_yield > 0) AS payers,\n       round(100 * sum(ifNull(dividend_yield, 0) * market_cap) / sum(market_cap), 2) AS cap_weighted_yield_pct,\n       round(100 * avg(ifNull(dividend_yield, 0)), 2) AS equal_weighted_yield_pct,\n       round(100 * quantileDeterministicIf(0.5)(ifNull(dividend_yield, 0),\n                                                cityHash64(ticker), dividend_yield > 0), 2) AS median_payer_yield_pct\nFROM global_markets.stocks_ratios\nWHERE date = (SELECT max(date) FROM global_markets.stocks_ratios)\n  AND price >= 5\n  AND market_cap >= 1000000000\nGROUP BY size_bucket\nHAVING countIf(dividend_yield > 0) > 0\nORDER BY max(market_cap) DESC","computed_at":"2026-08-22T04:19:54.297025+00:00","elapsed":0.028996886}