Even if you've taken steps to bring an algorithmic approach to your packing process (good job!), you need to ensure your cartonization engine is smart enough to consider all cost factors related to shipping. Here's a few key requirements for cartonization that's smart enough for real-world cost-optimization:
You want to avoid DIM fees only most of the time.
Packing software touting the elimination of dimensional fees is ubiquitous, and while it's good that this often expensive issue is being addressed, that goal isn't quite right. In fact it's so not quite right, it's like pulling all your teeth out to avoid the dentist. The truth is eliminating DIM fees altogether will probably cost you.
Consider this scenario: A customer orders a bunch of items. When I go to pack them, I have some options:
They fit into one large box and one small box, with some room left over in the large box that I'm pretty sure will cause a dim fee to show up on my carrier invoice.
Alternatively, they fit perfectly in three medium-sized boxes. No dimensional weight will be applied, and my packing software agrees. I proudly pick this option, secure in the knowledge that I've avoided those pesky fees that always add up on my invoice late in the month.
Sounds great right? The problem is that for this order, the dim fee from the first configuration is less than I would pay for using a third box. Each carton, even the smallest carton, has a minimum base cost when shipping, and using another box can be more than the dim fee you might otherwise pay.
This is further complicated by the fact that dim fees don't show up during rating so you can't just rate a bunch of possible solutions and hope for the best when your invoice arrives. Your cartonization solution needs to see your dim factor, know precisely when it is and isn't cheaper to eat that fee, and generate a packing solution accordingly.
You should pack differently depending on which carrier you are shipping with. This is because different carrier rate tables scale differently by price per carton and pound. The easiest way of explaining this is to consider the incentives that are represented in your rate tables. Carrier A may want you to minimize the number of boxes, while Carrier B may want you to minimize dimensional weight. Both carriers want both of those things, but they illustrate their priorities by how they structure their rates.
Consider an imaginary order, where FedEx and UPS have different incentives.
The FedEx rate table has a higher base box cost but a lower relative cost increase per pound. FedEx is incentivizing consolidating your items into fewer, and then smaller boxes. So we would choose 1 large box and 1 small box for this order.
On the other hand, UPS has a relatively lower base box cost but a higher relative cost increase per pound, i.e. UPS is discouraging both dim weighted and very full boxes. So we choose 2 medium boxes and 1 small box.
If we were to ship UPS using the FedEx-optimal packing solution, we would overpay by $1.93 retail.
This scenario happens often enough that you should be worried about flushing $2 away on a single order. And because this is a packing optimization that has less to do with dim fees than it does straight-up carton configurations, it actually means your new box-on-demand machine may not be smart enough to make the right decisions here.
Consequently, when you rate shop multiple carriers for an order, you should make sure you are comparing the most optimal pack solution for each of those carriers. You don't want to rate the same packing solution with multiple carriers. Because it may alter which carrier is cheaper, we actually do want to compare apples to oranges: The optimal packing for FedEx against the optimal packing for UPS. Seems complex, right? It gets worse...
Even for a single carrier, you should sometimes pack differently depending on what zone you are shipping to because packing incentives change depending on how far you're shipping an order. We've found that zone-based packing errors can get really expensive.
Take this scenario from a real shipper: Two identical orders going FedEx Ground, one to Zone 2 and one to Zone 9. For this order in zone 2, you have a relatively high base box cost (let's say $15), but relatively small price increases per pound (25 cents/lb or 1%). This tells us that FedEx would rather have you condense your items into fewer (and/or smaller) boxes in zone 2. Presumably because fewer/smaller boxes are easier for their employees to actually process and carry (or let's be honest; throw carelessly at your garage door).
Compare that to this order in zone 9, where there is a base box cost of ~$65, but higher relative per pound increases ($3/lb or 4%). This tells us that for long distances (Hawaii, in this real-life example), the total weight is much more of a concern for them than number of boxes. In zone 9, they are providing an incentive for lower weight, dimensional or otherwise. Presumably because it will go in a plane at some point, where "weight" is more of a factor.
Now, your algorithm should look at the rate tables, and try to pack things the way FedEx wants. For zone 2, it should suggest one large and one small box, which represents the incentive (fewest boxes and then the smallest additional box if needed), even though in this case it gets dimmed. 73lbs and $29.23 total.
However, for zone 9, where weight is king, it should suggest two medium sized boxes in order to minimize weight (dimensional weight is still weight, from a cost perspective). Zone 9 rates penalize dim rated and very full cartons. 67lbs and $225.58 total.
You need cartonization logic that can look at your negotiated rate table, which changes every year, and make intelligent snap decisions for each shipment. And this is only part of the complexity of a production-ready, shipping-cost-aware cartonization engine.
Paccurate makes cost-aware cartonization easy for shippers large and small. Try out the API for free.