Grove Collaborative Holdings (GROV) Cost of Revenue (2021 - 2026)
Grove Collaborative Holdings' Cost of Revenue came in at $16.98 million for Q2 2026, down 13.5% from $19.63 million a year earlier but up 3.8% from the prior quarter.
Grove Collaborative Holdings (GROV) Cost of Revenue (2021 - 2026) Analysis & Trends
Over the trailing twelve months to Jun 30, 2026, Grove Collaborative Holdings reported Cost of Revenue of $73.68 million, down 14.7% year-over-year; for FY2025, it came in at $80.44 million, down 14.5% from FY2024.
- Cost of Revenue has declined in each of the last four years, with a five-year compound annual growth rate of -15.6% (FY2020 to FY2025).
- Going back by year, Cost of Revenue was $94.08 million in FY2024 (-22.8%), $121.92 million in FY2023 (-26.9%), $166.88 million in FY2022 (-14.5%) and $195.18 million in FY2021 (+3.7%).
- The five-year range for quarterly Cost of Revenue is $16.37 million (Q1 2026) to $48 million (Q4 2021).
- Year-over-year, Cost of Revenue has declined for 17 consecutive quarters, with an average decline of 15.7% over the last eight quarters.
- Across the past five years, year-over-year decline in Cost of Revenue ran from 10.0% in Q3 2025 to 30.6% in Q1 2024.
- Business Quant data shows GROV's Cost of Revenue at $16.37 million (Q1 2026), $19.92 million (Q4 2025) and $20.41 million (Q3 2025) in the three quarters before Q2 2026.
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Cost of Rev (Qtr) |
|---|---|---|---|---|---|
| 1 | Procter & Gamble | 336.76 Bn | 292.75 Bn | 10.28 Bn | 10.92 Bn |
| 2 | Colgate Palmolive | 67.18 Bn | 62.24 Bn | 3.30 Bn | 2.07 Bn |
| 3 | Estee Lauder Companies | 33.32 Bn | 21.40 Bn | 2.74 Bn | 890.00 Mn |
| 4 | Kenvue | 33.09 Bn | 28.70 Bn | 2.30 Bn | 1.65 Bn |
| 5 | Kimberly Clark | 31.38 Bn | 28.71 Bn | 1.60 Bn | 2.59 Bn |
| 6 | Church & Dwight | 22.37 Bn | 20.90 Bn | 693.90 Mn | 836.10 Mn |
| 7 | Clorox | 9.72 Bn | 8.16 Bn | 804.00 Mn | 1.14 Bn |
| 8 | e.l.f. Beauty | 6.17 Bn | 5.15 Bn | 398.84 Mn | 80.53 Mn |
| 9 | Reynolds Consumer Products | 4.71 Bn | 4.37 Bn | 245.00 Mn | 699.00 Mn |
| 10 | Grove Collaborative Holdings | 44.84 Mn | 11.89 Mn | 19.59 Mn | 16.98 Mn |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 16.98 Mn |
| Mar 31, 2026 | 16.37 Mn |
| Dec 31, 2025 | 19.92 Mn |
| Sep 30, 2025 | 20.41 Mn |
| Jun 30, 2025 | 19.63 Mn |
| Mar 31, 2025 | 20.48 Mn |
| Dec 31, 2024 | 23.56 Mn |
| Sep 30, 2024 | 22.68 Mn |
| Jun 30, 2024 | 24.04 Mn |
| Mar 31, 2024 | 23.81 Mn |
| Dec 31, 2023 | 27.30 Mn |
| Sep 30, 2023 | 28.52 Mn |
| Jun 30, 2023 | 31.80 Mn |
| Mar 31, 2023 | 34.31 Mn |
| Dec 31, 2022 | 39.25 Mn |
| Sep 30, 2022 | 39.57 Mn |
| Jun 30, 2022 | 40.32 Mn |
| Mar 31, 2022 | 47.74 Mn |
| Dec 31, 2021 | 48.00 Mn |
| Sep 30, 2021 | 47.19 Mn |
Grove Collaborative Holdings Cost of Revenue 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=cost-of-revenue&ticker=GROV&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "cost-of-revenue", "ticker": "GROV", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=cost-of-revenue&ticker=GROV&period=max&api_key=YOUR_API_KEY");
const data = await res.json();