CPI Card (PMTS) Return on Sales [ROS] (2014 - 2026)
CPI Card's Return on Sales [ROS] was 7.95% in Q2 2026, up 0.69 percentage points from 7.26% a year earlier and up 0.48 percentage points from the prior quarter.
CPI Card (PMTS) Return on Sales [ROS] (2014 - 2026) Analysis & Trends
On a trailing twelve-month basis, CPI Card's Return on Sales [ROS] was 9.22% through Jun 30, 2026, down 2.18 percentage points year-over-year; for FY2025, it was 10.09%, down 2.98 percentage points from FY2024.
- Return on Sales [ROS] has now declined for three consecutive years, with a five-year change of -2.21 percentage points (FY2020 to FY2025).
- In earlier years, Return on Sales [ROS] was 13.07% in FY2024 (-0.79 pp), 13.85% in FY2023 (-2.78 pp), 16.63% in FY2022 (+0.78 pp) and 15.85% in FY2021 (+3.55 pp).
- Quarterly Return on Sales [ROS] has moved between 7.26% (Q2 2025) and 18.82% (Q3 2022) over five years.
- Compared with a year earlier, Return on Sales [ROS] was higher in three of the last eight quarters, with an average year-over-year change of -1.36 percentage points.
- The best year-over-year quarter for Return on Sales [ROS] over five years was Q4 2022 (a gain of 8.04 percentage points); the worst was Q4 2023 (a drop of 7.67 percentage points).
- Per Business Quant data, PMTS's Return on Sales [ROS] in the three quarters before Q2 2026 was 7.47% (Q1 2026), 11.95% (Q4 2025) and 9.44% (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROS (Qtr) |
|---|---|---|---|---|---|
| 1 | Accenture | 157.02 Bn | 114.95 Bn | 5.98 Bn | 15.33% |
| 2 | Cintas | 88.82 Bn | 87.90 Bn | 1.55 Bn | 23.62% |
| 3 | Iron Mountain | 33.43 Bn | 32.63 Bn | 1.06 Bn | 20.63% |
| 4 | Rollins | 18.31 Bn | 17.86 Bn | 582.90 Mn | 20.45% |
| 5 | APi | 18.21 Bn | 15.43 Bn | 770.00 Mn | 7.91% |
| 6 | UL Solutions | 16.39 Bn | 14.39 Bn | 423.00 Mn | 19.68% |
| 7 | Aramark | 14.39 Bn | 12.34 Bn | 430.34 Mn | 4.26% |
| 8 | Gartner | 12.18 Bn | 5.67 Bn | 1.07 Bn | 18.68% |
| 9 | Rentokil Initial | 11.95 Bn | 5.47 Bn | - | - |
| 10 | CPI Card | 266.07 Mn | 188.53 Mn | 50.25 Mn | 9.89% |
Historic Data
| Date | Value |
|---|---|
| Sep 30, 2026 | 9.89% |
| Jun 30, 2026 | 7.95% |
| Mar 31, 2026 | 7.47% |
| Dec 31, 2025 | 11.95% |
| Sep 30, 2025 | 9.44% |
| Jun 30, 2025 | 7.26% |
| Mar 31, 2025 | 11.49% |
| Dec 31, 2024 | 12.74% |
| Sep 30, 2024 | 14.27% |
| Jun 30, 2024 | 12.55% |
| Mar 31, 2024 | 12.64% |
| Dec 31, 2023 | 10.24% |
| Sep 30, 2023 | 12.24% |
| Jun 30, 2023 | 15.22% |
| Mar 31, 2023 | 17.04% |
| Dec 31, 2022 | 17.91% |
| Sep 30, 2022 | 18.82% |
| Jun 30, 2022 | 13.29% |
| Mar 31, 2022 | 16.14% |
| Dec 31, 2021 | 9.88% |
CPI Card 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=PMTS&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-sales-[ros]", "ticker": "PMTS", "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=PMTS&period=max&api_key=YOUR_API_KEY");
const data = await res.json();