Problem Statement:
Before implementing the auto-grouping and auto-assignment system, Client’s Operations team manually assigned deliveries to drivers. This process was time-consuming and prone to human error. Additionally, drivers believed that certain members of the dispatch team favored specific drivers, leading to unequal workloads and frustration among the staff.
- Create a job route, so that driver doesn’t need to travel in every direction
- Driver should get minimum job of a certain amount.
- Driver with high performance should be given high priority
- Vehicle capacity should be filled 80%.
- En-route deliveries should also get added if vehicle got capacity
- Favoritism will be eliminated as jobs will be entirely assigned by the system based on the driver’s performance.
Solution Overview:
- Group the deliveries based on territories, and break them into smaller clusters based on PIN code and address
- Create a route for job and add all enroute deliveries into that job
- Get the list of drivers with high performance priority and delivery history.
- Start assigning deliveries to that driver until his vehicle reaches 80% capacity.
- If one cluster is over and vehicle still not filled, look for nearest cluster in the route direction
- Assign the deliveries of that nearest cluster to the vehicle
Tech Stack Leveraged:
.Net Core, RabbitMQ, SignalR, Graphhopper, Microservice.
Benefits Delivered:
- Faster job creation and assignment to drivers
- Efficient deliveries to each driver
- Better route optimization
- Better On Time Delivery
- Improved Efficiency
- Reduced Complaints
- Cost Savings
- Employee Satisfaction