SRRI and SRI explained: the 1–7 fund risk indicator and how to display it
What the SRRI / SRI risk indicator on a KIID or PRIIPs KID means, how it is calculated from volatility, how funds move between classes, and how to render it from API data.Published 2 September 2026 · 3 min read · by FundFacts APIEvery European fund document carries a row of seven boxes with one highlighted. That is the synthetic risk indicator, and it is the single most recognisable risk signal retail investors see. This article explains what the number means, how it is computed, why it moves, and how to render it correctly from the riskRating field of a fund data API.
SRRI vs SRI: two names, one idea
- SRRI (Synthetic Risk and Reward Indicator) is the scale on the UCITS KIID. It is based purely on the volatility of weekly returns over the last five years.
- SRI (Summary Risk Indicator) is the scale on the PRIIPs KID that replaced the KIID for most retail products from 2023. It combines a market-risk measure (again volatility-based, with a slightly different mapping) with a credit-risk measure of the issuer.
Both run from 1 (lowest risk) to 7 (highest risk). For plain funds and ETFs the two scales usually agree; where they differ, the KID's SRI is the one investors now see.
How the number is derived
The market-risk class comes from annualised volatility:
| Class | SRRI volatility (KIID) | Typical funds |
|---|---|---|
| 1 | 0 % – 0.5 % | Money-market funds |
| 2 | 0.5 % – 2 % | Short-term bond funds |
| 3 | 2 % – 5 % | Aggregate bond, cautious multi-asset |
| 4 | 5 % – 10 % | Balanced multi-asset, some global equity |
| 5 | 10 % – 15 % | Most equity funds and ETFs |
| 6 | 15 % – 25 % | Emerging markets, single sectors, small caps |
| 7 | > 25 % | Leveraged, highly concentrated, crypto-linked |
Under PRIIPs the bands are defined in terms of VaR-equivalent volatility and the category boundaries shift somewhat, which is why a global equity ETF may show 4 on a KID while its five-year volatility of ~12 % would have been a 5 under the KIID mapping. Read the number as a class, not as a precise volatility.
Why the indicator moves
Funds migrate between classes when their trailing volatility crosses a boundary and stays there long enough (16 consecutive weeks under UCITS rules). Practically:
- After a calm bull market, equity funds drift down a class; after a crash, they move up.
- Newly launched funds without a five-year history use a proxy (benchmark or model portfolio) until they have their own.
- A change in strategy or hedging policy can move a fund immediately.
If you display the indicator, refresh it. A fund data API that refreshes within 24 hours — as FundFacts API does — keeps you aligned with the latest published document.
What the API returns
json{"data": {"riskRating": 4,"headlineMetrics": { "volatility3y": "11.9%", "sharpe3y": "1.21" },"metrics": { "maxDrawdown": "-9.29%", "equityCorrelation": "0.98" }}}
riskRating is an integer 1–7 or null when the document does not disclose it (in which case the API falls back to an asset-class heuristic and flags that in the documentation). Pair it with the realised statistics in headlineMetrics and metrics when you want to show *why* a fund sits where it does.
Rendering the ladder
The familiar visual is seven segments with the active one emphasised. In React, with no chart library:
tsxconst COLORS = ["#2ECC71", "#27AE60", "#16A085", "#F1C40F", "#E67E22", "#E74C3C", "#C0392B"];export function RiskLadder({ value }: { value: number | null }) {return (<div role="img" aria-label={value ? `Risk indicator ${value} of 7` : "Risk indicator not available"}style={{ display: "flex", gap: 4 }}>{[1, 2, 3, 4, 5, 6, 7].map((lvl) => {const active = lvl === value;return (<div key={lvl} style={{flex: 1, height: active ? 40 : 28, alignSelf: "flex-end", borderRadius: 6,background: active ? COLORS[lvl - 1] : "#EEF2FA",color: active ? "#fff" : "#667", display: "grid", placeItems: "center",fontWeight: active ? 700 : 500,}}>{lvl}</div>);})}</div>);}
Accessibility matters here: colour alone must not carry the meaning, so keep the numbers visible and give the group an aria-label.
Communicating it honestly
- Say "lower/higher risk", not "safe/unsafe". Class 1 money-market funds still carry credit and inflation risk.
- Mention that the class is based on past volatility and can change.
- For multi-asset or fund-of-funds products, show the indicator of the product the client actually holds, not an average of the underlying funds.
Going further
Combine riskRating with metrics.maxDrawdown and the performance series to give clients a concrete picture: "class 4, worst peak-to-trough −9.3 %, 3-year volatility 11.9 %". All three come back in the same response — get a free key and try it on your own funds.