Back in August, I saw Ryan Kieczykowski and Ravi Kutty from Niagara Bottling present at the Oracle Transportation Management (OTM) Special Interest Group meeting in Philadelphia. Then last week I attended Oracle OpenWorld and Oracle (an ARC client) arranged a meeting between me and Ryan and Ravi. I’m glad they did because the conversation we had allowed me to learn something about transportation management systems (TMS) that I didn’t know.
First, some background. Ryan is a Transportation Manager, an operations guy. Ravi’s title is Supply Chain Functional; he is more on the IT side. Niagara, with ten bottling plants, is the largest private label bottled water company in the United States. On the outbound side, the company uses third party carriers for full truckload moves. About 90 percent of the company’s moves are short regional hauls from a plant to a retailer’s distribution center – one origin, one destination. And because Niagara moves water, its trucks weigh out before they cube out.
In their presentation, Ryan and Ravi talked about the significant optimization savings they were getting from full truckload moves from one origin to one destination. But I couldn’t understand how they were getting these savings. Because these are one origin/one destination outbound moves, they can’t make use of routing optimization. The truck’s weigh out, so there is no opportunity to load more stuff in the truck. They were not talking about savings from eliminating maverick spend, which is not optimization. So, where were these savings coming from?
Here is the way I was visualizing it. You conduct a transportation procurement engagement with a variety of carriers on your lanes. The winning carrier for a lane and its rates are loaded into the TMS. That carrier is the default choice when you have to move a load on that lane. You also load the rate of the second best carrier on a lane into the TMS. If your first choice can’t take the load, then you offer it to the second choice. As long as you select the preferred carrier by lane, and properly cascade your choices, you are maximizing your freight savings.
Ravi and Ryan explained to me that this was an unconstrained view of the problem. If your carriers can only take so many loads per week, then it becomes an optimization problem.
I’ve simplified a chart that they used in their presentation.
|Seymour, IN||Chariton, IA||Winchester, KY|
Assume you have a small network and you have only two carriers, and each can only take one load per week to one of your three destinations. But you have three loads that need to go out that week. Assume you start by tendering for the Indiana lane, then Iowa, then Kentucky, for no other reason than that is the order in which the work queue presented your tasks. The low cost by lane rule would have you pick Carrier A for IN, Carrier B for Iowa, and go to the spot market for Kentucky. This sums to $1,971.
But there are actually six scenarios.
|Indiana Lane||Iowa Lane||Kentucky Lane|
|Carrier A||Carrier B||Spot Market|
|Carrier A||Spot Market||Carrier B|
|Carrier B||Carrier A||Spot Market|
|Carrier B||Spot Market||Carrier A|
|Spot Market||Carrier A||Carrier B|
|Spot Market||Carrier B||Carrier A|
The second scenario (IN = A, IA = Spot, and KY = B) sums to $1,854. I did not go through all of the scenarios and sum them up, so there might be even better options. But even this simple exercise makes it obvious that if a company has a network of any size, no human could ever do as good a job as a computer.
In a way, I’m a bit embarrassed about not understanding this before. I studied the Advanced Planning and Scheduling market over 15 years ago. I knew that constraint-based factory planning was far superior to unconstrained Materials Requirements Planning.
Further, as Ryan and Ravi pointed out, we are entering a transportation market where capacity is becoming tight. This form of optimization will become even more important.
TMS continues to amaze me. Is there any other application that can deliver savings in so many different areas? Or perform so many distinct forms of optimization? I can’t think of any.