Uber Freight has been around since 2016 and is dedicated to provide a platform to seamlessly connect shippers with carriers. We’re simplifying the lives of trucking companies by providing a platform for carriers to browse through all available shipment opportunities with upfront pricing and book with the tap of a button, and making the fulfillment process more scalable and efficient. By Ujwala Tulshigiri, Yeqing Lu, Ting Chen, Branden Colen.
The article describes how Uber Freight developed the Carrier Scorecard to show the carriers several metrics, including engagement with the app, on-time pickup/delivery, tracking automation, and late cancellations. By showing this information in near real time on the Carrier App, they are able to provide feedback to carriers in real time and set ourselves apart from most of our competitors in the industry:
- Backend requirements
- Potential solutions considered
- Final system design
- Kafka
- Flink
- Pinot
- Data schema and challenges
- Flink stateful stream processor
- Hybrid Pinot table
- Golang GRPC service
- Impact
Apache Pinot provides rich index optimization techniques like inverted, Star-tree, JSON, sorted column and many other indexes to accelerate the query performance. For example, the Star-tree pre-aggregation index can speed up the queries to summarize the average wait time at facilities. The fast query made it an interactive experience for carriers to check out the wait time on a carrier app before they book a shipment.
Providing reliable service to shippers is critical for Uber Freight in order to gain their trust. Because carriers’ performance could significantly impact reliability of Freight’s service, we need to be transparent with carriers about the level to which we are holding them accountable, providing them with a clear view of how well they are performing and, if needed, where they can improve. Excellent read!
[Read More]