Our Exhaustive Shipping Project – What We Learned and What New Features We Added

Today we launched some really cool new shipping features on Detailed Image.  They were a cumulation of about a month long shipping project that we took on.  It was really the one big thing that we wanted to make sure that we got done before the holidays.  Shipping options are just so important to customers that you’d have to be crazy not to be regularly reviewing and improving how you ship.

The Study

Like most online retailers, we didn’t have a good understanding of how accurate our shipping quoting system was.  We use the FedEx API, but there are scenarios where surcharges are applied that make quoting a little more complex than it should be.  Plus those quotes are working under the assumption that the weights in our database are accurate, and that the box size system selects the correct box for the order.

Unlike most online retailers, we decided to do something about it.  FedEx posts each shipment individually to our AMEX card with the associated tracking number for the charge.  We also store all tracking numbers in our database when the shipment goes out. By pairing the two we could compare what we charged the customer vs what FedEx charged us.

In about 3 hours I was able to gather and analyze about 3,000 recent transactions with matching tracking numbers using a combination of Excel (err Open Office Calc), MySQL, and PHP. The majority of our orders are shipped via FedEx Ground, so that was the most important segment to look at.  Because we were looking to determine our quoting accuracy (and not necessarily our raw profitability) I factored out any orders that had discounted/free shipping applied from a coupon or other shipping promo.

My hypothesis going in was that we were losing a little money each shipment.  I was wrong.  We’re actually doing a really good job.  When you factor in our 5% AMEX savings, we’re netting $1.13 per shipment. As far as accuracy goes, we’re pretty good too with an average standard deviation of just $0.64 per order. This is illustrated best by looking at the graph below of shipping costs (the y-axis), sorted by increasing shipping quote (the x-axis).  Notice how closely our real cost in blue closely hugs the shipping cost that we charged the customer:

Detailed Image Shipping Study

FedEx Express shipments yielded much the same result.

The next step was to figure out how much our packing materials were costing us.  I added up all of the materials we’ve bought this year – packing peanuts, boxes, and tape – and then divided that over the number of orders we’ve had during the same period. This is only an estimate, since we had some unused materials at the beginning of the year and have some unused materials now.  Nonetheless it’s a good estimate.  Turns out each order costs us $1.09 in materials.

Sweet – we’re essentially breaking even!  That’s great news.  It allows us to move forward with confidence that we’re accurate and that we’re not losing money on a per-order basis. Shipping discounts are more a function of marketing than they are of our shipping processes.  To me, whether we give 15% off on a coupon or free shipping doesn’t really matter.  It all comes off the same bottom line.

The final part of this study was to compare our shipping costs to our 3 biggest competitors.  We do get a decent amount of complaints about our shipping prices being too high.  I just assumed our competitors undercut our shipping costs because they are large than us.  Again, I was wrong:

Detailed Image Competitors Shipping Quotes

Given the results of the study, we were able to move ahead with some of the big improvements that we had planned.  Had this not turned out so well, our focus would have been on getting this core stuff right.

Website Improvements

As we have it though, we’re doing a pretty good job with the core stuff so we’re able to move on to some of the more advanced stuff.  This is where the fun starts.

First things first, we listened to our Alaska and Hawaii customers and switched the shipping option from FedEx to USPS.  They get their packages faster and save about 20% on every order.  It was a no brainer.

Second, we fixed a problem that causes a lot of online retailers trouble: aerosol containers. Due to safety precautions, aerosol containers can’t be shipped via air, regardless of the service. Previously, we dealt with this on a case by case basis since most of our orders are Ground shipments. However, the number of instances where people were ordering aerosols via Express were increasing. This not only is a pain for us (we have to contact the customer, place the order aside, wait for a response about substituting an item or taking a refund/credit), but customers are generally peeved because their expedited order gets delayed.

Simple solution – I added an aerosol field to the database and if you check out with an aerosol in your cart you see the following:

Detailed Image Aerosol Shipments

The next features are the really good stuff.

We added an AJAX “quick quote” feature that allows users to get a shipping quote for any order without logging in or giving us any of their personal information. This is something customers regularly complained about.  Previously they had to sign up for an account.  And while there are some benefits to us by having them do that (more newsletter subscribers), at the end of the day customers want a simple way to get a quote (I know I do when I shop), so it’s best to give them a feature to improve their shopping experience.

We also added FedEx Home as a shipping option.  It costs the same as FedEx Ground, but the main differences are that it delivers Tuesday – Saturday and requires a signature. Customers can now choose the option that works best for them.

And finally, the really cool one.  Based upon the time of day, the service selected, and the shipping destination, we estimate the day the order will leave our warehouse as well as the day that it will be delivered. The system factors in all shipping holidays through 2013 (I made a note to look up the holidays for 2014+ on 1/1/2013…). On other sites, just estimating the ship date has made a noticeable difference in conversion rate.

Detailed Image Shipping Estimates

