Jpmorgan Chase (JPM) Return on Sales [ROS] (2009 - 2025)
Jpmorgan Chase's Return on Sales [ROS] came in at 91.77% for Q2 2026, down 4.67 percentage points from 96.45% a year earlier but up 2.87 percentage points from the prior quarter.
Jpmorgan Chase (JPM) Return on Sales [ROS] (2009 - 2025) Analysis & Trends
Over the trailing twelve months to Jun 30, 2026, Jpmorgan Chase reported Return on Sales [ROS] of 91.33%, down 5.96 percentage points year-over-year; for FY2025, it was 93.45%, down 5.92 percentage points from FY2024.
- Return on Sales [ROS] carries a five-year change of +55.29 percentage points (FY2020 to FY2025).
- Going back by year, Return on Sales [ROS] was 99.37% in FY2024 (+8.96 pp), 90.40% in FY2023 (+34.25 pp), 56.15% in FY2022 (+2.62 pp) and 53.53% in FY2021 (+15.37 pp).
- The five-year range for quarterly Return on Sales [ROS] is 38.05% (Q1 2022) to 103.13% (Q3 2024).
- Year-over-year, Return on Sales [ROS] has declined for six consecutive quarters, with an average year-over-year change of -2.32 percentage points over the last eight quarters.
- The fastest year-over-year change in Return on Sales [ROS] over five years came in Q1 2023 (a gain of 46.07 percentage points), and the weakest in Q1 2022 (a drop of 21.08 percentage points).
- Business Quant data shows JPM's Return on Sales [ROS] at 88.90% (Q1 2026), 89.46% (Q4 2025) and 95.24% (Q3 2025) in the three quarters before Q2 2026.
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROS (Yr) |
|---|---|---|---|---|---|
| 1 | Jpmorgan Chase | 896.53 Bn | 896.53 Bn | - | 93.45% |
| 2 | Bank Of America | 354.20 Bn | -2,021.91 Bn | - | 102.71% |
| 3 | Hsbc Holdings | 303.54 Bn | -1,800.05 Bn | - | 37.33% |
| 4 | Royal Bank Of Canada | 283.29 Bn | -546.75 Bn | - | 144.85% |
| 5 | Morgan Stanley | 281.19 Bn | -262.84 Bn | - | 100.46% |
| 6 | Goldman Sachs | 256.26 Bn | -3,487.19 Bn | - | 152.13% |
| 7 | Wells Fargo & Company | 253.33 Bn | 253.33 Bn | - | 77.69% |
| 8 | Mitsubishi Ufj Financial | 238.77 Bn | -102.62 Bn | 10.89 Bn | 42.08% |
| 9 | American Express | 216.03 Bn | 15.51 Bn | - | 30.50% |
| 10 | Toronto Dominion Bank | 211.21 Bn | -464.66 Bn | - | 6.79% |
Historic Data
| Date | Value |
|---|---|
| Dec 31, 2025 | 93.45% |
| Dec 31, 2024 | 99.37% |
| Dec 31, 2023 | 90.40% |
| Dec 31, 2022 | 56.15% |
| Dec 31, 2021 | 53.53% |
| Dec 31, 2020 | 38.16% |
| Dec 31, 2019 | 61.93% |
| Dec 31, 2018 | 56.81% |
| Dec 31, 2017 | 49.43% |
| Dec 31, 2016 | 45.93% |
| Dec 31, 2015 | 40.80% |
| Dec 31, 2014 | 40.58% |
| Dec 31, 2013 | 37.00% |
| Dec 31, 2012 | 41.18% |
| Dec 31, 2011 | 41.50% |
| Dec 31, 2010 | 36.65% |
| Dec 31, 2009 | 31.13% |
Jpmorgan Chase 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-annual&ticker=JPM&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-sales-[ros]-annual", "ticker": "JPM", "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-annual&ticker=JPM&period=max&api_key=YOUR_API_KEY");
const data = await res.json();