The Software Carbon Intensity (SCI) score is the metric that makes green software engineering quantifiable, comparable, and actionable. Unlike total carbon measurements that penalise growth, SCI measures carbon per unit of useful work — enabling fair comparison between systems of different scales, incentivising efficiency improvements, and providing the ESG-reportable metric that enterprise sustainability programmes need. This guide explains the SCI formula, how to calculate it for your systems, and how to improve it.
What Is the SCI Score?
Breaking Down the SCI Formula
- Measure kWh consumed by your software during a defined observation window
- Tools: Kepler (per-container Kubernetes), Cloud Carbon Footprint (cloud billing), CodeCarbon (ML training)
- Include all components: application servers, databases, caches, CDN, CI/CD
- gCO₂ per kWh of the electricity grid where your software runs
- Source: Electricity Maps API, WattTime API, or cloud provider carbon data
- Varies enormously: eu-north-1 (Nordic) ~18 gCO₂/kWh vs ap-southeast-1 ~450 gCO₂/kWh
- Carbon emitted during manufacture of the hardware your software runs on
- Allocated proportionally: if your server runs for 4 hours/day for 3 years, you get 1/6 of its embodied carbon
- Source: manufacturer carbon disclosure reports or BOAVIZTA database
- The unit of useful work your software produces — what it is for
- Examples: per API call, per active user per month, per transaction processed, per page rendered
- Choose the R that best represents the value your software delivers — it determines SCI comparability
SCI Calculation Examples
| System | E (kWh/month) | I (gCO₂/kWh) | M (gCO₂/month) | R (unit) | SCI Score |
|---|---|---|---|---|---|
| E-commerce checkout API (us-east-1) | 450 kWh | 400 gCO₂/kWh | 8,000 gCO₂ | 1M transactions/month | 188 gCO₂/transaction |
| Same API migrated to eu-north-1 | 450 kWh | 18 gCO₂/kWh | 8,000 gCO₂ | 1M transactions/month | 16 gCO₂/transaction |
| ML training run (A100, us-west-2) | 2,400 kWh | 100 gCO₂/kWh | 15,000 gCO₂ | 1 trained model | 255 kgCO₂/model |
How to Calculate SCI for Your Systems
Select which system to measure first (start with your highest-traffic, highest-spend service). Define the software boundary precisely — which components are included. Choose your functional unit R — for an API service, "per API call" or "per active user per month" are both valid. The R choice must remain consistent across all SCI measurements to enable trend comparison over time.
Deploy Cloud Carbon Footprint to get cloud service energy estimates from billing data. Deploy Kepler to Kubernetes clusters for per-container energy measurement. For ML workloads, add CodeCarbon to training scripts. Collect a 30-day measurement window for your baseline — one week is too variable. Export energy data to your data platform for SCI calculation.
Fetch grid carbon intensity I from Electricity Maps API for your deployment regions. Estimate embodied carbon M from cloud provider carbon reports (AWS, Azure, GCP all publish hardware carbon data) or BOAVIZTA database. Calculate SCI = (E × I + M) / R. Add SCI to your engineering dashboard alongside cost and performance — track it monthly.
Our DevOps and digital transformation teams implement SCI measurement programmes for enterprises — from instrumentation and baseline calculation through to ESG reporting integration. Book a free advisory session.