Corporate Transformation

How a 10-engine multi-agent ML system saved Localiza $10M+ annually by autonomously pricing fleet across 950 branches

8 min read2018–2021Corporate Transformation
XGBoostRandomForestPythonApache SparkAWSCustom event bus
$10M+
Annual cost savings
950
Branches nationwide
50M
Events/month at peak
10+5
Engines + ML models
How a 10-engine multi-agent ML system saved Localiza $10M+ annually by autonomously pricing fleet across 950 branches
Context
RoleSenior Product Manager → Product Lead
Team8 engineers, 2 data scientists, 3 operations partners
Timeline18 months (MVP at 6, full rollout at 18)
StackPython (XGBoost, RandomForest), Apache Spark, AWS, custom event bus
My contributionProduct strategy, 2 of 5 ML models built personally, change management across 950 branches
ConfidentialityFigures aggregated; system details described by capability
The problem

950 branches, 300,000+ vehicles, and pricing decisions being made by a spreadsheet from 2009

Localiza is LatAm's largest vehicle rental and mobility company. By the time I joined the pricing team, the fleet was massive — and the pricing logic hadn't materially changed in years. Branch managers were setting daily rates from centrally distributed spreadsheets. The spreadsheet was updated weekly. The car rental market moves hourly.

The business consequence was measurable: idle fleet time was too high in certain locations and utilization was approaching 100% in others with rates still priced at off-peak levels. We were leaving margin on the table on both ends.

The harder problem was organizational. 10,000 branch employees had been pricing cars the same way for years. Any new system had to be accurate enough to trust and simple enough to explain.

The architecture

10 specialized engines, each solving one pricing signal — orchestrated into a unified recommendation

Five ML models each focus on a single pricing signal: demand forecasting, utilization prediction, competitor price movement, seasonality adjustments, and fleet repositioning cost. A separate orchestration layer combines outputs into a branch-level pricing recommendation, updated every hour.

System: 10 engines + 5 ML models
Demand Forecast
XGBoost — personal build
Utilization Pred.
XGBoost — personal build
Competitor Pricing
Real-time scraper + model
Seasonality
Time-series model
Fleet Reposition
Cost optimization engine
Orchestration Layer → Branch Pricing Recommendation (hourly)

I personally built the demand forecasting and utilization prediction models — both XGBoost, trained on 3 years of historical rental data with engineered features for local events, holidays, and competitive dynamics. The event bus processed 50M events per month at peak.

The outcomes

$10M+ in annual savings, 950 branches fully live, and the system still runs today

$10M+ annual cost savings from reduced idle fleet time and improved margin capture.
950 branches fully migrated from spreadsheet pricing within 18 months.
Fleet idle time reduced by a material percentage in the first 90 days at pilot branches.
System reliability: 99.7% uptime in year one.
Still running: 4 years after launch the system remains the primary pricing engine.
The lesson: Enterprise ML wins are 30% modeling and 70% change management. The model is the easy part — the hard part is getting 10,000 employees to trust it.
All work