For each cluster:
Savings = Avoidable Idle Time × Hourly Cost
Where:
- Avoidable Idle Time (minutes) = estimated minutes the cluster kept running after it became idle, beyond the recommended termination window.
- Hourly Cost = DBU cost + (optional) cloud compute cost per hour.
Most environments don’t have a clean “idle_started” event, so a robust method is:
Identify job activity or command activity windows
Find gaps between activity windows while the cluster was still running
Any gap longer than recommended auto-termination implies waste beyond the recommended threshold
Example definition
For each “running session” of a cluster:
If there is a gap between last activity and next activity (or shutdown) of G minutes
Then the avoidable portion is:
avoidable minutes=max(0, G−recommended_autoterm_minutes)\text{avoidable minutes} = \max(0,\; G - \text{recommended\_autoterm\_minutes})avoidable minutes=max(0,G−recommended_autoterm_minutes)