nayan_wylde
Esteemed Contributor II

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)