A last-mile feasibility study for suburban drone delivery in Massachusetts: where to place hubs, and how much of the state they reach.
Result: A 3-hub network reaching ~550,000 residents (~7.9% of Massachusetts), an estimated ~1,900 packages/day. Stack: Python, pandas, Folium Live case study: https://pranavkaja.vercel.app/projects/prime-air-drone-logistics
An MK30-class delivery drone covers roughly a 7.5-mile radius on a 15-minute flight. Given that range, where do you put a small number of hubs to reach the most people across Massachusetts, and is the volume worth it?
This is a multi-criteria decision analysis, not a single formula. Each candidate city is scored 0-10 on three criteria, then weighted:
| Criterion | Weight | What it captures |
|---|---|---|
| Demand potential | 0.40 | Population and order density reachable within 7.5 miles |
| Tech & income readiness | 0.35 | Income, education, and likely adoption |
| Operational feasibility | 0.25 | Airspace complexity, existing infrastructure, room to site a hub |
Two hubs whose service areas overlap add little unique coverage, so rather than stacking the top scorers (which all cluster around Boston) the model picks the highest-scoring city in each macro-region (East, Central, West). That spreads the network statewide, a standard max-coverage facility-location move. Daily volume is then projected from the reachable population and an assumed weekly adoption rate that scales with each region's readiness.
Running drone_hub_siting.py:
=== Selected hubs (highest score per region) ===
city region score pop_15min_radius daily_packages
Cambridge East 9.10 210000 850
Worcester Central 7.90 185000 600
Springfield West 6.90 155000 450
=== Network coverage ===
Hubs: 3 (Cambridge, Worcester, Springfield)
Residents reached: ~550,000 (7.9% of Massachusetts)
Projected volume: ~1,900 packages/day
The script also writes coverage_map.html, an interactive Folium map with each hub's 7.5-mile service circle.
git clone https://github.com/PranavKaja/prime-air-coverage.git
cd prime-air-coverage
pip install -r requirements.txt
python drone_hub_siting.py # prints the ranking + coverage, writes coverage_map.htmlInputs live in candidate_cities.csv, so you can adjust the candidate list, scores, weights, or adoption assumptions and rerun.
A feasibility study from graduate supply-chain coursework, not an official Amazon project. Population, readiness scores, and adoption rates are documented estimates meant to make the siting logic explicit and reproducible, not measured operational data.
Part of my portfolio. Built by Pranav Kaja.