Oatly Group AB (OTLY) Cost of Revenue (2020 - 2026)
Oatly Group AB (OTLY) recorded Cost of Revenue of $158.73 million in Q2 2026, up 12.8% from $140.73 million a year earlier and up 4.4% from the prior quarter.
Oatly Group AB (OTLY) Cost of Revenue (2020 - 2026) Analysis & Trends
On a TTM basis, Oatly Group AB's Cost of Revenue came in at $620.19 million as of Jun 30, 2026, up 7.9% year-over-year; for FY2025, it was $585.4 million, down 0.3% from FY2024.
- Annual Cost of Revenue has declined for three straight years, though with a five-year compound annual growth rate of 14.9% (FY2020 to FY2025).
- Across earlier years, Cost of Revenue came in at $587.17 million in FY2024 (-7.0%), $631.27 million in FY2023 (-1.7%), $642.21 million in FY2022 (+31.6%) and $488.18 million in FY2021 (+67.1%).
- The Q2 2026 figure is the highest quarterly Cost of Revenue since Q1 2023.
- On a year-over-year basis, Cost of Revenue has increased for four consecutive quarters, with growth averaging 2.0% over the last eight quarters.
- Peak year-over-year performance for Cost of Revenue in the last five years was growth of 70.1% in Q4 2021, against a decline of 12.9% in Q3 2023 at the low end.
- Per Business Quant, the preceding three quarters came in at $151.99 million (Q1 2026), $153.02 million (Q4 2025) and $156.45 million (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Cost of Rev (Qtr) |
|---|---|---|---|---|---|
| 1 | Coca Cola | 368.60 Bn | 357.24 Bn | 8.42 Bn | 4.97 Bn |
| 2 | Diageo | 206.17 Bn | 198.57 Bn | - | - |
| 3 | Coca Cola Femsa Sab De Cv | 179.07 Bn | 179.07 Bn | 2.06 Bn | 2.32 Bn |
| 4 | Pepsico | 171.83 Bn | 132.26 Bn | 13.11 Bn | 11.07 Bn |
| 5 | Anheuser-Busch InBev | 131.95 Bn | 100.69 Bn | 9.58 Bn | 7.08 Bn |
| 6 | Monster Beverage | 84.12 Bn | 72.37 Bn | 1.42 Bn | 1.12 Bn |
| 7 | Ambev | 46.97 Bn | 32.99 Bn | 2.06 Bn | 1.92 Bn |
| 8 | Coca-Cola Europacific Partners | 45.38 Bn | 38.63 Bn | - | 15.67 Bn |
| 9 | Keurig Dr Pepper | 41.33 Bn | 41.57 Bn | 3.07 Bn | 4.24 Bn |
| 10 | Oatly Group AB | 329.42 Mn | 170.15 Mn | 81.36 Mn | 158.73 Mn |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 158.73 Mn |
| Mar 31, 2026 | 151.99 Mn |
| Dec 31, 2025 | 153.02 Mn |
| Sep 30, 2025 | 156.45 Mn |
| Jun 30, 2025 | 140.73 Mn |
| Mar 31, 2025 | 135.20 Mn |
| Dec 31, 2024 | 152.70 Mn |
| Sep 30, 2024 | 145.98 Mn |
| Jun 30, 2024 | 143.24 Mn |
| Mar 31, 2024 | 145.26 Mn |
| Dec 31, 2023 | 156.34 Mn |
| Sep 30, 2023 | 155.03 Mn |
| Jun 30, 2023 | 158.33 Mn |
| Mar 31, 2023 | 161.56 Mn |
| Dec 31, 2022 | 164.02 Mn |
| Sep 30, 2022 | 178.04 Mn |
| Jun 30, 2022 | 149.81 Mn |
| Mar 31, 2022 | 150.34 Mn |
| Dec 31, 2021 | 156.33 Mn |
| Sep 30, 2021 | 126.19 Mn |
Oatly Group AB 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=OTLY&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "cost-of-revenue", "ticker": "OTLY", "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=OTLY&period=max&api_key=YOUR_API_KEY");
const data = await res.json();