Inspiration
- Data-Analytics interest and family and friends are part of the UPS workforce.
What it does
In a perfect world - the UPS On-Time Analytics package will take a set of delivered packages for a specific area and check the estimated times based on the service type (GROUND or AIR) and compare them to the actual times the package was delivered. The package then will crunch the data and spit out a correlation chart with clusters showing when packages are delivered in that area compared to when they were estimated. It also will keep track of percentages of On-Time to Not-Making-It-On-Time packages and have a threshold of about 90%. If the threshold dips below 90%, it will alert the server telling UPS to look at this specific area and figure out why packages aren't getting there on time more than 90% of the time.
What it does - It pulls the actual dates and times the package was delivered and also the estimated dates and times and keeps track of the On-Time percentage of a specific area.
How We built it
- Vim/tmux
Challenges We ran into
Talking to the API - Used to sending a URL with a concatenated userName and password, but never experienced JSON headers before
Sifting through the JSON files that were pulled back down - some JSON files did not have certain keys needed to get the full set of data
Working with data that is older than a month - the UPS system "purges" tracking numbers about a month after they are used, which was ran into in the later hours of the build
Accomplishments that We are proud of
Getting the JSON headers to properly send to UPS
Being able to seamlessly integrate the Tracking API into the TimeInTransit API
Getting estimations for packages that aren't easily identifiable or given outright
What We learned
We learned that although the API looked simple at first, it is a very deeply integrated API that does not like any type of errors in the call making. We also learned that UPS doesn't supply estimated times, so we had to "hack" our way with another one of their APIs to get the estimations.
What's next for UPS On-Time Analytics
Getting it to work with any of packages the system has and also to handle errors. The systems anticipates that you enter the correct data in the right format and also expects it to be a package that is going to a residential address. Also, get correlation graphs to show the data on the screen in a more visually appealing format rather than through the command line.
Built With
- json
- python
- ups-time-in-transit-api
- ups-tracking-api


Log in or sign up for Devpost to join the conversation.