Under CSRD/ESRS, an ESG topic must be reported if it clears the threshold on either axis of double materiality â it does not need to clear both:
Financial materiality F â risk/opportunity to enterprise value
Impact materiality I â severity Ă scope Ă irremediability
of the company's effect on people/planet
Material(topic) = (F ⼠T) OR (I ⼠T)
Priority score S = w_F¡F + (1 â w_F)¡I (ranking only, not the gate)
The top panel plots every topic as a bubble at (x = F, y = I); bubble size is the weighted priority score S. Two dashed lines mark the threshold T on both axes â a bubble past either line is legally material and turns its category color. The bottom panel re-sorts all topics by priority score as a ranked bar chart, which is exactly the ordering a reporting team would use to decide what goes first in the disclosure.
- Reporting threshold â slides both cutoff lines together, as a stricter or looser materiality policy would.
- Financial weight wF â re-ranks priority (bubble size / bar length) between investor-relevance and real-world-impact relevance; it never changes which topics are legally material, only how they're ordered for the report.
- Stakeholder engagement boost â stakeholder surveys and consultations (a required ESRS input) typically raise perceived impact materiality; this multiplies every topic's I by (1+boost), capped at 10, showing how engagement alone can pull new topics into scope.
- E/S/G filter â dims topics outside the selected pillar in both panels so a single dimension can be inspected without changing the model.
- Drag / scroll on the top plot â pans and zooms the F-I plane so dense clusters of topics can be inspected closely.
Real-world relevance: this is the exact gating logic behind the EU's Corporate Sustainability Reporting Directive (CSRD) and its ESRS standards â a company runs a materiality assessment like this every reporting cycle to decide which of dozens of candidate ESG topics require full disclosure.