{"slug":"dividend-yield-traps","qid":"payout_check_now","label":"Payout ratio by yield band: US payers above $1B market cap, latest snapshot on file","post_title":"Dividend Yield Traps: How to Spot One","post_url":"/blog/dividend-yield-traps#q-payout_check_now","columns":["yield_band","payers","median_yield_pct","median_payout_ratio_pct","pct_paying_over_earnings","pct_no_positive_eps"],"rows":[{"yield_band":"under 2%","payers":636,"median_yield_pct":0.89,"median_payout_ratio_pct":21.4,"pct_paying_over_earnings":3.6,"pct_no_positive_eps":9.1},{"yield_band":"2-4%","payers":382,"median_yield_pct":2.74,"median_payout_ratio_pct":49,"pct_paying_over_earnings":13.7,"pct_no_positive_eps":6.5},{"yield_band":"4-6%","payers":143,"median_yield_pct":4.65,"median_payout_ratio_pct":94.3,"pct_paying_over_earnings":45.6,"pct_no_positive_eps":12.6},{"yield_band":"6-8%","payers":53,"median_yield_pct":6.63,"median_payout_ratio_pct":119.8,"pct_paying_over_earnings":54.8,"pct_no_positive_eps":20.8},{"yield_band":"8% and up","payers":56,"median_yield_pct":10.96,"median_payout_ratio_pct":138.2,"pct_paying_over_earnings":78.7,"pct_no_positive_eps":16.1}],"shape":"table","sql":"SELECT multiIf(dividend_yield * 100 >= 8, '8% and up',\n               dividend_yield * 100 >= 6, '6-8%',\n               dividend_yield * 100 >= 4, '4-6%',\n               dividend_yield * 100 >= 2, '2-4%',\n               'under 2%') AS yield_band,\n       count() AS payers,\n       round(quantileDeterministic(0.5)(dividend_yield * 100, cityHash64(ticker)), 2) AS median_yield_pct,\n       round(quantileDeterministicIf(0.5)(dividend_yield * price / earnings_per_share * 100,\n                                          cityHash64(ticker), earnings_per_share > 0), 1) AS median_payout_ratio_pct,\n       round(100 * countIf(earnings_per_share > 0 AND dividend_yield * price > earnings_per_share)\n             / countIf(earnings_per_share > 0), 1) AS pct_paying_over_earnings,\n       round(100 * countIf(earnings_per_share <= 0) / count(), 1) AS pct_no_positive_eps\nFROM global_markets.stocks_ratios\nWHERE date = (SELECT max(date) FROM global_markets.stocks_ratios)\n  AND price >= 5\n  AND market_cap >= 1000000000\n  AND dividend_yield > 0\n  AND earnings_per_share IS NOT NULL\nGROUP BY yield_band\nHAVING countIf(earnings_per_share > 0) > 0\nORDER BY median_yield_pct","computed_at":"2026-08-22T04:04:33.138924+00:00","elapsed":0.031294847}