Why In Stock Didn’t Work

fail

When I started In Stock, I focused on a few key problems I identified with the first time someone attempted to build a local version of Amazon. The two most prominent attempts were made around 2013 (right when I was starting Beyond Pricing): eBay Now (which was born out of the acquisition of Milo) and Google Shopping Express.

Both services sought to deliver products from local stores faster than Amazon. When I talked to former execs from both companies and asked them why it didn’t work, I identified a few key problems In Stock would need to solve:

  1. Aggregating the inventory

Back in 2013, the inventory systems of major retailers (not to mention small independent stores) were incredibly antiquated and difficult to access. It was really hard to get access to these systems (long biz dev cycles, etc). Fast forward to 2020 and getting inventory by store was as easy as scraping the stores’ websites, almost all of which had this info readily available. For small stores, the adoption of Shopify, Square, Squarespace, Lightspeed and other eCommerce solutions similarly provided easy access to small store inventory.

  1. Delivery costs

It was costing Google Shopping Express nearly $25 per delivery (compared to the $4 or so that Amazon charges the average Fulfillment By Amazon customer to deliver a package). There were a variety of reasons for this (narrow delivery windows of just a couple hours vs 2-day delivery for Amazon, hub-and-spoke delivery model that had Google running orders from stores to a warehouse and then back out to recipients, etc.) We needed to figure out a way to deliver for under $4 per order.

  1. Average Order Value (AOV) and Order Frequency

We took a look at Amazon Prime users and saw that they spent a little over $40 per order and ordered twice a month on average (though subsequently we’ve seen data suggesting it’s as high as 4x per month).  We needed to figure out how to get people ordering at least 2x per month with an AOV of $40 to match the stickiness and frequency of Amazon.  If basket sizes were smaller or frequency lower (with similar basket size), it wouldn’t work.

  1. Take rate

Amazon takes 10-15% from sellers on its site.  Would physical retail stores be willing to give up a similar margin? 

When we went through YC and talked to the brave pre-seed investors we raised money from, we focused on proving out those 4 things. If we could prove that we could quickly aggregate local inventory so that you could find everything you can find on Amazon from local stores and delivery it at under $4 same-day with a similar AOV and frequency as Amazon, all while taking at least 10% of each transaction, we could build a distributed, local version of Amazon that could deliver the same items as Amazon but faster (all while saving local retail). 

So how’d we do?

  1. Aggregating the inventory

We quickly were able to get to inventory parity with Instacart (for non-grocery stores) and close to parity with Google Shopping by aggregating big box inventory from Target, Best Buy, Home Depot, Ace Hardware, DICK’s Sporting Goods, Walgreens, CVS, Office Depot, Bed Bath & Beyond, Petsmart, Macy’s, JOANN’s, and Guitar Center, with many others in the pipeline. We were adding 1-2 new nationwide big box stores every week spanning over 45,000 individual locations (that’s more than Instacart). Beyond that, we built a way to aggregate inventory of small, local stores and added 100s of those with a path to quickly adding 1,000s more. 90% of the time you searched for a product on In Stock, you’d find it at a local store. We thought that was pretty cool and impressive.

  1.  Delivery costs

We ran our first pilot in our hometown of Santa Cruz (a lovely beach town just over the hill from San Jose). The County is about 300,000 people which was a good test for whether we could make this work in tertiary markets. Within 3 weeks, we were getting 20 orders per day. Most importantly, we were able to deliver at least 5 orders (including pickups from stores) in an hour. At $20/hr pay for drivers, that got us under $4 per delivery. Here’s a great example route if you’re curious: https://www.linkedin.com/posts/ianmchenry_how-does-in-stock-get-delivery-down-below-activity-6760364374508081152-mOb- 

It was clear that we could drastically increase density with more demand and probably drive delivery costs down to below $2.  This was the most shocking finding for us and what we were most excited about.

  1. AOV and Frequency

Without really trying to drive up basket size by nudging people to add-on items, we organically came out to around $40 per order.  Of course, this ranged from $10 orders to couple hundred dollar orders, but it all averages out to almost exactly what Amazon sees.  Frequency was around 2x per month until we launched our Concierge service, which allowed you to text us any link from Amazon and we’d find it locally and deliver it to you same-day.  For our small group of test users, we saw 6x per month order frequency as they effectively moved all of their Amazon purchases over to In Stock.

  1. Take rate

Rather than create upfront friction by asking for a 10% take rate from stores, we basically hacked our way to getting at least 10% off the retail price from most merchants through a combination of coupon codes and credit cards. For instance, Target and many others have cards that give you 5% back. Bed Bath and Beyond gives you 20% if you sign-up for their Beyond+ program. Local stores consistently have 10-20% off codes. The idea was that we’d get our margin there and eventually, when we were bigger, work out a formal deal and go to the stores and say, hey, we’re already getting 10% off through these codes; why don’t we formalize this?

So Why Didn’t In Stock Work?

At first glance, we had achieved the impossible. We’d something that worked and that was, as one customer put it, faster than Amazon and cheaper than Instacart (turns out people hate those not-so-sneaky 15% markups on their items). And the unit economics worked, most importantly! 

We failed because we didn’t focus on THE key driver for a consumer company: how to be 10x better.

We were better but not 10x better.  Another YC company that recently raised a big round after going through a pivot, Airbyte, recently summed this up pretty well. We had built what we thought was a “better mousetrap” but you actually don’t want to build a better mousetrap. As they put it, building better marketing automation software sounds like a great idea (huge market, current products have things people hate about them, etc.) but in reality you’re stuck fighting against a much bigger, better-financed rival who already has the mind-share and the money to maintain the mind-share. For all its faults, people still use Marketo and Hubspot and building a better version of the same thing is not how you’ll win.

What really drove the point home for us was watching our super-engaged Concierge users slowly reduce the frequency with which they used us, going from 6x per month to 2x per month to barely monthly in the course of a few months. 

When we dug in, we realized that 10% of the time, we couldn’t find them a suitable local alternative to the item they found on Amazon. 

This might sound like not a big deal (90% of the time we found the same or a similar item available locally for the same price that could be delivered faster! What a win!) but the reality is that the cognitive effort of then having to go back to Amazon to get the item built up.

We weren’t the everything store so what were we? 

The pain of not being able to find what you want 10% of the time turned out to outweigh the benefit of getting the item (slightly) faster.

This last part was really the nail in the coffin. Most items on Amazon are going to get to you in 24-48 hrs. More and more it’s less than 24 hours (like the box of Crayola markers I ordered for my kids at 6pm and arrived before I got home at 4pm the next day).

Two things were at play:

  1. Some items you want soon but you don’t need in 30 minutes so the marginal benefit of getting them faster is less than the pain of searching for them on another app;
  2. The difference between 6-12 hours (like In Stock was doing…though sometimes it was as few as 3 hours) and 18-24 hours is again very marginal.

So in the end, we focused on all the right things except one: building a 10x better experience.  

I still am not sure what that experience looks like but my guess is DoorDash or Instacart will power it. We’ll see.

What’s Next?

I swear half of the reason I started a new company a few months after stepping away from my first company was because everyone kept asking me “what’s next?” Right now, nothing is next. Every time I have an idea for something I wish I existed, I look for people smarter than me or with more domain knowledge than I have who are already building it and try to angel invest in them. But I am really struggling with the psychology of having had a successful first company and a failure of a second company. If you’re a founder who’s had a similar experience, I’d love to chat. Justin Khan’s videos and thoughts on the hedonic treadmill have been incredibly helpful. When you build a $100m company, you feel like you need to build a $1bn next. You feel like you have the golden touch and that all your success was because of your special, unique talents and insights. And when you don’t, you realize how much success is luck and timing. It’s very humbling. But it’s an important worldview shift that helps you have more compassion. Much of our success is a product of our luck, whether it’s being born in a certain country, born as a certain race or gender, born into a certain socieconomic status, or just having a lucky or chance encounter that changes our fortunes.

Which is a long way of saying, this time, nothing is next.

Appendix: Some Learnings for DoorDash and Instacart (or anyone else)

DoorDash and Instacart are the best positioned to take on Amazon and help local retail compete. The reason is simple: they have the WAU (weekly active users).

Whether restaurant delivery or groceries, both of these are weekly habits that have created a loyal customer base for each. They don’t actually have to create a 10x better experience in other categories. Simply by adding local stores to their menu of items you can order, they can sell more things down the same channel.

Both of them have started to do this, but obviously have a long way to go. Not that they asked, but here are the things that they (and local retail) need to get right to compete with Amazon.

  1. Out of Stock Rates

A friend told me Instacart has to make a substitution for 12% of items. Think about if when you clicked buy on Amazon, 1 out of 8 times they told you hours later that they’re so sorry, they don’t actually have that item in stock. That has never once happened to me on Amazon. Physical retail stores need to improve how they keep items in stock, which is actually a pretty complicated problem. There are lots of startups attacking this (ShelfEngine, Jyve and others) but it’s far from a solved problem.

We had developed a pretty great work-around that was made possible by knowing every place around that had the same item. We’d simply do a hot switch and if we got a notice that Target was out of, say, Bounty Paper Towels Select-a-Size, we could automatically place an order with the local Walgreens. By running a milk-run route with multiple stores, you can do this while you can’t if you’re just shopping one store like Instacart currently does.

That being said, physical retail stores need to understand that people are already enduring additional pain to try to shop local and when they actually think to order something locally and then find out it’s actually not available when you said it was, it drives them back to Amazon where that doesn’t happen.

  1. Order turnaround time

The time from when you place an order to when it’s available for curbside pickup varies greatly between store brands (and individual locations).  Some Target stores can take up to 4 hours.  Others turn it around in 20 minutes.  Some stores only check for new orders every 4 hours.  Ace Hardware, which is franchised, is probably the least consistent.  Stores need to: a) Have a clear process for alerting associates to a new order and scheduling the picking of that order; b) Have a clear standard for fulfillment times and track and improve that.

2 hours is probably a good starting point but eventually stores will need to move to 30 minutes or less (like Walgreens has). If they are going to work with DoorDash or Postmates or Instacart or any delivery service, this is essential.

  1. Driver Pickup Time

This needs to be sub-2 minutes. A driver’s time cost at least $0.33 per minute. In order to match Amazon’s delivery cost, every minute counts. Every 3 minutes it takes, costs another $1. If a service is only making 10% on a $40 order ($4 commission) plus $4 delivery, then any excess time eats into that $4 commission.

This is probably the most variable experience you’ll see out there for a number of reasons.

  • Time to lookup orders when customer arrives + details required to pickup an order

Some stores allow you to just click a button when you arrive (like Target or Walgreens) that sends the order info to the associate to make it easy.  Others (like Ace) ask you what name it’s under or what the items are.  Ideally, someone can simply click an order-specific link (since requiring delivery drivers to have the Target app downloaded isn’t reasonable) and that notifies the associate to bring out the item.  Home Depot does a great job of this.

One major issue where stores need to mirror how DoorDash works is the requiring of ID to pick up an order.  Some other form of verification like an order number is all that should be required.  It’s a stretch to think you’re going to have massive fraud from people somehow stealing order numbers and claiming pickups.  Speaking of which, don’t just make every new order 1 higher than the previous order and you should be fine.  We’ve seen stores selectively ask for ID from minority drivers (Target being the worst example but it wasn’t just them).  Just ditch the ID requirement and stick to unique URLs and order IDs.  This is particularly important when working with delivery companies because they don’t always know until after the order is placed who will be picking it up.

  • Time to locate already picked orders

Some stores have them sitting right there in the front and a devoted person ready to bring it out to you right away. Others have them stored in the back and it can take them 5 minutes just to locate the items. Stores need to have items right in front of the associates responsible for getting those items out to customers.

  • Time to bring orders out to the driver

In general, stores need to set metrics for associates to hit.  Just like someone checking you out at a grocery store has items per minute metrics (or at least my wife did when she worked at Whole Foods 20 years ago), associates need an incentive to hustle and optimize the speed at which they get orders out to customers.  Part of this is the speed of individuals and some of this is the design of the pickup process.

For instance, at Home Depot, they have an associate sitting in the parking lot.  They get a notification that someone has arrived to pick up their order.  They walk slowly back into the store to find the item and then come back out with it.  Even if 3 orders came in and there are 3 people waiting there, I’ve seen them just go back and forth one by one each time.

4) Product Assortment

Ultimately, this is what I got wrong.  I thought having 90% of what people were looking for was good enough.  Turns out, being a one-stop shop is incredibly powerful.  If people have to think “What do I go to In Stock/DoorDash/Instacart for?” because they don’t have everything, they ultimately won’t bother and will just go to Amazon for anything besides restaurant food or grocery delivery.

Curious what kinds of things are tough to find locally? Here are some examples of items that we couldn’t find locally:

Compost Aerator

Hanes Women’s Stretch Jersey Bike Short (Size Large. Target only had Size Small left in stock)

Desk Mount for a Camera (Best Buy and office supply stores often have one option. One huge advantage Amazon has is that there is every possible iteration of a given product. For this, they had every possible kind of mount and bracket and height, etc)

Cycling Sunglasses (the local bike shop had some but they were 4x the price)

Desk Mount for Laptop (Best Buy and others only have the type that sit on a desk, not that mount to it)

Anker 4-Port USB 3.0 Hub, Ultra-Slim Data USB Hub with 2 ft Extended Cable (again, there were ones with short cables and much larger available from Best Buy locally but nothing like this. You could probably sacrifice some features if you were in a pinch, but why would you when Amazon can deliver the exact thing you want in a day or two)

USB C to USB B 3.0 Cable (kind of a random cable, but nowhere locally had it and Amazon did)

MZOO Sleep Mask (the top result when you search “sleep mask” on Amazon; like many top results it’s an internet-only brand that has just iterated on the design so quickly that no stores carry anything like it. They all have sleep masks, but not 3-D contoured like this one)

Desk organizer (other places had desk organizers, but none that had a drawer combined with a hanging folder section in the back. Again, Amazon has every possible iteration of a desk organizer so you don’t have to sacrifice anything)

Adhesive Wall Mirror (these are kind of cool. Nowhere local has them).

Again, 9 out of 10 times, what people were looking for was available locally. But it’s that 10th item that sends them back to Amazon and it’s just easier to stay on Amazon and always get what you’re looking for, even if it takes 12 more hours to arrive.

A Back of the Envelope Guide to Estimating Any Software Company’s Revenue (+ Growth)

As I was building Beyond Pricing, very early on we wanted to focus on building a company based on the right ratios.

One of the best ratios I came across was the revenue per employee.

This is a great measure of how efficient you are. Both Tom Tunguz and Jason Lemkin have written great posts about this.

The main takeaway is you should target $200k revenue per employee.

Fast growing companies who are burning capital might dip down to $100k revenue per employee, but anything below that is likely not going anywhere fast and will soon run out of money.

So how do you estimate a software company’s revenue? Multiply employees by $100-200k.

Typically, the more mature the company, the closer to $200k they will be. This isn’t always the case (we definitely bucked that trend at Beyond Pricing).

Let’s look at a couple examples, using LinkedIn.

Braze has around 500 employees. They’ve been around a while, so are likely closer to $200k per employee, which would mean $100m ARR.

Source: LinkedIn

And look at that. That’s exactly what they’re at: https://www.braze.com/perspectives/article/braze-tops-100-million-arr

Looker as around 900 employees. We’d expect them to have around $180m ARR if they were at $200k revenue per employee.

About a year ago, based on employee growth rates, they had around 650 employees. Back then, they claimed to have $100m ARR. That puts them right around $150k revenue per employee, right in the middle of our range. If we use that number to update our estimate, they’d be at $135m ARR, right around the $140m Cowen estimates.

One final example with a disclosure that I know the founders but don’t actually know their revenue. Clubhouse recently raised a Series B and has around 50 employees. I’m going to guess their ARR is right around $5m.

This is further supported by a couple posts about average ARR for different rounds (here and here). tldr; Series A: $1-2m, Series B: ~$5m. I’ll let Kurt and team confirm or deny 🙂

As far as growth, in general, I’ve found revenue growth to typical be 50-100% higher than the employee growth shown on LinkedIn. For instance, looker had employee growth of around 40% according to Linkedin from 2018-2019 but they reported 70% ARR growth. This more or less matches what I saw at Beyond Pricing as well.

By the way, this is often what analysts at venture capital and private equity firms are looking at. So don’t be surprised when your employee growth rate is above 50% (meaning you’re likely 2x-ing or more) and your employee count is approaching 50 to get those calls from Series B investors. I know we did!

A final note: this is only for US-based software companies. They don’t really apply in other countries where labor is much cheaper or other industries, where average wages are much lower.