Dollar General (DG) Gross Margin (2010 - 2026)
Dollar General's Gross Margin came in at 32.60% for fiscal Q2 2027 (quarter ended Jul 31, 2026), up 1.27 percentage points from 31.34% a year earlier and up 0.99 percentage points from the prior quarter.
Dollar General (DG) Gross Margin (2010 - 2026) Analysis & Trends
Over the trailing twelve months to Jul 31, 2026, Dollar General reported Gross Margin of 31.16%, up 1.01 percentage points year-over-year; for FY2026 (ended Jan 30, 2026), it came in at 30.66%, up 1.07 percentage points from FY2025.
- Gross Margin carries a five-year change of -1.10 percentage points (FY2021 to FY2026).
- Going back by fiscal year, Gross Margin was 29.59% in FY2025 (-0.70 pp), 30.29% in FY2024 (-0.94 pp), 31.23% in FY2023 (-0.37 pp) and 31.60% in FY2022 (-0.16 pp).
- The fiscal Q2 2027 figure represents the highest quarterly Gross Margin since fiscal Q1 2022.
- Year-over-year, Gross Margin has increased for six consecutive quarters, with an average year-over-year change of +0.74 percentage points over the last eight quarters.
- The fastest year-over-year change in Gross Margin over five years came in fiscal Q2 2026 (a gain of 1.37 percentage points), and the weakest in fiscal Q1 2023 (a drop of 1.51 percentage points).
- Business Quant data shows DG's Gross Margin at 31.62% (Q1 2027), 30.45% (Q4 2026) and 29.90% (Q3 2026) in the three fiscal quarters before Q2 2027.
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Gross Margin (Qtr) |
|---|---|---|---|---|---|
| 1 | Walmart | 862.64 Bn | 825.34 Bn | 49.13 Bn | 26.14% |
| 2 | Costco Wholesale | 409.33 Bn | 338.62 Bn | 9.01 Bn | 12.77% |
| 3 | Sysco | 37.65 Bn | 31.90 Bn | 4.13 Bn | 18.69% |
| 4 | Kroger | 35.26 Bn | 21.42 Bn | 7.86 Bn | 22.70% |
| 5 | Dollar General | 27.43 Bn | 22.11 Bn | 3.68 Bn | 32.60% |
| 6 | Caseys General Stores | 22.41 Bn | 20.40 Bn | 1.24 Bn | 21.82% |
| 7 | Dollar Tree | 21.77 Bn | 18.40 Bn | 2.10 Bn | 42.91% |
| 8 | US Foods Holding | 20.27 Bn | 20.06 Bn | 1.92 Bn | 18.22% |
| 9 | Tractor Supply | 16.74 Bn | 15.90 Bn | 1.68 Bn | 37.05% |
| 10 | Performance Food | 14.36 Bn | 14.14 Bn | 2.17 Bn | 12.03% |
Historic Data
| Date | Value |
|---|---|
| Jul 31, 2026 | 32.60% |
| May 1, 2026 | 31.62% |
| Jan 30, 2026 | 30.45% |
| Oct 31, 2025 | 29.90% |
| Aug 1, 2025 | 31.34% |
| May 2, 2025 | 30.96% |
| Jan 31, 2025 | 29.40% |
| Nov 1, 2024 | 28.83% |
| Aug 2, 2024 | 29.96% |
| May 3, 2024 | 30.18% |
| Feb 2, 2024 | 29.48% |
| Nov 3, 2023 | 29.01% |
| Aug 4, 2023 | 31.08% |
| May 5, 2023 | 31.63% |
| Feb 3, 2023 | 30.86% |
| Oct 28, 2022 | 30.48% |
| Jul 29, 2022 | 32.34% |
| Apr 29, 2022 | 31.29% |
| Jan 28, 2022 | 31.21% |
| Oct 29, 2021 | 30.75% |
Dollar General Gross Margin 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=gross-margin&ticker=DG&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "gross-margin", "ticker": "DG", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=gross-margin&ticker=DG&period=max&api_key=YOUR_API_KEY");
const data = await res.json();