{"slug":"what-is-total-payout-ratio","qid":"shareholder_yield_compare","label":"shareholder_yield_compare","post_title":"what-is-total-payout-ratio","post_url":"/blog/lang/ja/what-is-total-payout-ratio#q-shareholder_yield_compare","columns":["ticker","dividend_yield_pct","shareholder_yield_pct"],"rows":[{"ticker":"HD","dividend_yield_pct":3.27,"shareholder_yield_pct":3.27},{"ticker":"KO","dividend_yield_pct":2.98,"shareholder_yield_pct":2.98},{"ticker":"JNJ","dividend_yield_pct":2.01,"shareholder_yield_pct":2.01},{"ticker":"AAPL","dividend_yield_pct":0.32,"shareholder_yield_pct":1.94},{"ticker":"CSCO","dividend_yield_pct":1.47,"shareholder_yield_pct":1.79},{"ticker":"MSFT","dividend_yield_pct":0.66,"shareholder_yield_pct":0.75}],"shape":"ranking","sql":"WITH\n    cash_rows AS\n    (\n        SELECT\n            ticker,\n            period_end,\n            argMax(dividend_cash, (filing_date, period_end)) AS dividend_cash\n        FROM\n        (\n            SELECT\n                arrayJoin(tickers)        AS ticker,\n                period_end,\n                filing_date,\n                abs(toFloat64(dividends)) AS dividend_cash\n            FROM global_markets.stocks_cash_flow_statements\n            WHERE hasAny(tickers, ['AAPL', 'MSFT', 'HD', 'CSCO', 'KO', 'JNJ'])\n              AND timeframe = 'quarterly'\n              AND period_end >= '2022-01-01'\n        )\n        WHERE ticker IN ('AAPL', 'MSFT', 'HD', 'CSCO', 'KO', 'JNJ')\n        GROUP BY ticker, period_end\n    ),\n    ranked AS\n    (\n        SELECT\n            ticker,\n            period_end,\n            dividend_cash,\n            row_number() OVER (PARTITION BY ticker ORDER BY period_end DESC) AS rn\n        FROM cash_rows\n    ),\n    trailing_year AS\n    (\n        SELECT\n            ticker,\n            sum(dividend_cash) AS dividend_cash,\n            min(period_end)    AS win_start,\n            max(period_end)    AS win_end\n        FROM ranked\n        WHERE rn <= 4\n        GROUP BY ticker\n        HAVING count() = 4\n    ),\n    share_counts AS\n    (\n        SELECT\n            i.ticker                               AS ticker,\n            argMin(i.diluted_shares, i.period_end) AS shares_before,\n            argMax(i.diluted_shares, i.period_end) AS shares_latest\n        FROM\n        (\n            SELECT\n                arrayJoin(tickers)                    AS ticker,\n                period_end,\n                toFloat64(diluted_shares_outstanding) AS diluted_shares\n            FROM global_markets.stocks_income_statements\n            WHERE hasAny(tickers, ['AAPL', 'MSFT', 'HD', 'CSCO', 'KO', 'JNJ'])\n              AND timeframe = 'quarterly'\n              AND diluted_shares_outstanding > 0\n              AND period_end >= '2022-01-01'\n        ) AS i\n        INNER JOIN trailing_year AS y ON i.ticker = y.ticker\n        WHERE i.ticker IN ('AAPL', 'MSFT', 'HD', 'CSCO', 'KO', 'JNJ')\n          AND toDate(i.period_end) >  subtractDays(toDate(y.win_start), 100)\n          AND toDate(i.period_end) <= toDate(y.win_end)\n        GROUP BY i.ticker\n    ),\n    avg_prices AS\n    (\n        SELECT\n            d.ticker                AS ticker,\n            avg(toFloat64(d.close)) AS avg_close\n        FROM global_markets.stocks_daily_aggs AS d\n        INNER JOIN trailing_year AS y ON d.ticker = y.ticker\n        WHERE d.ticker IN ('AAPL', 'MSFT', 'HD', 'CSCO', 'KO', 'JNJ')\n          AND d.date >  subtractDays(toDate(y.win_start), 100)\n          AND d.date <= toDate(y.win_end)\n        GROUP BY d.ticker\n    ),\n    market_caps AS\n    (\n        SELECT\n            ticker,\n            argMax(toFloat64(market_cap), date) AS mcap\n        FROM global_markets.stocks_ratios\n        WHERE ticker IN ('AAPL', 'MSFT', 'HD', 'CSCO', 'KO', 'JNJ')\n          AND market_cap > 0\n        GROUP BY ticker\n    )\nSELECT\n    y.ticker                                 AS ticker,\n    round(y.dividend_cash / m.mcap * 100, 2) AS dividend_yield_pct,\n    round((y.dividend_cash + greatest(s.shares_before - s.shares_latest, 0) * p.avg_close) / m.mcap * 100, 2) AS shareholder_yield_pct\nFROM trailing_year AS y\nINNER JOIN share_counts AS s USING (ticker)\nINNER JOIN avg_prices   AS p USING (ticker)\nINNER JOIN market_caps  AS m USING (ticker)\nORDER BY shareholder_yield_pct DESC","computed_at":"2026-10-05T15:27:15.322973+00:00","elapsed":1.538617844}