Graham Holdings (GHC) Gross Margin (2019 - 2026)
Graham Holdings' (GHC) quarterly Gross Margin came in at 59.66% in Q2 2026, down 332.0% year-over-year from 25.71% in Q2 2025, and down 4.71% quarter-over-quarter from 62.6% in Q1 2026.
Graham Holdings (GHC) Gross Margin (2019 - 2026) Analysis & Trends
Graham Holdings has disclosed Gross Margin across 8 years of filings, most recently posting 59.66% for Q2 2026.
- In Q2 2026, Gross Margin fell 332.0% year-over-year to 59.66%; the TTM figure through Jun 2026 stood at 61.02% (down 238.0% YoY), while the FY2025 annual figure was 61.9%, down 124.0% from the prior year.
- Gross Margin came in at 59.66% for Q2 2026 at Graham Holdings, down from 62.6% in the prior quarter.
- In the past five years, Gross Margin ranged from a high of 95.67% in Q2 2023 to a low of 29.18% in Q4 2023.
- Average Gross Margin over 5 years is 51.98%, with a median of 60.95% recorded in 2024.
- Year-over-year, Gross Margin surged 6336 bps in 2023 and tumbled 3343 bps in 2024.
- Over 5 years, Gross Margin stood at 32.74% in 2022, then retreated by 11 bps to 29.18% in 2023, then surged by 116 bps to 63.16% in 2024, then slipped by 6 bps to 59.36% in 2025, then grew by 1 bps to 59.66% in 2026.
- Per Business Quant data, the three most recent Gross Margin figures were 59.66% in Q2 2026, 62.6% in Q1 2026, and 59.36% in Q4 2025.
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Gross Margin (Qtr) |
|---|---|---|---|---|---|
| 1 | Service Corp International | 10.64 Bn | 10.38 Bn | 273.50 Mn | 24.79% |
| 2 | New Oriental Education & Technology | 8.69 Bn | 6.29 Bn | -19,600.00 | 0.00% |
| 3 | Laureate Education | 5.06 Bn | 4.90 Bn | 237.67 Mn | 38.59% |
| 4 | Graham Holdings | 4.89 Bn | 3.68 Bn | 777.03 Mn | 59.66% |
| 5 | Covista | 4.19 Bn | 3.78 Bn | 284.63 Mn | 56.77% |
| 6 | Valvoline | 3.67 Bn | 3.58 Bn | 214.90 Mn | 39.46% |
| 7 | Bright Horizons Family Solutions | 3.28 Bn | 3.11 Bn | 188.96 Mn | 24.25% |
| 8 | Stride | 3.26 Bn | 2.30 Bn | 217.28 Mn | 34.16% |
| 9 | TAL Education | 2.28 Bn | -596.06 Mn | 438.20 Mn | 57.78% |
| 10 | Onespaworld Holdings | 2.26 Bn | 2.22 Bn | 84.35 Mn | 32.29% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 59.66% |
| Mar 31, 2026 | 62.60% |
| Dec 31, 2025 | 59.36% |
| Sep 30, 2025 | 62.52% |
| Jun 30, 2025 | 62.98% |
| Mar 31, 2025 | 62.84% |
| Dec 31, 2024 | 63.16% |
| Sep 30, 2024 | 64.62% |
| Jun 30, 2024 | 62.24% |
| Mar 31, 2024 | 62.50% |
| Dec 31, 2023 | 29.18% |
| Sep 30, 2023 | 29.68% |
| Jun 30, 2023 | 95.67% |
| Mar 31, 2023 | 29.50% |
| Dec 31, 2022 | 32.74% |
| Sep 30, 2022 | 31.38% |
| Jun 30, 2022 | 32.30% |
| Mar 31, 2022 | 32.71% |
| Dec 31, 2021 | 60.97% |
| Sep 30, 2021 | 62.06% |
Graham Holdings 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=GHC&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "gross-margin", "ticker": "GHC", "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=GHC&period=max&api_key=YOUR_API_KEY");
const data = await res.json();