Otter Tail (OTTR) Return on Sales [ROS] (2009 - 2026)
Otter Tail (OTTR) posted Return on Sales [ROS] of -7.23% for Q2 2026, down 36.49 percentage points from 29.26% a year earlier and down 31.79 percentage points from the prior quarter.
Otter Tail (OTTR) Return on Sales [ROS] (2009 - 2026) Analysis & Trends
For the trailing twelve months through Jun 30, 2026, Return on Sales [ROS] at Otter Tail was 17.12%, down 10.01 percentage points year-over-year; for FY2025, it was 26.51%, down 2.07 percentage points from FY2024.
- Annual Return on Sales [ROS] shows a five-year change of +9.89 percentage points (FY2020 to FY2025).
- In prior years, Otter Tail's Return on Sales [ROS] was 28.58% in FY2024 (+0.66 pp), 27.92% in FY2023 (+1.35 pp), 26.57% in FY2022 (+5.72 pp) and 20.85% in FY2021 (+4.24 pp).
- The Q2 2026 figure stands as the lowest quarterly Return on Sales [ROS] in data going back to Q2 2009.
- On a year-over-year basis, Return on Sales [ROS] has declined in each of the last eight quarters, with an average year-over-year change of -5.84 percentage points over the last eight quarters.
- The strongest year-over-year quarter for Return on Sales [ROS] in the past five years was Q1 2022, with a gain of 9.33 percentage points; the weakest was Q2 2026, with a drop of 36.49 percentage points.
- According to Business Quant data, Return on Sales [ROS] for the three prior quarters was 24.56% (Q1 2026), 21.95% (Q4 2025) and 29.64% (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROS (Qtr) |
|---|---|---|---|---|---|
| 1 | Enel Chile | 287.73 Bn | 287.73 Bn | 890.00 Mn | 30.20% |
| 2 | Nextera Energy | 160.25 Bn | 161.15 Bn | - | 29.71% |
| 3 | Southern | 96.31 Bn | 87.36 Bn | 5.92 Bn | 25.46% |
| 4 | Duke Energy | 88.79 Bn | 87.40 Bn | 6.74 Bn | 29.69% |
| 5 | National Grid | 79.16 Bn | 60.69 Bn | - | - |
| 6 | American Electric Power | 65.09 Bn | 63.47 Bn | 3.84 Bn | 22.90% |
| 7 | Dominion Energy | 53.95 Bn | 56.63 Bn | - | 7.34% |
| 8 | Sempra | 51.22 Bn | 50.35 Bn | 2.89 Bn | 23.72% |
| 9 | Entergy | 47.09 Bn | 36.28 Bn | - | 24.13% |
| 10 | Otter Tail | 3.73 Bn | 2.17 Bn | 216.33 Mn | -7.23% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | -7.23% |
| Mar 31, 2026 | 24.56% |
| Dec 31, 2025 | 21.95% |
| Sep 30, 2025 | 29.64% |
| Jun 30, 2025 | 29.26% |
| Mar 31, 2025 | 24.90% |
| Dec 31, 2024 | 22.05% |
| Sep 30, 2024 | 31.81% |
| Jun 30, 2024 | 32.39% |
| Mar 31, 2024 | 27.35% |
| Dec 31, 2023 | 22.15% |
| Sep 30, 2023 | 33.76% |
| Jun 30, 2023 | 31.37% |
| Mar 31, 2023 | 23.71% |
| Dec 31, 2022 | 17.68% |
| Sep 30, 2022 | 30.25% |
| Jun 30, 2022 | 30.26% |
| Mar 31, 2022 | 26.22% |
| Dec 31, 2021 | 21.30% |
| Sep 30, 2021 | 23.56% |
Otter Tail Return on Sales [ROS] 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=return-on-sales-%5Bros%5D&ticker=OTTR&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-sales-[ros]", "ticker": "OTTR", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=return-on-sales-%5Bros%5D&ticker=OTTR&period=max&api_key=YOUR_API_KEY");
const data = await res.json();