W.W. Grainger (GWW) Operating Income (2009 - 2026)
W.W. Grainger (GWW) reported Operating Income of $807 million for Q2 2026, up 19.0% from $678 million a year earlier and up 1.8% from the prior quarter.
W.W. Grainger (GWW) Operating Income (2009 - 2026) Analysis & Trends
Over the twelve months ended Jun 30, 2026, W.W. Grainger's Operating Income came in at $2.75 billion, up 2.8% year-over-year; for FY2025, it was $2.5 billion, down 5.4% from FY2024.
- Operating Income has a five-year compound annual growth rate of 19.6% (FY2020 to FY2025).
- By year, Operating Income came in at $2.64 billion in FY2024 (+2.8%), $2.57 billion in FY2023 (+15.8%), $2.22 billion in FY2022 (+43.2%) and $1.55 billion in FY2021 (+51.8%).
- The Q2 2026 figure ranks as the highest quarterly Operating Income in data going back to Q1 2009.
- Year over year, Operating Income has now increased in each of the last three quarters, with growth averaging 4.1% over the last eight quarters.
- The high point for year-over-year Operating Income in five years was Q2 2022 (growth of 59.9%); the low point was Q3 2025 (a decline of 25.5%).
- Per Business Quant data, the three quarters before Q2 2026 came in at $793 million (Q1 2026), $634 million (Q4 2025) and $511 million (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Op. Inc (Qtr) |
|---|---|---|---|---|---|
| 1 | United Rentals | 67.37 Bn | 66.13 Bn | 1.73 Bn | 1.14 Bn |
| 2 | W.W. Grainger | 60.32 Bn | 58.30 Bn | 1.98 Bn | 807.00 Mn |
| 3 | Fastenal | 58.24 Bn | 57.16 Bn | 1.06 Bn | 501.80 Mn |
| 4 | Ferguson Enterprises | 43.34 Bn | 40.56 Bn | 2.32 Bn | 612.00 Mn |
| 5 | Sunbelt Rentals Holdings | 31.62 Bn | 31.50 Bn | 1.25 Bn | 691.00 Mn |
| 6 | Reliance | 20.43 Bn | 19.48 Bn | 1.30 Bn | 441.60 Mn |
| 7 | Wesco International | 18.60 Bn | 15.91 Bn | 1.46 Bn | 382.20 Mn |
| 8 | Applied Industrial Technologies | 12.64 Bn | 12.52 Bn | 411.22 Mn | 159.31 Mn |
| 9 | Watsco | 10.59 Bn | 8.75 Bn | 578.93 Mn | 238.37 Mn |
| 10 | Avantor | 10.38 Bn | 9.17 Bn | 537.00 Mn | 121.80 Mn |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 807.00 Mn |
| Mar 31, 2026 | 793.00 Mn |
| Dec 31, 2025 | 634.00 Mn |
| Sep 30, 2025 | 511.00 Mn |
| Jun 30, 2025 | 678.00 Mn |
| Mar 31, 2025 | 672.00 Mn |
| Dec 31, 2024 | 633.00 Mn |
| Sep 30, 2024 | 686.00 Mn |
| Jun 30, 2024 | 649.00 Mn |
| Mar 31, 2024 | 669.00 Mn |
| Dec 31, 2023 | 557.00 Mn |
| Sep 30, 2023 | 667.00 Mn |
| Jun 30, 2023 | 661.00 Mn |
| Mar 31, 2023 | 680.00 Mn |
| Dec 31, 2022 | 544.00 Mn |
| Sep 30, 2022 | 603.00 Mn |
| Jun 30, 2022 | 534.00 Mn |
| Mar 31, 2022 | 534.00 Mn |
| Dec 31, 2021 | 417.00 Mn |
| Sep 30, 2021 | 438.00 Mn |
W.W. Grainger Operating Income 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=operating-income&ticker=GWW&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "operating-income", "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=operating-income&ticker=GWW&period=max&api_key=YOUR_API_KEY");
const data = await res.json();