{"slug":"trailing-vs-forward-dividend-yield","qid":"quarterly_reset_trace","label":"3M (MMM): trailing vs forward dividend yield at every month end after a payout reset","post_title":"Trailing vs Forward Dividend Yield Explained","post_url":"/blog/trailing-vs-forward-dividend-yield#q-quarterly_reset_trace","columns":["month","month_label","declared_quarterly_usd","trailing_yield_pct","forward_yield_pct","gap_abs_pp"],"rows":[{"month":"2024-06","month_label":"Jun 2024","declared_quarterly_usd":0.7,"trailing_yield_pct":5.1,"forward_yield_pct":2.74,"gap_abs_pp":2.36},{"month":"2024-07","month_label":"Jul 2024","declared_quarterly_usd":0.7,"trailing_yield_pct":4.08,"forward_yield_pct":2.2,"gap_abs_pp":1.89},{"month":"2024-08","month_label":"Aug 2024","declared_quarterly_usd":0.7,"trailing_yield_pct":3.27,"forward_yield_pct":2.08,"gap_abs_pp":1.2},{"month":"2024-09","month_label":"Sep 2024","declared_quarterly_usd":0.7,"trailing_yield_pct":3.23,"forward_yield_pct":2.05,"gap_abs_pp":1.18},{"month":"2024-10","month_label":"Oct 2024","declared_quarterly_usd":0.7,"trailing_yield_pct":3.43,"forward_yield_pct":2.18,"gap_abs_pp":1.25},{"month":"2024-11","month_label":"Nov 2024","declared_quarterly_usd":0.7,"trailing_yield_pct":2.7,"forward_yield_pct":2.1,"gap_abs_pp":0.61},{"month":"2024-12","month_label":"Dec 2024","declared_quarterly_usd":0.7,"trailing_yield_pct":2.8,"forward_yield_pct":2.17,"gap_abs_pp":0.63},{"month":"2025-01","month_label":"Jan 2025","declared_quarterly_usd":0.7,"trailing_yield_pct":2.37,"forward_yield_pct":1.84,"gap_abs_pp":0.53},{"month":"2025-02","month_label":"Feb 2025","declared_quarterly_usd":0.73,"trailing_yield_pct":1.82,"forward_yield_pct":1.88,"gap_abs_pp":0.06},{"month":"2025-03","month_label":"Mar 2025","declared_quarterly_usd":0.73,"trailing_yield_pct":1.93,"forward_yield_pct":1.99,"gap_abs_pp":0.06},{"month":"2025-04","month_label":"Apr 2025","declared_quarterly_usd":0.73,"trailing_yield_pct":2.04,"forward_yield_pct":2.1,"gap_abs_pp":0.06},{"month":"2025-05","month_label":"May 2025","declared_quarterly_usd":0.73,"trailing_yield_pct":1.93,"forward_yield_pct":1.97,"gap_abs_pp":0.04},{"month":"2025-06","month_label":"Jun 2025","declared_quarterly_usd":0.73,"trailing_yield_pct":1.88,"forward_yield_pct":1.92,"gap_abs_pp":0.04},{"month":"2025-07","month_label":"Jul 2025","declared_quarterly_usd":0.73,"trailing_yield_pct":1.92,"forward_yield_pct":1.96,"gap_abs_pp":0.04},{"month":"2025-08","month_label":"Aug 2025","declared_quarterly_usd":0.73,"trailing_yield_pct":1.86,"forward_yield_pct":1.88,"gap_abs_pp":0.02},{"month":"2025-09","month_label":"Sep 2025","declared_quarterly_usd":0.73,"trailing_yield_pct":1.86,"forward_yield_pct":1.88,"gap_abs_pp":0.02},{"month":"2025-10","month_label":"Oct 2025","declared_quarterly_usd":0.73,"trailing_yield_pct":1.74,"forward_yield_pct":1.75,"gap_abs_pp":0.02},{"month":"2025-11","month_label":"Nov 2025","declared_quarterly_usd":0.73,"trailing_yield_pct":1.7,"forward_yield_pct":1.7,"gap_abs_pp":0},{"month":"2025-12","month_label":"Dec 2025","declared_quarterly_usd":0.73,"trailing_yield_pct":1.82,"forward_yield_pct":1.82,"gap_abs_pp":0},{"month":"2026-01","month_label":"Jan 2026","declared_quarterly_usd":0.73,"trailing_yield_pct":1.91,"forward_yield_pct":1.91,"gap_abs_pp":0},{"month":"2026-02","month_label":"Feb 2026","declared_quarterly_usd":0.78,"trailing_yield_pct":1.8,"forward_yield_pct":1.89,"gap_abs_pp":0.09},{"month":"2026-03","month_label":"Mar 2026","declared_quarterly_usd":0.78,"trailing_yield_pct":2.04,"forward_yield_pct":2.15,"gap_abs_pp":0.1},{"month":"2026-04","month_label":"Apr 2026","declared_quarterly_usd":0.78,"trailing_yield_pct":2.03,"forward_yield_pct":2.13,"gap_abs_pp":0.1},{"month":"2026-05","month_label":"May 2026","declared_quarterly_usd":0.78,"trailing_yield_pct":1.97,"forward_yield_pct":2.04,"gap_abs_pp":0.07},{"month":"2026-06","month_label":"Jun 2026","declared_quarterly_usd":0.78,"trailing_yield_pct":1.86,"forward_yield_pct":1.93,"gap_abs_pp":0.06},{"month":"2026-07","month_label":"Jul 2026","declared_quarterly_usd":0.78,"trailing_yield_pct":1.71,"forward_yield_pct":1.77,"gap_abs_pp":0.06}],"shape":"series","sql":"WITH px AS (\n    SELECT toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York'))) AS month_start,\n           max(toDate(toTimeZone(window_start, 'America/New_York'))) AS last_day,\n           argMax(close, window_start) AS close_price\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'MMM'\n      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2024-06-01')\n      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959\n    GROUP BY month_start\n),\ndv AS (\n    SELECT ex_dividend_date, cash_amount\n    FROM global_markets.stocks_dividends\n    WHERE ticker = 'MMM'\n      AND distribution_type = 'recurring'\n      AND frequency = 4\n      AND cash_amount > 0\n      AND ex_dividend_date >= toDate('2023-05-01')\n)\nSELECT formatDateTime(px.month_start, '%Y-%m') AS month,\n       formatDateTimeInJodaSyntax(px.month_start, 'MMM yyyy') AS month_label,\n       round(toFloat64(argMax(dv.cash_amount, dv.ex_dividend_date)), 2) AS declared_quarterly_usd,\n       round(sumIf(toFloat64(dv.cash_amount), dv.ex_dividend_date > px.last_day - INTERVAL 1 YEAR)\n             / toFloat64(any(px.close_price)) * 100, 2) AS trailing_yield_pct,\n       round(toFloat64(argMax(dv.cash_amount, dv.ex_dividend_date)) * 4\n             / toFloat64(any(px.close_price)) * 100, 2) AS forward_yield_pct,\n       round(abs(toFloat64(argMax(dv.cash_amount, dv.ex_dividend_date)) * 4\n                 - sumIf(toFloat64(dv.cash_amount), dv.ex_dividend_date > px.last_day - INTERVAL 1 YEAR))\n             / toFloat64(any(px.close_price)) * 100, 2) AS gap_abs_pp\nFROM px, dv\nWHERE dv.ex_dividend_date <= px.last_day\nGROUP BY px.month_start, px.last_day\nORDER BY px.month_start","computed_at":"2026-08-22T04:23:40.221902+00:00","elapsed":0.859272419}