Case Studies


Back Case Studies

Client: Large US city
Project Duration: 12 months
Goal: Dynamically change on-street parking prices to match the demand and solve parking congestion problem.
Tech: Python, R, Matlab, Hadoop MapReduce


The client wanted to solve the problem of parking congestion in a downtown area. Before the solution was implemented, the city streets close to the points of interest (shopping, restaurants, theaters, etc.) had been over-occupied and it was almost impossible to find on-street parking. On the other hand, a large number of streets that were further away from these points of interest, but still walking distance, were under-occupied. The city wanted to re-distribute the occupancy such that under-occupied streets become more occupied and over-occupied streets become less occupied.


The idea was to raise the parking prices in over-occupied streets and decrease the prices in under-occupied streets based on demand. The general approach was to find a trade-off between the price a driver is prepared to pay versus the distance he/she is willing to walk to the points of interest. The rates are to be changed only once a month and in small increments/decrements.


To be able to monitor parking occupancies, the city installed parking sensors underneath each parking spot. Data was being collected for several months and stored on HDFS. The project was split into three phases: 1) Initial analysis, which involved identifying the best features to be included in the pricing model; 2) Model training phase, which involved predicting the on-street parking price increment/decrement that would ensure 80% occupancy and 3) Model evaluation phase, which involved testing the prices on real users.


At the end of this project, the pricing algorithm was deployed in production, where it was re-trained automatically every month to produce new demand-driven prices for each city street.

Previous post Next post