Bike Sharing System Optimization
Using algorithms and data science to solve real business problems for Austin's Metro Bike system

What I Built
I tackled five optimization challenges for Austin's bike sharing system using 130K+ trip records. This was my first real dive into data structures and algorithms, and I loved figuring out how to turn complex problems into practical solutions.
The Problems I Solved
Route Optimization: Maintenance staff were traveling 43km daily visiting all kiosks randomly. I used
the
Traveling Salesman Problem to cut this down to 37km, saving $60/day in travel costs.
Trip Prediction: Built an XGBoost model to predict how long bikes would be rented based on
weather,
location, and user type. Hit 8.48% accuracy, helping with inventory planning.
Smart Clustering: When the company wanted to test new kiosk tech, I clustered stations by
popularity using
graph theory and K-means so they could safely pilot on low-risk locations.
Strategic Downsizing: COVID hit demand, so they needed to close 5-10 kiosks. I built a linear
programming
model that identified which 10 to close while keeping revenue intact and meeting business constraints.
Network Coverage: Found the minimum number of kiosks needed for city-wide connectivity (turns out
it's 41
out of 44).
What I Learned
This project was my crash course in turning theoretical CS concepts into real business value. Going from "here's an algorithm" to "this saves $60 per day" was incredibly satisfying. Plus, working with messy real-world data taught me that the best technical solution isn't always the most complex one.
Technologies Used: Python, NetworkX, scikit-learn, XGBoost, PuLP, Jupyter Notebooks
Academic project at Purdue University, 2021