Moodys (MCO) Selling, General & Administrative (2009 - 2026)
Moodys (MCO) reported Selling, General & Administrative of $442 million for Q3 2026, down 2.4% from $453 million a year earlier and down 4.5% from the prior quarter.
Moodys (MCO) Selling, General & Administrative (2009 - 2026) Analysis & Trends
Over the twelve months ended Sep 30, 2026, Moodys' Selling, General & Administrative came in at $1.85 billion, up 4.1% year-over-year; for FY2025, it was $1.8 billion, up 3.9% from FY2024.
- Selling, General & Administrative has increased for 16 consecutive years, with a five-year compound annual growth rate of 8.0% (FY2020 to FY2025).
- By year, Selling, General & Administrative came in at $1.74 billion in FY2024 (+6.3%), $1.63 billion in FY2023 (+6.9%), $1.53 billion in FY2022 (+3.2%) and $1.48 billion in FY2021 (+20.4%).
- The Q3 2026 figure ranks as the lowest quarterly Selling, General & Administrative since Q1 2025.
- Year over year, Selling, General & Administrative gained in six of the last eight quarters, with growth averaging 3.7%.
- The high point for year-over-year Selling, General & Administrative in five years was Q4 2021 (growth of 32.9%); the low point was Q4 2022 (a decline of 13.3%).
- Per Business Quant data, the three quarters before Q3 2026 came in at $463 million (Q2 2026), $477 million (Q1 2026) and $468 million (Q4 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | SG&A (Qtr) |
|---|---|---|---|---|---|
| 1 | S&P Global | 135.95 Bn | 125.80 Bn | 2.64 Bn | 660.00 Mn |
| 2 | Moodys | 87.18 Bn | 80.11 Bn | 1.50 Bn | 442.00 Mn |
| 3 | Msci | 46.24 Bn | 44.72 Bn | 739.80 Mn | 48.20 Mn |
| 4 | Verisk Analytics | 26.46 Bn | 21.10 Bn | 572.90 Mn | 128.60 Mn |
| 5 | Equifax | 22.29 Bn | 21.56 Bn | 940.10 Mn | 390.40 Mn |
| 6 | TransUnion | 15.65 Bn | 12.34 Bn | - | 346.60 Mn |
| 7 | Factset Research Systems | 11.79 Bn | 10.64 Bn | 308.40 Mn | 151.78 Mn |
| 8 | Morningstar | 9.04 Bn | 6.93 Bn | 431.40 Mn | 93.10 Mn |
| 9 | Mastercard | 577.18 Bn | 537.27 Bn | - | 3.29 Bn |
| 10 | Cme | 108.04 Bn | 96.37 Bn | - | - |
Historic Data
| Date | Value |
|---|---|
| Sep 30, 2026 | 442.00 Mn |
| Jun 30, 2026 | 463.00 Mn |
| Mar 31, 2026 | 477.00 Mn |
| Dec 31, 2025 | 468.00 Mn |
| Sep 30, 2025 | 453.00 Mn |
| Jun 30, 2025 | 443.00 Mn |
| Mar 31, 2025 | 439.00 Mn |
| Dec 31, 2024 | 442.00 Mn |
| Sep 30, 2024 | 434.00 Mn |
| Jun 30, 2024 | 446.00 Mn |
| Mar 31, 2024 | 413.00 Mn |
| Dec 31, 2023 | 428.00 Mn |
| Sep 30, 2023 | 403.00 Mn |
| Jun 30, 2023 | 415.00 Mn |
| Mar 31, 2023 | 386.00 Mn |
| Dec 31, 2022 | 403.00 Mn |
| Sep 30, 2022 | 385.00 Mn |
| Jun 30, 2022 | 368.00 Mn |
| Mar 31, 2022 | 371.00 Mn |
| Dec 31, 2021 | 465.00 Mn |
Moodys Selling, General & Administrative 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=selling-general-and-administrative&ticker=MCO&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "selling-general-and-administrative", "ticker": "MCO", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=selling-general-and-administrative&ticker=MCO&period=max&api_key=YOUR_API_KEY");
const data = await res.json();