How Companies Execute Buybacks: Rule 10b-18
Diluted shares outstanding by calendar quarter, three long-running programmesseries ·
2026-08-22 · 20×4
Three-year change in diluted share count, ten household namesranking ·
2026-08-22 · 10×4
Share of continuous-session volume, by half hour of the trading dayseries ·
2026-08-22 · 13×3
A day's repurchase ceiling under the 25% volume conditionranking ·
2026-08-22 · 6×3
Dividends vs Buybacks: Shareholder Yield
Dividend yield, buyback yield and total shareholder yieldranking ·
2026-08-08 · 4×4
AAPL diluted share count, every reported quarter since 2021series ·
2026-08-08 · 20×3
The exact quarters behind each buyback yieldtable ·
2026-08-08 · 4×5
Share of net income already committed to the dividendranking ·
2026-08-08 · 8×2
Diluted shares outstanding by calendar quarter, three long-running programmes
Diluted shares outstanding by calendar quarter, three long-running programmes
| quarter_date | aapl_shares_b | msft_shares_b | ko_shares_b |
|---|---|---|---|
| 2021-01-01 | 16.93 | 7.6 | 4.33 |
| 2021-04-01 | 16.78 | 7.61 | 4.34 |
| 2021-07-01 | 16.86 | 7.57 | 4.34 |
| 2021-10-01 | 16.52 | 7.56 | 4.34 |
| 2022-01-01 | 16.4 | 7.53 | 4.36 |
| 2022-04-01 | 16.26 | 7.54 | 4.35 |
| 2022-07-01 | 16.33 | 7.48 | 4.35 |
| 2022-10-01 | 15.96 | 7.47 | 4.35 |
| 2023-01-01 | 15.85 | 7.46 | 4.34 |
| 2023-04-01 | 15.78 | 7.47 | 4.34 |
| 2023-07-01 | 15.81 | 7.46 | 4.34 |
| 2023-10-01 | 15.58 | 7.47 | 4.34 |
| 2024-01-01 | 15.46 | 7.47 | 4.32 |
| 2024-04-01 | 15.35 | 7.47 | 4.32 |
| 2024-07-01 | 15.41 | 7.47 | 4.32 |
| 2024-10-01 | 15.15 | 7.47 | 4.32 |
| 2025-01-01 | 15.06 | 7.46 | 4.31 |
| 2025-04-01 | 14.95 | 7.46 | 4.32 |
| 2025-07-01 | 15 | 7.47 | 4.31 |
| 2025-10-01 | 14.81 | 7.46 | 4.31 |
the exact SQL behind every number
SELECT
toString(toStartOfQuarter(period_end - 15)) AS quarter_date,
round(toFloat64(maxIf(diluted_shares_outstanding, has(tickers, 'AAPL'))) / 1e9, 2) AS aapl_shares_b,
round(toFloat64(maxIf(diluted_shares_outstanding, has(tickers, 'MSFT'))) / 1e9, 2) AS msft_shares_b,
round(toFloat64(maxIf(diluted_shares_outstanding, has(tickers, 'KO'))) / 1e9, 2) AS ko_shares_b
FROM global_markets.stocks_income_statements
WHERE timeframe = 'quarterly'
AND hasAny(tickers, ['AAPL', 'MSFT', 'KO'])
AND period_end >= '2021-01-01'
AND diluted_shares_outstanding > 0
GROUP BY quarter_date
HAVING aapl_shares_b > 0 AND msft_shares_b > 0 AND ko_shares_b > 0
ORDER BY quarter_date
More from this analysisHow Companies Execute Buybacks: Rule 10b-18
Share of continuous-session volume, by half hour of the trading day
series 13×3
→
Three-year change in diluted share count, ten household names
ranking 10×4
→
A day's repurchase ceiling under the 25% volume condition
ranking 6×3
→
Near-the-money implied volatility into a cash close (ATVI, 2023)
series 83×4
→
See all 2,170 queries →