Haul Truck Utilization & Productivity analysis was conducted to identify underperforming haul trucks and evaluate shift-wise productivity across the fleet. In this case study, we will identify underperforming haul trucks and analyze shift-wise utilization, idle time, and tons hauled in order to optimize overall fleet productivity at the mine site.
Objective:
Identify underperforming haul trucks, calculate shift-wise utilization %, idle time, and tons hauled to optimize fleet productivity.
Data collection and preparing:
- Dataset columns: Truck_ID, Shift, Tons_Hauled, Run_Time_Hours, Idle_Time_Hours, Fuel_Consumed_L
- Number of records: 500+
- Source: Simulated dataset
The following Python script is used to generate a realistic mining haul truck dataset.
import pandas as pd
import numpy as np
import random
# Parameters
num_records = 500 # number of rows
truck_ids = [f"TRK{str(i).zfill(2)}" for i in range(1, 11)] # 10 trucks: TRK01 - TRK10
shifts = ["Day", "Night"]
# Generate dataset
data = []
for _ in range(num_records):
truck = random.choice(truck_ids)
shift = random.choice(shifts)
# Generate realistic ranges
run_time = round(np.random.uniform(3, 10), 2) # 3–10 hours of run time
idle_time = round(np.random.uniform(0.5, 3), 2) # 0.5–3 hours idle
tons_hauled = round(run_time * np.random.uniform(35, 55), 2) # 35–55 tons/hour productivity
fuel_consumed = round(run_time * np.random.uniform(25, 35) + idle_time * np.random.uniform(5, 10), 2)
data.append([truck, shift, tons_hauled, run_time, idle_time, fuel_consumed])
# Create DataFrame
df = pd.DataFrame(data, columns=[
"Truck_ID", "Shift", "Tons_Hauled", "Run_Time_Hours", "Idle_Time_Hours", "Fuel_Consumed_L"
])
# Save to Excel or CSV
df.to_excel("HaulTruckData.xlsx", index=False)
# or: df.to_csv("HaulTruckData.csv", index=False)
print("Dataset generated and saved as HaulTruckData.xlsx")
print(df.head())

Calculate KPIs
Calculate Utilization % per truck: How effectively a truck is used
Formula:
In Power BI, create a new column :
Utilization % =
DIVIDE([Run_Time_Hours], [Run_Time_Hours] + [Idle_Time_Hours], 0) * 100
For average utilization, we created a KPI measure:
Avg Utilization % = AVERAGE('Haul_Truck'[Utilization %])
KPIs summary
| KPI | Measure | Display Format | Example |
|---|---|---|---|
| Avg Utilization % | AVERAGE([Utilization_%]) | 1 decimal | 83.66% |
| Total Tons Hauled | SUM([Tons_Hauled]) | K format | 200K |
| Max Idle Time (hrs) | MAX([Idle_Time_Hours]) | 2 decimals | 1.50 |
| Total Trucks | DISTINCTCOUNT([Truck_ID]) | whole number | 20 |
| Shifts Analyzed | DISTINCTCOUNT([Shift]) | whole number | 3 |
Visualization & key insights
Haul Truck Utilization- Power BI Dashboard

Key Insights
Fleet Utilization Efficiency
- The overall average utilization rate is 83.66%, indicating strong equipment use across the fleet.
- This performance is close to the mining industry benchmark of 85–90%, showing effective operational management with minimal downtime.
Shift Performance Comparison
- The Night shift shows the highest utilization percentage, followed by Afternoon and Morning shifts.
- This downward trend suggests that morning shifts experience reduced operational efficiency, possibly due to start-up delays, maintenance routines, or operator transitions.
Fleet Output and Performance Variation
- The fleet collectively hauled approximately 200,000 tons during the analyzed period.
- Certain trucks, such as TRK03, TRK08, and TRK16, consistently report higher haul volumes, suggesting higher reliability, optimal routing, or more experienced operators.
- Conversely, trucks with lower haul totals may face maintenance issues, scheduling inefficiencies, or less optimal route assignments.
Idle Time Impact
- The maximum idle time recorded is 1.5 hours, which—though seemingly minimal—can result in considerable production loss and fuel wastage over time.
- A closer look at high-idle trucks may reveal dispatching inefficiencies or queue delays during loading/unloading.
Recommendations
Morning Shift Optimization
- Investigate operational factors contributing to reduced utilization in morning shifts.
- Align maintenance, fueling, and operator handover times to ensure trucks are active earlier in the shift.
Performance-Based Monitoring
- Establish real-time dashboards and alerts in Power BI to flag trucks falling below utilization or tonnage thresholds.
- Track Idle Time > 1.5 hours or Utilization < 75% to proactively address performance drops.
Fleet and Operator Rotation Strategy
- Rotate drivers across trucks to reduce operator bias in performance.
- Combine truck data with operator shift logs to identify skill-based performance differences.
Summary
A utilization analysis was conducted to identify underperforming haul trucks and evaluate shift-wise productivity across the fleet. Results showed an overall utilization rate of ~83.7%, with night shifts performing best and morning shifts showing higher idle time. Trucks TRK07, TRK11, and TRK15 underperformed compared to fleet averages. Reducing idle time and balancing shift workloads could improve overall productivity by 10–12%. Recommendations include real-time idle monitoring, operator efficiency training, and predictive maintenance for low-performing trucks.







Leave a comment