Bank Of America (BAC) Return on Sales [ROS] (2009 - 2026)
Bank Of America (BAC) recorded Return on Sales [ROS] of 93.16% in Q2 2026, down 12.04 percentage points from 105.20% a year earlier but up 0.61 percentage points from the prior quarter.
Bank Of America (BAC) Return on Sales [ROS] (2009 - 2026) Analysis & Trends
On a TTM basis, Bank Of America's Return on Sales [ROS] came in at 97.40% as of Jun 30, 2026, down 12.28 percentage points year-over-year; for FY2025, it was 102.71%, down 14.21 percentage points from FY2024.
- Annual Return on Sales [ROS] has a five-year change of +70.89 percentage points (FY2020 to FY2025).
- Across earlier years, Return on Sales [ROS] came in at 116.92% in FY2024 (+13.91 pp), 103.01% in FY2023 (+49.22 pp), 53.79% in FY2022 (+10.34 pp) and 43.44% in FY2021 (+11.62 pp).
- Quarterly Return on Sales [ROS] has ranged from 39.61% in Q1 2022 to 121.71% in Q3 2024 over the past five years.
- On a year-over-year basis, Return on Sales [ROS] has declined for six consecutive quarters, with an average year-over-year change of -8.07 percentage points over the last eight quarters.
- Peak year-over-year performance for Return on Sales [ROS] in the last five years was a gain of 62.57 percentage points in Q2 2023, against a drop of 16.37 percentage points in Q3 2025 at the low end.
- Per Business Quant, the preceding three quarters came in at 92.55% (Q1 2026), 99.25% (Q4 2025) and 105.34% (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | ROS (Qtr) |
|---|---|---|---|---|---|
| 1 | Jpmorgan Chase | 883.45 Bn | 912.92 Bn | - | 91.77% |
| 2 | Banco Santander Chile | 401.52 Bn | 521.46 Bn | - | - |
| 3 | Bank Of America | 377.43 Bn | -1,998.64 Bn | - | 93.16% |
| 4 | Hsbc Holdings | 330.31 Bn | 330.37 Bn | - | - |
| 5 | Morgan Stanley | 299.17 Bn | -209.92 Bn | - | 95.89% |
| 6 | Royal Bank Of Canada | 274.08 Bn | 124.82 Bn | - | 138.04% |
| 7 | Mitsubishi Ufj Financial | 270.70 Bn | -1,317.79 Bn | 10.89 Bn | - |
| 8 | Goldman Sachs | 263.13 Bn | -3,293.98 Bn | - | 131.07% |
| 9 | Wells Fargo & Company | 243.64 Bn | 245.78 Bn | - | 84.05% |
| 10 | American Express | 204.37 Bn | -3.81 Bn | - | 30.70% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 93.16% |
| Mar 31, 2026 | 92.55% |
| Dec 31, 2025 | 99.25% |
| Sep 30, 2025 | 105.34% |
| Jun 30, 2025 | 105.20% |
| Mar 31, 2025 | 101.32% |
| Dec 31, 2024 | 111.53% |
| Sep 30, 2024 | 121.71% |
| Jun 30, 2024 | 121.02% |
| Mar 31, 2024 | 114.32% |
| Dec 31, 2023 | 110.89% |
| Sep 30, 2023 | 108.63% |
| Jun 30, 2023 | 104.10% |
| Mar 31, 2023 | 88.72% |
| Dec 31, 2022 | 74.56% |
| Sep 30, 2022 | 57.78% |
| Jun 30, 2022 | 41.53% |
| Mar 31, 2022 | 39.61% |
| Dec 31, 2021 | 40.63% |
| Sep 30, 2021 | 44.77% |
Bank Of America 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=BAC&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "return-on-sales-[ros]", "ticker": "BAC", "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=BAC&period=max&api_key=YOUR_API_KEY");
const data = await res.json();