Does Shopify Scale?
Many people looking at the various options for shopping carts when starting a new online store are directed towards services like Shopify and Bigcommerce. There is a good reason for this, they are easy to set up. Selling online is hard enough, most people think, without having to have a technical and operational understanding of the actual back end systems. The issue with this approach I believe is that in order to sell online well you ought to have at least one person on your team who has this level of understanding both technically and operationally.
The core question though is ‘does Shopify scale?’, so I should probably start by defining what I mean by scaling in this context. When we ask whether something scales we are really talking about leverage and growth; can the effort you put into building or configuring a system be leveraged to grow the desired result (in online stores usually sales) while requiring less additional effort per unit of sales. The short answer to this is yes, Shopify can theoretically scale infinitely along a number of metrics with zero user intervention, for example site visits. Shopify will in most cases handle millions of visitors. So Shopify scales, that is the end of that, right?
Sadly no, while growing an online store requires scaling a number of metrics and areas including handling traffic, many other metrics break down very quickly when you use a system like shopify. The underlying architecture is simply not made to handle these use cases, and arguably the plugins built for it are significantly worse. In addition you will likely hit a wall at some point where you will require a complete re-platform due to these inherent limitations.
Let’s take the perfect example of how Shopify could allow a team to “scale” an online business. The team has two products, Widget A and Widget B. They both only come in one size and have no colours or any other configurations. Purely speaking each one of these items is a single SKU (stock keeping unit). So Widgets.com launches their store and immediately they get written up on wired as being literally the best widgets ever invented. The team was smart, so they made 200 million of each of these SKUs just in case this happened. So they have a warehouse full of stock just waiting to be shipped and thousands of warehouse workers ready to ship it.
You may already see that we are in trouble, but let’s push on. So now the widgets.com team is selling 50k units per day, and their warehouse is handling this perfectly, all the items are dispatched via drones to their waiting consumers and the world is full of rainbows and unicorns.
Unfortunately we are about to run into some major issues…
- Customers start requesting to swap Widget A for Widget B.
- The widget.com accountants are asking how they are supposed to work with these sales figures since they don’t even have a cost of sales or profitability chart or even any way to measure either of them.
- The warehouse team inevitably start making mistakes and sending orders to the wrong customers, now some customers are receiving two Widgets and some none!
And so on and so on.
How can we resolve these issues? Shopify has no built in functionality to efficiently handle any of these scenarios. Any third-party app that you tried to connect to pull down 50k orders per day would simply hang. So no Xero integration for you accounts team! And no slick warehouse management software either unless you manually connect the warehouse systems to your shopping cart via a bespoke integration.
The problem is that even for this trivially simple case Shopify breaks down. All you have are TWO SKUs and all you are doing is selling a ton of them. That is about as simple as anyone starting an online store could want, and yet Shopify will realistically struggle to scale with you.
I am going to stop here in case you have read the Rovio article on the Shopify site about how they were able to get a store up and running in a few days and sell millions of angry birds plush toys before christmas a few years ago. So I must be crazy then, because if Shopify can handle Rovio’s site then surely it can handle yours? The answer is likely to be no, it cannot handle your large scale store. Mainly because your large scale store that is growing rapidly is unlikely to have the initial resources to hire a third party logistics company to manage the chaos that will inevitably be spewing out of the Shopify backend. The sad truth is that you could probably pull off the same trick of running that Rovio site from a number of platforms with no issues. On the front end. It is the back end systems where the pain comes in and where you can quickly haemorrhage cash with warehouse errors, customer service issues, and other general inefficiencies.
So how is this the fault of Shopify? It is the fault of Shopify because if you are lucky enough for your site to be successful pretty much everything that went into managing the back end processes will need to be thrown out when you decide to scale the business up and move to a new platform. Maybe that is something you are willing to deal with, but it is completely disingenuous for Shopify to claim that it will scale up to allow you to be the next Walmart. It simply cannot, because Wallmart is 5% front-end and 95% backend. Shopify arguably doesn’t even handle the front end all that well, though it certainly makes it easy to get a decent looking site up quickly.
I feel like Shopify glosses over a lot of the hard things about selling online in a way which makes it appear to be easier than it is. There is definitely something to be said for getting a site online in a few hours and being transactional, but the problems that will arise from that are going to be fundamentally intractable if you do not have external systems to augment the missing features in Shopify, especially with regard to accounting and pricing, and especially if your are lucky enough to see your site grow quickly.
In the end the simple act of asking if Shopify scales probably excludes you from being a good candidate to use it.
This is an expanded version of an answer I wrote on Quora. It can be found here.