Five weighted categories — Compute, Storage, Database, Network, and Reserved Coverage. Each one is scored independently, then combined into the overall score using its weight.
Monthly cost per resource is pre-computed in the background for each resource — this view never does pricing lookups.
Active savings recommendations are grouped by resource type into Compute / Storage / Database / Network, each one counting as one issue per affected resource.
Instead of counting issues, this category scores the actual ratio of Reserved Instance / Savings Plan coverage over running compute — a heuristic based on resource counts.
category_score = 100 − (resources with recommendation × penalty per issue) [Compute / Storage / Database / Network]
reserved_score = min(100, reserved instances / running instances × 100)
overall_score = Σ (category_score × category weight)
| Category | Overall weight | Penalty / issue | Resource types |
|---|---|---|---|
| Compute | 30% | -10 pts |
EC2 Instances
|
| Storage | 25% | -10 pts |
EBS Volumes
EBS Snapshots
|
| Database | 25% | -10 pts |
RDS Instances
Aurora Clusters
ElastiCache Clusters
Replication Groups
OpenSearch Domains
DynamoDB Tables
|
| Network | 10% | -15 pts |
Elastic IPs
NAT Gateways
ALB / NLB
Classic Load Balancers
|
| Reserved Coverage | 10% | n/a — coverage ratio |
|
| Recommendation type | Severity |
|---|---|
| Delete | High |
| Idle eip | High |
| Idle nat gateway | High |
| Snapshot cleanup | High |
| Storage cleanup | High |
| Unused loadbalancer | High |
| Gp2 to gp3 | Medium |
| Reservation | Medium |
| Reserved instance | Medium |
| Right size | Medium |
| Scale down | Medium |