SCHD vs VOO: Why the Dividend Yields Differ
SCHD and VOO annualized dividend yield: twelve month-ends through July 2026series ·
2026-08-22 · 12×5
Quarterly distributions per share: SCHD and VOO, 2025 Q1 through 2026 Q2ranking ·
2026-08-22 · 6×3
Latest dividend yield: index heavyweights beside dividend-screen staplesranking ·
2026-08-22 · 12×4
Trailing twelve-month distribution yield: dividend funds beside the S&P 500 trackertable ·
2026-08-22 · 7×5
SCHD and VOO annualized dividend yield: twelve month-ends through July 2026
SCHD and VOO annualized dividend yield: twelve month-ends through July 2026
| month | month_label | schd_yield_pct | voo_yield_pct | gap_pct |
|---|---|---|---|---|
| 2025-08 | August 2025 | 3.73 | 1.18 | 2.55 |
| 2025-09 | September 2025 | 3.82 | 1.14 | 2.68 |
| 2025-10 | October 2025 | 3.9 | 1.11 | 2.79 |
| 2025-11 | November 2025 | 3.78 | 1.11 | 2.67 |
| 2025-12 | December 2025 | 4.05 | 1.13 | 2.92 |
| 2026-01 | January 2026 | 3.73 | 1.11 | 2.62 |
| 2026-02 | February 2026 | 3.5 | 1.12 | 2.38 |
| 2026-03 | March 2026 | 3.35 | 1.25 | 2.1 |
| 2026-04 | April 2026 | 3.2 | 1.13 | 2.07 |
| 2026-05 | May 2026 | 3.16 | 1.08 | 2.09 |
| 2026-06 | June 2026 | 3.19 | 1.14 | 2.04 |
| 2026-07 | July 2026 | 3.02 | 1.14 | 1.88 |
the exact SQL behind every number
WITH px AS (
SELECT ticker,
toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York'))) AS month_start,
argMax(close, window_start) AS price,
max(toDate(toTimeZone(window_start, 'America/New_York'))) AS last_day
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SCHD', 'VOO')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2025-08-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, month_start
),
dv AS (
SELECT ticker, ex_dividend_date, cash_amount
FROM global_markets.stocks_dividends
WHERE ticker IN ('SCHD', 'VOO')
AND cash_amount > 0
AND ex_dividend_date >= toDate('2024-12-01')
),
latest AS (
SELECT px.ticker AS ticker,
px.month_start AS month_start,
any(px.price) AS price,
argMax(dv.cash_amount, dv.ex_dividend_date) AS latest_payment
FROM px, dv
WHERE px.ticker = dv.ticker
AND dv.ex_dividend_date <= px.last_day
GROUP BY px.ticker, px.month_start
)
SELECT formatDateTime(month_start, '%Y-%m') AS month,
formatDateTimeInJodaSyntax(month_start, 'MMMM yyyy') AS month_label,
round(sumIf(latest_payment * 4 / price * 100, ticker = 'SCHD'), 2) AS schd_yield_pct,
round(sumIf(latest_payment * 4 / price * 100, ticker = 'VOO'), 2) AS voo_yield_pct,
round(sumIf(latest_payment * 4 / price * 100, ticker = 'SCHD')
- sumIf(latest_payment * 4 / price * 100, ticker = 'VOO'), 2) AS gap_pct
FROM latest
GROUP BY month_start
ORDER BY month_start
More from this analysisSCHD vs VOO: Why the Dividend Yields Differ
Latest dividend yield: index heavyweights beside dividend-screen staples
ranking 12×4
→
Trailing twelve-month distribution yield: dividend funds beside the S&P 500 tracker
table 7×5
→
Quarterly distributions per share: SCHD and VOO, 2025 Q1 through 2026 Q2
ranking 6×3
→
The 10-year Treasury yield, month by month: July 2021 to the latest reading on file
series 61×3
→
See all 2,170 queries →