This one is huge.  Since detailing is primarily a weekend hobby, many customers order later in the week in anticipation that they’ll receive their order before the weekend.  Now they’ll know for sure. Greg won’t have to deal with customers who ordered Thursday night and are two days away but don’t receive their order until Monday. And for every one of those who complains, I bet there are a lot more who don’t complain but wish they had a better idea of when their products would be arriving.

Other Improvements

We’re also doing a few non-website related things to improve our shipping:

  • We (finally) talked FedEx into sending us a backup label printer.  Sometimes ours can be spotty.
  • We’re working on “emergency” scenarios for when FedEx Ship Manager software is down or won’t interface correctly (this almost happened Monday…thankfully they issued a patch and we were OK).
  • We’re negotiating a later pick up. This will allow us to bump up our ship time on the new quoting system and advertise on the site “we ship all orders placed after 3:00 PM on the same day” (now it’s 9 AM).  This also means that we’ll be keeping the warehouse open longer.  Instead of just 9-3 I think we’ll be at a more normal 8-5 pretty soon.  For a little while it’ll suck, but we’re working on getting the employees in place so that we don’t need to be there all the time. There’s just a lot more warehouse work now than there was a year ago.  It can’t all be done in 30 hours any more.
  • We’re negotiating rates with UPS.  I doubt we’ll switch, but we’re starting to hit the type of volume where it’s worth negotiating between FedEx and UPS on a regular basis.

As a whole, this was a very rewarding project.  There’s no doubt that this stuff matters to our customers.  The data analysis was important for us, but the new features will hopefully upgrade our customers shopping experience and continue to show that we’re constantly pushing the envelope with features that benefit them.

15 comments on Our Exhaustive Shipping Project – What We Learned and What New Features We Added

  1. Oke says:

    Good project, Adam. Yall really thought everything out and would be great to see how sells and feedback from customers are in the coming weeks. The only thing I will add is to also place the actual day with the date the package will get to the destination. In that case, people wouldn’t have to look at the calendar to see which day it actually arrives.

  2. Dave says:

    Really interesting post Adam. It makes me wish I had a developer on hand to do custom things like this.

    Shoot me an e-mail if you have a FedEx or UPS rep that I might be able to speak to. We’ve been doing all of our business through USPS for now, I tried to get in touch with both UPS and FedEx regarding business accounts and it was almost impossible. I’d rather deal with somebody direct if you have a name/number.

    • Adam McFarland says:

      Dave – unfortunately our rep is regional to Upstate, NY so they probably wouldn’t be too much of a help. What happens when you call FedEx? Do they just not respond? You might have to just open an account online and pay regular rates for a while to get their attention. I think the rep only comes into play once you hit a certain volume.

      • Dave says:

        Since I have a day job, their business department is only available during the day. They call my home office, leave a message saying to call them…and it’s just a generic voicemail. So it just keeps being a loop lol. Oh well, I’ll probably be doing what you said..we’re spending about $3k/month with USPS as is, I thought it would be enough to garner a little attention.

        • Adam McFarland says:

          That stinks. I agree that what you’re doing should garner some attention right off the bat. But be patient, it took us years before we finally got any attention at all, and just yesterday finally met our new local rep who is the correct rep for the volume we do. Personally, I think FedEx is hands down the best shipping option so it’s worth a little extra patience on your end to get in and get the rates you deserve. When it comes to locating lost packages and filing claims they are great to deal with.

  3. Nev says:

    Freakin sweet! Great work and great post!

  4. Tim says:

    Crossing your T’s and dotting your lower case j’s keeping track of the little things separates the good from the great – well done!

  5. [...] had a good suggestion for our shipping estimate feature in the comments on yesterday’s shipping post: The only thing I will add is to also place the actual day with the date the package will get to [...]

  6. [...] that we couldn’t return a shipping quote from the FedEx or USPS API.  As you can tell from our shipping study, we take pride in accurately quoting and not just trying to get it right on average.  It’s [...]

  7. [...] in September when we did our exhaustive shipping project on Detailed Image, one of the more interesting features was a system we developed to estimate the [...]

  8. [...] mentioned on a few different occasions that offering free shipping all of the time, say for orders over $100 or $200 [...]

  9. [...] background, I hope we’re able to do more of what we’ve been doing – like this shipping study from a few years ago, which I’ve continued to do yearly – as well as investigate things that we [...]

  10. [...] of the box, weight of the box, and destination always seemed to be the most fair thing to do. Our shipping study in 2009 (and subsequent follow-ups) confirmed that we were doing just that. We were content with running [...]

  11. […] shipping journey began back in 2009 when we did our first exhaustive shipping study. Since then we’ve continued to analyze our shipping numbers and take calculated risks, the […]

Leave a Reply

Your email address will not be published. Required fields are marked *

Commenting Rules

Wow. I'm honored that you found this post interesting enough to leave a comment. Before posting, I have a few ground rules:

  • Please keep your comments as relevant to the post as possible.
  • No personal attacks or any other nastiness.
  • Your first comment is subject to my approval.

Thanks!