Managing a fleet of commercial vehicles — buses, taxis, car-sharing — is a daily battle against breakdowns, inefficient schedules, and rising fuel costs. We build AI systems that turn raw CAN-bus data, GPS feeds, and accounting records into a working toolkit: predict failures before they happen, optimize shift schedules, and prevent bus bunching on routes.
Our track record: 10+ projects for fleets ranging from 30 to 500 units. Using machine learning, telematics, and dispatch algorithms, we've pushed technical readiness above 93%, cut fuel consumption 8-12%, and halved unscheduled downtime. For a 50-vehicle fleet, annual savings on repairs and fuel hit 1-2 million rubles. We'll assess your operation and offer a pilot on 5-10 vehicles.
How AI Predicts Bus Failures
Modern buses generate hundreds of parameters via OBD-II and J1939 (SAE standard). We use CAN telematics to forecast failures 7-14 days in advance. Key indicators: coolant, oil, and transmission temperatures; turbo and injection pressure; RPM variance; brake pad wear (from braking intensity).
from sklearn.ensemble import RandomForestClassifier
from sklearn.preprocessing import RobustScaler
import pandas as pd
import numpy as np
class FleetFailurePredictor:
"""Predicts vehicle component failure 7-14 days in advance"""
COMPONENTS = ['engine', 'transmission', 'brakes', 'suspension', 'electrical']
def extract_rolling_features(self, telemetry_df, window_hours=24):
"""Aggregate telemetry over a rolling window"""
features = {}
freq = f'{window_hours}H'
for col in ['engine_temp', 'oil_temp', 'rpm', 'fuel_rate']:
rolled = telemetry_df[col].rolling(freq)
features[f'{col}_mean'] = rolled.mean()
features[f'{col}_std'] = rolled.std()
features[f'{col}_max'] = rolled.max()
features[f'{col}_trend'] = rolled.apply(lambda x: np.polyfit(range(len(x)), x, 1)[0])
# Anomalies: how many times parameter exceeded 3σ in last 24 hours
for col in ['engine_temp', 'oil_temp']:
mean, std = telemetry_df[col].mean(), telemetry_df[col].std()
features[f'{col}_spike_count'] = (
(telemetry_df[col] > mean + 3*std).rolling(freq).sum()
)
return pd.DataFrame(features)
Predictive maintenance metrics: 7-day failure recall >85%, false positive rate <20% (every fifth alert is a real issue or nuisance?). Average lead time: 5-8 days before failure — enough to schedule a planned repair.
Model Comparison for Predictive Maintenance
| Model | Recall@7d | FPR | Training time (100 vehicles) |
|---|---|---|---|
| Random Forest | 87% | 18% | 15 min |
| LSTM | 91% | 12% | 4 hours |
| Gradient Boosting | 85% | 20% | 30 min |
Random Forest is the best choice for a quick start; LSTM offers +4% recall but requires more data and time. We recommend starting with RF then transitioning to LSTM as history accumulates.
Optimizing Dispatch Schedules: Matching 200 Buses to 50 Routes
The vehicle-shift scheduling problem is solved using OR-Tools CP-SAT. Constraints: drivers work 8-10 hours with a 45-minute break (per Russian labor code, AETR for intercity); buses need 1 hour for cleaning and maintenance between shifts. Objective: minimize number of buses and driver overtime. For fleets of 100-300 units, the solution generates in 30-120 seconds. Compared to greedy heuristics, OR-Tools uses 12-18% fewer buses for the same route coverage — 2-3x more efficient than manual planning in terms of time.
What to Do When a Bus Breaks Down En Route?
A breakdown on the line is stressful for dispatchers. The system offers real-time suggestions:
- Nearest spare bus from the depot (ETA calculated with traffic)
- Redirect a bus from a parallel route with surplus headway
- Automatic passenger notifications via displays and app
A classic problem is bus bunching. We use GPS headway monitoring and an ML model that predicts the optimal holding time at a stop: too long irritates passengers, too short lets bunching return. The algorithm maintains balance, reducing headway variance by 50-70%.
Economics and Analytics
Fleet Management KPIs
| Metric | Typical Values | AI Target |
|---|---|---|
| Fleet technical readiness | 82-88% | 92-96% |
| Mileage before unscheduled maintenance | 8,000-12,000 km | 18,000-25,000 km |
| Fuel consumption l/100km | baseline | -8-12% |
| Route turnaround time | baseline | -5-8% (headway regularization) |
Fuel monitoring: normal consumption = f(route, load, weather). Deviation >15% raises a theft suspicion. An ML classifier separates natural fluctuations from theft. Alerts include geolocation of the presumed incident. Average fuel savings after deployment: 10-12%, which at current prices yields 300,000-500,000 rubles per 100 vehicles annually.
What's Included in Our Work
- Audit of existing systems and data (telematics, GPS, TMS).
- Development of predictive maintenance models tailored to your vehicle types.
- Algorithms for schedule optimization and dispatching.
- Integration with MES/TMS and the dispatch console.
- Pilot on 5-10 vehicles (1 month).
- Documentation, personnel training, and technical support for 6 months.
Contact us to discuss a pilot: we'll evaluate your data, provide a timeframe and cost range (not an abstract quote). Get a consultation from an engineer who has written code for hundreds of thousands of CAN messages. Request a preliminary audit of your fleet — it's free and takes no more than an hour.







