W.W. Grainger (GWW) Shares Outstanding (Diluted) (2009 - 2026)
W.W. Grainger's Shares Outstanding (Diluted) came in at 47.2 million for Q2 2026, down 1.9% from 48.1 million a year earlier and down 0.4% from the prior quarter.
W.W. Grainger (GWW) Shares Outstanding (Diluted) (2009 - 2026) Analysis & Trends
For FY2025, W.W. Grainger's Shares Outstanding (Diluted) was 48 million, down 2.0% from FY2024.
- Shares Outstanding (Diluted) has declined in each of the last 13 years, with a five-year compound annual growth rate of -2.2% (FY2020 to FY2025).
- Going back by year, Shares Outstanding (Diluted) was 49 million in FY2024 (-2.2%), 50.1 million in FY2023 (-2.0%), 51.1 million in FY2022 (-2.1%) and 52.2 million in FY2021 (-2.8%).
- The Q2 2026 figure represents the lowest quarterly Shares Outstanding (Diluted) in data going back to Q1 2009.
- Year-over-year, Shares Outstanding (Diluted) has declined for 54 consecutive quarters, with an average decline of 2.1% over the last eight quarters.
- Across the past five years, year-over-year decline in Shares Outstanding (Diluted) ran from 1.8% in Q1 2023 to 3.3% in Q3 2021.
- Business Quant data shows GWW's Shares Outstanding (Diluted) at 47.4 million (Q1 2026), 48 million (Q4 2025) and 47.9 million (Q3 2025) in the three quarters before Q2 2026.
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Shares Outstanding (Dil.) (Qtr) |
|---|---|---|---|---|---|
| 1 | United Rentals | 66.45 Bn | 65.21 Bn | 1.73 Bn | 62.63 Mn |
| 2 | W.W. Grainger | 62.58 Bn | 60.18 Bn | 1.98 Bn | 47.20 Mn |
| 3 | Fastenal | 59.02 Bn | 57.94 Bn | 1.06 Bn | 1.15 Bn |
| 4 | Ferguson Enterprises | 43.33 Bn | 40.54 Bn | 2.32 Bn | 194.80 Mn |
| 5 | Sunbelt Rentals Holdings | 31.82 Bn | 31.70 Bn | 1.25 Bn | 411.31 Mn |
| 6 | Reliance | 20.64 Bn | 19.68 Bn | 1.30 Bn | 51.38 Mn |
| 7 | Wesco International | 17.76 Bn | 15.08 Bn | 1.46 Bn | 49.40 Mn |
| 8 | Applied Industrial Technologies | 12.45 Bn | 12.32 Bn | 411.22 Mn | 37.86 Mn |
| 9 | Watsco | 11.13 Bn | 8.82 Bn | 578.93 Mn | 38.19 Mn |
| 10 | Avantor | 10.53 Bn | 9.33 Bn | 537.00 Mn | 677.20 Mn |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 47.20 Mn |
| Mar 31, 2026 | 47.40 Mn |
| Dec 31, 2025 | 48.00 Mn |
| Sep 30, 2025 | 47.90 Mn |
| Jun 30, 2025 | 48.10 Mn |
| Mar 31, 2025 | 48.30 Mn |
| Dec 31, 2024 | 49.00 Mn |
| Sep 30, 2024 | 48.90 Mn |
| Jun 30, 2024 | 49.20 Mn |
| Mar 31, 2024 | 49.40 Mn |
| Dec 31, 2023 | 50.10 Mn |
| Sep 30, 2023 | 50.10 Mn |
| Jun 30, 2023 | 50.30 Mn |
| Mar 31, 2023 | 50.50 Mn |
| Dec 31, 2022 | 51.10 Mn |
| Sep 30, 2022 | 51.10 Mn |
| Jun 30, 2022 | 51.30 Mn |
| Mar 31, 2022 | 51.40 Mn |
| Dec 31, 2021 | 52.20 Mn |
| Sep 30, 2021 | 52.10 Mn |
W.W. Grainger Shares Outstanding (Diluted) API
Pull this series into your own models, spreadsheets and apps with the Business Quant
Historical Metrics API. The request below matches the chart above — change the
frequency, period or values and it follows. Swap YOUR_API_KEY for your own key.
https://data.businessquant.com/historic?slug=shares-outstanding-diluted&ticker=GWW&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "shares-outstanding-diluted", "ticker": "GWW", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=shares-outstanding-diluted&ticker=GWW&period=max&api_key=YOUR_API_KEY");
const data = await res.json();