• 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

Share this project: