Marketplaces are hard

2013-07-13 5 min read

    There are countless posts discussing the business and marketing challenges when building a marketplace but I wanted to discuss the issues on the tech side. While we ran into technical challenges building Pressi they were mostly issues with scaling and dealing with the various social network APIs. With Makers Alley, we didn’t run into scaling or API issues but had to deal with a ton of functionality in order to be seen as a credible marketplace. Individually, the features are simple for an intermediate developer to build but there are a lot of them with varying degrees of nuance and logic that need to be worked out.

    Note that some of these issues are only applicable to “maker” marketplaces where the merchants make the pieces to order. In those cases, I refer to them as makers rather than merchants.

    In no particular order:

    • Payments: Stripe and Balanced have made this significantly simpler but one thing to watch out for is that you will need to have a merchant signup process to collect the required regulatory information if you want to automate disbursements.
    • Shipping and Tracking: Makers take a different amount of time to make each piece. Buyers should know this information before placing an order and makers need to be able to change it depending on their schedule and order load. Merchants need the ability to mark an order as shipped and possibly provide a tracking number to the buyer. You should notify buyers when their order has shipped.
    • Logistics: While you're not holding inventory, you're charging customers and expect the merchants to fulfill their end of the agreement. How do you deal with a merchant sending an order late or not being able to fulfill an order? Do you want to have merchants approve every order they receive or do you assume that they'll be able to fulfill it? How about a single order containing items from many merchants?
    • Returns: No matter how good the products are there will always be someone who's unhappy with an item and you need to have a return/refund policy. For small items it's simple to figure out the logistics but how do you deal with someone wanting to return a dining table to a merchant a few states away? Where should the item be sent and who's responsible for paying the shipping and handling cost? What happens to the returned item?
    • Messaging: We discovered this a bit late but customers really want a way to talk to the merchant. Some buyers will want to customize an order and may want to both send exchange photos with the merchant to make sure they're getting what they want.
    • Shopping Carts: There are a bunch of existing solutions out there but we weren't able to find one that fit the needs of a two sided marketplace that supported customizable product options. there are a lot of things we take for granted when using a full fledged site like Amazon - making changes to your shopping cart, buying from multiple merchants, applying rebates and discounts, and getting recommendations. A possible edge case is merchants running out of inventory while someone is going through the checkout process.
    • Orders: Both merchants and buyers need to see a history of their orders. The implication is that once an order is placed it needs to be immutable and timestamped so that changes to the items are only reflected going forward. In addition, orders can get messy since a single order may be spread out across multiple merchants and items. What happens if one merchant can fulfill their half of the order while the one can't? Do you issue a refund for part of the order? What if the customer only wanted the items as a package deal?
    • Taxes: At some point you need to start dealing with taxes with each state having their own regulations and rates. We haven't implemented the details here yet but I suspect interstate commerce can get complicated quickly.
    • Reviews: Before a purchase, buyers want to see reviews of an item. After a purchase, buyers may want to rate and review the items. Should merchants have the ability to respond or challenge a review?
    • Search: This is a big one. Buyers need to be able to quickly find what they're looking for or they'll give up and go somewhere else. What criteria can users search for? Are you going to deal with typos and misspellings? Should you support faceting? How should you tier your prices? Do you need to support geospatial search? This is probably the biggest piece that requires understanding your audience and tailoring the search experience to them.
    • Images: It's rare that someone will buy a physical item without at least seeing a picture of it first. Makers need a simple way to upload multiple images and change the order in which they are displayed. The code should also be smart about generating thumbnails that can be used on different pages - search/listing, product view, shopping cart, etc.
    • Changing Inventory: Makers will need to be able to modify and remove what they're selling. At the same time, you need to have a record of the history so that buyers and makers can look at prior sales.

    Most of these issues can (and should) be handled manually at the beginning either through the backend or through email but this approach won’t scale. The goal is to be able to support the various use cases even if they have to be done manually. This will make you look credible to your customers and also give you a sense of which cases are the costliest and need to be automated. Technology shouldn’t be the primary focus for a marketplace business and you will most likely fail due to a lack of users on one of the sides. At the same time, the technology behind a marketplace isn’t simple since you’re basically smashing together an ecommerce site with a social network. If you have any additional thoughts or questions definitely let me know and I’ll try to help.