Package Tracking System Helps Save A Major Office Retailer Millions While Increasing Customer Satisfaction

overview

In 2017, this office supply company was one of the top online retailers in the world. With over 1 million products available and a network of 100+ nationwide and local delivery partners, they were able to pull off something unprecedented at the time: providing fast and convenient online shipping and next-day deliveries at affordable rates.

industry

retail

time

3 months to build, 3 months to roll-out

tech

Java, MySQL, Queueing, Oracle, EDI

The problem? While the company’s vast carrier network kept delivery costs low, it turned out to be a logistical nightmare. And, its 20+-year-old package tracking system was only making matters worse.

The company’s call center was burdened with hundreds of calls each day from customers wondering about the status of their shipments. Employees were spending valuable time navigating the outdated tracking system, struggling to decipher redundant and inconsistent delivery data from the many package delivery partners, each of which used its own unique terminology, exception codes, and data retrieval procedures.  

As a result, the company was steadily sinking money into a bloated customer service department but seeing little improvement in customer satisfaction.  

The Challenge:  

The challenge KIS faced with this project was two-pronged.  We needed to–  

  1. Consolidate tracking data from 100+ different delivery partners into an enterprise system, providing clear and consistent tracking information accessible by the website, the users, the call center, and the order management system.  
  1. Migrate from the company’s 20+-year-old legacy tracking system, which was written in code that no one at the company understood and was afraid to touch.  

The Solution: A Single Source of Truth  

The idea was simple: create a single resource providing tracking updates in a clear and consistent language. The reality was a little more complicated.  

Migrating the Old System  

Before migrating the legacy tracking system, we had to understand it. Everyone at the company assured us that it couldn’t be done. The code was notoriously complicated and dangerously outdated.

“You’ll never figure it out.”

...was a phrase we heard numerous times. Other teams had tried and failed, but we were determined. “Just give us a chance,” we told them.  

Within 3 months, we had a firm grasp of the legacy code.  How did we do it?  Hard work.  We rolled up our sleeves and read the legacy data structures and code until we knew it as well, if not better, than anyone at the company.  

Later KIS put 4 guys in a room and 6 months and many boxes of pizza later, we were able to update  the old system to a modern infrastructure while expanding upon the user functionality.  

Handling the Volume  

On average, the company was moving about 300,000 boxes a day and receiving about 10 updates per box. That averaged out at around 3,000,000 package tracking updates per day. To handle all that volume, we designed a system that could accommodate up to 300 TPS (transactions per second). By the time you read this article, the system will have processed about 100,000 transactions!  

Data Consistency Challenge

One of the main issues with the legacy package tracking system was that it didn’t normalize the tracking data supplied by the carriers. As a result, tracking information was difficult for customer service representatives to locate and sometimes impossible for them to decipher.  

  • Some carriers would provide duplicate data, cluttering the system with redundant text.
  • Each carrier had its own unique exception codes for a given issue, making it difficult for employees to determine why a package hadn’t been delivered.  
  • Each carrier formatted its data differently.  
  • Some carriers used different data retrieval methods than others, causing inconsistencies in the way the data was displayed in the system.  

The new tracking system would need to normalize the data and display it to the user in a consistent and easy-to-read format. We spent months learning each carrier’s data formatting and unique coding schemes.  There were no  shortcuts here-- this again was just plain old hard work. In the end, we were able to normalize the data by creating a layer in the system that–

  1. Filtered out duplicate data.
  1. Translated and standardized exception codes into easy-to-understand language.  
  1. Reformatted data to read consistently regardless of the carrier.  
  1. Reformatted data retrieval methods like “pulls” to look like “pushes” further creating consistency and readability in the way data was displayed to the user.    

Change Management

An additional challenge faced with this project was getting internal and external stakeholders to align.  “Change Management” is a common buzzword, but in any large software project it is a brutal reality.  It was difficult getting people at the carrier companies to talk to us about their processes. They were dismissive of our inquiries and would often dodge our calls.   It was equally challenging to get internal groups to align.  A project this large touches many areas:  call centers, many internal IT teams, the website, customer experience, ….  Getting all these internal stakeholders on board was no small feat.

We found out quickly that this was real-world software development. Anyone with enough determination and know-how could write a program, but what makes or breaks a project is knowing how to talk to people. We had to convince the people at these carrier companies that we weren’t a bunch of software nerds in a room– we knew what we were doing, and we were here to make everyone’s job easier.  

Organizational alignment wasn’t easy. But with enough persistence, professionalism, and demonstrating the value of our product, we eventually broke through to these delivery companies and got them on board. What started out as contentious relationships turned into partnerships, and we got the information we needed to build the system.  

In the end, this was one of the hardest parts of the entire project, but it re-enforced a valuable lesson: it takes more than technical knowledge to develop software; you need people skills. And that’s where we excel.  

What We Built: EPTS

  • A core database for delivery data (single source of truth)
  • Realtime data ingestion framework streaming package tracking updates  
  • An intelligent polling solution calling delivery partner APIs  
  • A publishing framework for making downstream systems aware of important tracking updates, such as an OMS and Notification Platforms.
  • APIs for data consumption from enterprise systems
  • Call center
  • Website

Stats

  • Receives scans from well over 32 different carriers  
  • Receives about 100k tracking requests each day from customers and call center reps
  • Processes ~2-3M valid scan events each day on average after de-duping and other business rules  

The Result  

In the end, our “single source of truth” for package tracking made significant sustainable improvements to the office supply company’s daily operations, customer satisfaction, and overall profitability.

By providing a consistent and reliable source of tracking updates, customers were able to check the status of their package through the website, cutting way down on the number of calls the call center received each day.  

Customers who did call were assisted quickly by employees navigating the new and improved system. Customers also enjoyed near real-time email and SMS messaging delivery updates.  

As a result, customer satisfaction skyrocketed, and the reduced workload of the call center ended up helping save the company up to $20,000,000! An unexpected benefit of the new tracking system was that it enabled the company to better hold its vendors accountable.  

There was a department at the company which was responsible for making sure the carriers in the delivery network performed their job in accordance with their contract terms. Once the department saw the value of the data supplied by the new tracking system, they migrated over to it immediately. The system helped them improve the efficiency of both their department and the carriers by making sure packages reached their destination on time.  

A few metrics and results:

  • Helped save this client up to $20,000,000
  • Improved call center efficiency  
  • Improved user experience on e-commerce platforms
  • Enabled near real-time email and SMS messaging for delivery updates
  • Improved customer satisfaction  
  • Helped hold vendors accountable to their terms

a few nice words

This project was completed in 2018, and has served as the foundation for a trusting relationship with this client that continues to this day. Along the way, we’ve helped this client with many other challenges, and continue to supply support for the software solutions we’ve created for them. This will always be a top 10 project for us.

our success cases.

We thrive on creating business value through strategy, technology and design

tech too complex?
it doesn't have to be.

There’s a big difference between tech that simply works and tech that works for you.
By assessing problems objectively and focusing on the user experience, we design our end-to-end tech solutions to suit your exact business needs.
No more bloated software or complicated UI’s. We keep it simple.

tech strategy & consulting.

Empowering companies, investing in IT, tech training, 
scalable squads, and delivering the right value.

data
management.

Data migration, conversion, analysis and integration.

Database consolidation and management.

machine learning models.

Use AI algorithms and data to improve the accuracy of your analysis and make better predictions that impact the decision making processes.

web services development.

From discovery to delivery, we solve issues that go beyond the basics.

more about our services

arrow_right_alt

let's build something
great together.

Reach out with an idea or a problem and we’ll get back as soon as we can.