Figuring Out How to Save on Shipping Costs by Choosing the Right Fulfillment Center
How to Save on Shipping Costs by Choosing the Right Fulfillment Center Location
My first experience with non-FBA third party fulfillment came from importing these large wicker boxes. I planned to ship them straight to Amazon warehouses but then they halted new shipments because of COVID-19. This left me with a 40' HC ocean container soon-to-be en-route and without a destination.
There were many problems with that first shipment (mostly my fault) but for now, I’ll zoom in on one. I only had enough funds to ship all the units to a single warehouse. Since the product is so large, the cost of shipping from any fulfillment center to customers averages about 33% of the total price. In that light, it was paramount that I figure out how to cut shipping costs in any way possible. In the end, I was able to find estimated savings of ~$1,500. This was a significant increase in return on investment given that I included shipping costs in the product’s price.
To do this, I had to learn how to estimate shipping prices for different warehouses and apply that to some possible locations. In this post, I’ll explain how shipping prices work. I’ll work gathering the information necessary to get shipping quotes. Finally, I’ll step through the process I created to compare shipping costs for different fulfillment centers.
Note that this process really wasn’t the most efficient. I was in a hurry and did the first thing that came to mind. Writing up this blog made me think of several improvements and simplifications. So I’ve refined the process with some code and will be making it available to others.
Understanding Shipping Costs
If we’re going to reduce shipping costs, we need to know what factors influence prices. In general, three major factors determine how much it will cost to ship a product. They may seem pretty intuitive but at least two of them can be trickier than you would expect. I’ll break down each in more detail below, but at a high level they are:
- The weight of the item.
- The distance you want the item to travel.
- The speed at which you want the item to travel.
The carrier will quote prices to move certain weights over certain distances within a certain amount of time. For this exercise, the weight is fixed in the manufacturing process. It could be interesting to try working with the manufacturer to optimize this in the future. As for number three, offering different shipping speed options at checkout is pretty standard. So while both numbers one and two will impact our shipping cost, the best way we have to reduce shipping costs as a seller is to reduce the travel distance.
Numbers one and two are worth zooming in on because they contain some extra complexity. For our estimate, the weight of the item will either be the weight you would see on a scale or something called dimensional weight (explained below). The distance will be expressed as something called a shipping zone, also explained below.
What is Dimensional Weight?
(Also known as DIM weight and volumetric weight.)
In calculating how much to charge you, carriers will either use the amount your item weighs on a scale or the amount of space that your item consumes. The amount of space your item consumes converted to a representative weight is what we call dimensional weight.
Why does it exist? Charging by actual item weight is not enough to ensure that carriers can profitably transport all items. This is because you can actually fill a lot of space with very light items. For example, a box full of pencils should weigh a heck of a lot more than the same box full of packing peanuts (disclosure: I have not verified this). But they both take up the same amount of space! Using only actual weight-based pricing, you might pay pennies to ship a box of packing peanuts which costs the carrier more to transport. In that model, it would be in the carriers' best interests to reject any shipment above a certain size but below a certain weight.
Instead of rejecting those sorts of shipments, carriers introduce dimensional weight. To reflect the cost of transporting some amount of space between locations, we convert that space to a representative weight.
In determining how much it will cost to ship my product, I first had to figure out which weighting model to use.
What is a shipping zone?
A shipping zone identifies a group of zip codes that have the same level of delivery service from a specified origin. Different carriers may calculate zones in different ways. For example, one may specify all zip codes within a 50-mile radius as Zone 1, another may use 60 miles or some other figure. In general, the further away a zip code is from the point of origin, the longer it will take to arrive and the more it will cost. The interesting thing about shipping zones is that two locations a mile apart could be in different zones. Different zones can have drastically different costs even though the destinations may be pretty near each other.
Another step in estimating costs from any location is figuring which zones my customers live in (relative to a warehouse) and at what rates.
Comparing Options
Once I understood the components of shipping cost calculations, I started to collect each of the bits of information needed.
Broadly, this involved:
- Figuring out how to calculate shipping costs.
- Figuring out which fulfillment center locations were available.
- Figuring out where my customers were.
- Calculating and aggregating shipping costs for each location given customer destinations.
Figuring out how to calculate the shipping cost
The first thing I wanted to know to estimate shipping costs was whether to use actual weight or dimensional weight. FedEx and UPS will use whichever is greater regardless of the size of the package. USPS will use whichever is greater only if the package exceeds 1 cubic foot in size. I knew that my product would definitely be larger than 1 cubic foot in size so the carrier didn’t matter here.
To calculate dimensional weight I needed to know the exact weight and exact dimensions of the packaged item (including boxing). In my case, the weight of these boxes is 15lbs, 12oz, or 252 oz. The the dimensions are: 49" * 25" * 6". Something I hadn’t considered before which helped me here was that the product requires some assembly. This enables the package to be much flatter than it otherwise would be, consuming far less space.
To calculate the dimensional weight, I first get the cubic volume by multiplying the dimensions. That works out to 7,350in3 (roughly 4.25ft3, which you get from dividing by 1728). To get a representative weight you divide that cubic space by some divisor which the carrier specifies. For USPS, you divide the number by 166 or 139 for FedEx/UPS. You then have the equivalent number of pounds this package “weighs”. In my case, the product has a dimensional weight of 44.28lbs or about 708.5oz. This is much higher than the actual weight so it is crucial to use this when estimating.
The next step in calculating shipping cost was to figure out over what distance I would be shipping that weight. To know that, I needed two more pieces of information: what fulfillment center the product would originate from, and where it would be going.
Figuring out which fulfillment center locations were available
This step was surprisingly difficult at first. As it turns out, not every third-party fulfillment service is happy to work with you. Additionally, they all have different pricing models that cater to different types of products. This may make it unprofitable for you to work with them, even if they’re willing to work with you. For example, a fulfillment provider may specialize in small trinkets like jewelry or phone accessories. They will provide better pricing for those types of items while charging you unacceptable amounts for mid-size or large items.
Because of Amazon’s sudden moratorium, I had a very short deadline to figure out which provider I would use. It took about a week of speaking with and being rejected by different providers before I settled with ShipBob. They actually didn’t even force me to speak with a human to get set up, which was a huge bonus. I know plenty of people take issue with ShipBob and their pricing can be on the high end, but their flexibility got me out of a really tough situation. I will continue to be grateful to them for that.
This presented another opportunity, or problem depending on how you look at it. ShipBob offers many fulfillment center locations. I could only use one fulfillment center to service the entire continental US because of budgetary constraints. So I chose five of ShipBob’s available locations across the US and pulled the zip code for each so that I could estimate and compare each of them.
Figuring out where my customers were
Lucky for me, I was ordering a product which had already been selling over the past year. This meant getting a sample of customer locations was as easy as exporting sales over the past year from Shopify and Amazon into a spreadsheet.
This would take some more creativity if I were placing a new product. In that case, I might focus my marketing on specific geographic areas to start. Otherwise, I would assume some number of orders (say, 1000). I would then look up some major zip codes by population and assign each a proportionate number of orders.
The next part was a bit grueling. I needed to convert customer locations to shipping zones for each fulfillment center location. For speed, I looked up a shipping zone map for each warehouse and used an eyeball estimate to assign a zone to each order. I could have made this much more accurate using a zone table based on zip code numbers.
Calculating and comparing aggregate shipping cost estimates
Once I knew to use dimensional weight, where my customers were ordering from, and what the fulfillment center options were, it was time to get prices. Lucky for me, ShipBob offers a table of prices which include the shipping cost as well as the other fees like picking and packing. I was able to look up how much it would cost to fill an order of 708.5 oz for each of the shipping zones I was planning to support. I copied this into my spreadsheet and used a lookup function to match prices to orders.
Other carriers have similar pricing tables, so If I wasn’t using ShipBob I could look up pricing by carrier like the following at USPS.
After summing up the estimated costs for each location, the Bethlehem PA location offered savings of over $1,500!
Takeaways
The single biggest takeaway for me learning how to estimate and quote shipping costs. If I hadn’t known about dimensional weight, I would have severely underestimated my costs. This will especially come in handy as I evaluate other product opportunities. Shipping zones were another new concept for me. Looking at different maps provided some interesting insights into how carriers structure their routes. I’ve had a difficult time wrapping my head around logistics. Having more insight into how carriers think about moving space vs weight will, I think, pay dividends in the future.
One thing I didn’t examine was the possibility of using multiple fulfillment centers. I’m sure there would have been more savings if I had gone that route and the analysis would be a bit more complex. I didn’t do it here because I didn’t have the funds but I plan on exploring that in the future. I would definitely need to factor in the additional freight charges this would incur.
I was surprised at the lack of tools to help with this process. Perhaps it’s simply not a needle-moving opportunity for most businesses, but it was for this product. That said, I definitely didn’t do this the easy way. I plan on taking some of the more obvious optimizations and coding up a better solution, just in case. If you might like to use a tool like that, definitely reach out.
There you have it! This was my first attempt to figure out how to save money on shipping costs by optimizing fulfillment center location. There’s plenty more to optimize and I’m looking forward to learning more about the logistics of doing so going forward.