Bought back $2.6B of its own shares, 19.4× what it paid in stock
Dilution: new shares, stock pay and buybacks
Shares offered
Since Nov 11, 2023: 3 preferred stock sales; also 1 notes offering, 1 resale by holders.
- Jul 17, 2026 Sale of 24.0M preferred shares 424B5
- Oct 30, 2025 Sale of 18.0M preferred shares 424B5
- May 8, 2024 Sale of 30.0M preferred shares 424B5
Every offering filing →“We are offering 24,000,000 depositary shares, each representing a 1/400th ownership interest in a share of our Perpetual 6.625% Non-Cumulative Preferred Stock, Series L, par value $1.00 per share, with a $10,000 liquidation preference per share (equivalent to $25 per depositary share) (the “Preferred Stock”).”
424B5, Jul 17, 2026 ↗
Diluted shares: 158.79M in the year to Dec 31, 2025 2025 -5.1%2024 +0.2%2023 +1.8%2022 +27.3%
Change in the diluted weighted average share count from the fiscal year before, stock splits taken out. Bars use one scale for stock pay and buybacks. Prospectuses are read from their cover page; preliminary ones are left out. Cash & buybacks, year by year → · How
Where the cash came from and where it went
No cash flow chart for banks and insurers: their operating cash flow moves with loans, deposits and trading, so it says little about how cash was spent.
Buybacks, dividends and share count
| Fiscal year to | Buybacks | Dividends | Stock pay | Shares issued for cash | Diluted shares |
|---|---|---|---|---|---|
| 2025-12-31 | $2.6B | $899.0M | $136.0M | $19.0M | 158.79M |
| 2024-12-31 | $396.0M | $895.0M | $116.0M | $138.0M | 167.32M |
| 2023-12-31 | $594.0M | $868.0M | $118.0M | $32.0M | 167.00M |
| 2022-12-31 | $1.8B | $784.0M | $111.0M | $37.0M | 164.03M |
| 2021-12-31 | - | $580.0M | $85.0M | - | 128.81M |
From the XBRL of the 10-Ks (cash flow statement and diluted weighted average shares); each year as reported in the latest 10-K that includes it. Concepts: buybacks = PaymentsForRepurchaseOfCommonStock; dividends = PaymentsOfDividendsCommonStock; sbc = AllocatedShareBasedCompensationExpense; issuance = ProceedsFromStockOptionsExercised; diluted_shares = WeightedAverageNumberOfDilutedSharesOutstanding.