© Thinh Ngo, 2026
← All work
06

UPS Location Model

Where should a parcel network put its next drop boxes? A model that turns public census and facility data into a ranked expansion lead list — across 29,943 ZIP codes.

Course
RMIT — ECON1612 Big Data, Machine Learning and Society
Type
Team of 4 (Assessment 3)
My role
Analytical lead: framing, variables & EDA, business implications
Best model
XGBoost · ROC-AUC 0.78
Stack
Python, XGBoost, scikit-learn
Output
Ranked expansion lead list

TL;DR

A network-design problem framed as machine learning: given an area’s demographics, economy, and infrastructure, is it a good candidate for a drop box? We cleaned 29,943 ZIP codes, engineered demand features that beat raw population, and shipped a ranked lead list of underserved high-potential areas — not just a chart.

The problem

A parcel network wants to grow its drop-box footprint, but “where next” is usually decided by intuition. With almost 30,000 ZIP codes to weigh, the real question is which underserved areas have the demand to justify a new location. We framed it as a binary suitability problem and let the data rank the candidates.

What we built

We merged US Census data — income, employment, internet access, housing, age — with a UPS facility dataset, then cleaned 29,943 ZIP codes: standardised fields, converted placeholder tokens to missing, removed ghost-town ZIPs with zero households, and imputed the rest. The features carried business meaning rather than raw counts: a tech-wealth index (income times internet penetration), a total tech volume that separates small rich enclaves from large high-value markets, and an employment-density proxy for daytime foot traffic.

What I owned

I led the initial UPS research and shaped the analytical flow, then guided data collection, variable selection, and the exploratory analysis, with hands-on coding support. I had a say in model selection — and I owned the part that makes a model matter: translating the outcomes into plain business language, the ethics analysis, and the implications for where and why UPS should expand.

What the model found

Across Logistic Regression, Random Forest, and XGBoost, XGBoost won at ROC-AUC 0.78 with balanced precision and recall — chosen on ROC-AUC because two thirds of areas are the negative class. Household count, employment density, and the tech-wealth signal drove predictions, so connectivity and wealth mattered more than raw population. Calibration held: predicted probabilities matched actual frequencies across confidence bands.

The business output

The model surfaced “missed opportunity” ZIP codes — areas with no current drop box but high predicted suitability. That’s a direct expansion lead list. We paired it with a threshold tuned as a business trade-off and a phased deployment plan (pilot the top candidates, monitor, then scale) rather than treating the score as a verdict. At heart it’s network design: deciding where physical nodes should sit to serve demand efficiently.

Artifacts

Next project

SCF Protocol