Typically our busiest shipping day of the week is Monday. This is pretty intuitive, given that we’re shipping out orders from Friday afternoon through our 1 PM same-day cutoff on Monday afternoon. Three-day weekends during our peak season, such as Memorial Day, Labor Day, and (sometimes) July 4th, when we’re also typically running a big sale, are even busier. And as we’ve grown over the years, those peaks have become even greater proportionally. Essentially, it’s easier to find growth during a big sale in peak season than it is to find additional sales on a random Thursday in January.
This presents us with a problem that came to a head in 2018: our warehouse team struggled to get all orders out on these busy days. Whereas in the past we could skip processing incoming shipments, or have someone from the office come out and help, and still get to everything, that wasn’t good enough last year.
Over the years we’ve learned that it isn’t acceptable to just ship an order a day later than what we quoted the customer during checkout. Detailing customers place a high value on shipping speed, and our overall fast shipping and accurate delivery dates have been a huge advantage to us. Enthusiasts tend to detail on the weekends, so receiving a package on a Monday instead of a Friday is a big deal. Business owners sometimes have scheduled details where they need supplies to get the job done, so having a package that you needed on Tuesday arrive on Wednesday is also a big deal.
Staffing up on just Monday’s is hard. Think about it – do you know anyone who wants a part-time job from 7 AM – 3 PM on just Monday’s? Probably not.
We also didn’t want to expand our hours, which is more of a lifestyle decision for us and our employees. If our warehouse is open, I typically need to be somewhat available in the event of a technical issue processing orders. As do Mike and Greg for various other reasons. If we opened at 6 AM, or did night-time or weekend shifts, that would be a detriment to our quality of life and to our employee’s quality of life. We do typically run one weekend shift per year (the Sunday after Black Friday), but asking all of us to give up a day of our Memorial Day weekend or Labor Day weekend isn’t something we wanted to do.
So, with all of those constraints, we started brainstorming ideas. We considered offering an incentive for slower shipping, similar to how Amazon offers “No-Rush Shipping”:
But what should we offer? A credit? How much? We would need to run tests to determine what % of users would go for such an offer, and even with that data there’d likely be some variation. What if people took the no-rush offer during Memorial Day, but not during Black Friday? There were just too many uncertainties.
We also considered a tiered system, where our wholesale customers and best customers shipped out first, but again as we dug into it there were more questions than answers.
What we decided to do was a simple package cutoff, which in reality turned out to be quite a complex programming effort. But it worked great when we tested it over the long Christmas weekend (we were off from Friday 12/21 at 4 PM through Wednesday 12/26 at 8 AM).
Here’s how it works:
- On our back-end we’re able to set a package cutoff for any upcoming shipping day. We use historical data along with staffing information to aid us in picking the number.
- Once our shipping queue contains more than that number of packages, the cutoff is triggered. We’re all sent an automated email so that everyone is aware of the situation.
- Orders from that time until our 1 PM shipping cutoff are estimated to ship the following day, along with a message that the estimated ship date “has been adjusted due to high volume” (see image below). We decided to do this to be 100% transparent to our customers who expect that 1 PM same-day shipping.
- When a customer completes checkout, these new estimated ship and delivery dates are reflected in their My Account page and in the confirmation email that we send to them.
- These orders are placed in a separate queue. At 4 AM the following day, they get moved over to our regular shipping queue.
- If a customer complains or really needs their order sooner, we can move just that single order over to our regular shipping queue and process it. Previously we had no way of doing this without running an entire batch, or manually moving all of the orders you don’t want to ship out of queue.
- If the warehouse team gets ahead, they can move the whole batch over and get those orders out a day early.
- In the event of a late arrival due to snow, or several employees calling in sick, we can trigger this immediately by entering in a number that’s lower than what is currently in our shipping queue.
We’ll see how well this works once we hit prime time in the Spring, but as of right now we’re really happy with this feature. It’s hopefully only a very minor inconvenience for our customers (again, if they complain we will ship them immediately). In exchange, we have all sorts of organizational flexibility within our warehouse. We can hire based upon everyday need instead of trying to find people to work 1-3 days per week including Monday. We also prevent the problem of having an ultra busy Monday followed by a busy Tuesday, followed by a less busy Wednesday – Friday. This spaces out the work for our team, which our warehouse manager appreciates and reduces the frequency that we have to ask people to work late on Monday only to cut them early on Wednesday.
And lastly, it’s a big stress relief for my partners and I who are overseeing all of this and are ultimately responsible for keeping both our customers and our staff happy.