Kickstarting an Online Marketplace – The Chicken and Egg Problem

Online marketplaces are a unique subset of online services in that the service they provide is “behind the scenes” compared to traditional user facing services / products. Marketplaces provide a platform for service / product providers (lets call them publishers) to offer their goods and for people who are interested in that good (lets call them buyers) to find it online, and then facilitate a transaction between the two.

The biggest difficulty of building an online marketplace is balancing supply with demand – supply being the variety of goods offered on the service (and their quality) and demand being the amount of visitors that are exposed to those goods, and their willingness to buy it (conversions). If you have too many publishers and not enough buyers, publishers become disillusioned and leave your service. If you do not have enough variety or low quality products, most of the visitors to your marketplace will never become buyers (and probably will not return). When adding multiple products another challenge with some ecommerce websites is to find broken amazon links and keep on top of them.

Lets define some terms:

  • Visitors x conversion rate = Buyers. Note that conversion rate will vary between different products offered on the marketplace.
  • Buyers x sales per person (includes returning buyers) – Sales
  • Sales / products = Liquidity (Thanks, Simon Rothman)

Liquidity of the products on the service determines whether your marketplace will be successful or not. It  changes depending on the type of products (and their cost), and the expectations of the publishers. The problem of establishing strong liquidity is especially pronounced at the beginning, when you have neither type of audience (buyers or publishers). How do you bring one without the other?

Solving the Chicken-Egg Problem

The Chicken-Egg problem is a known metaphor for recursive problems. How do you obtain a chicken without an egg? and how do you obtain an egg without a chicken? (and without visiting the local supermarket).

There are a few ways to approach this problem:

  • Provide standalone value in addition to listing products on the service (example, product / inventory management tools)
  • Grow in-house inventory (publish the first products on the marketplace by yourself)
  • Create a different incentive to one of your audiences – typically the one that provides more value (usually the publishers)

Those approaches are covered beautifully on the platforms and two-sided markets blog (a must read for any aspiring marketplace builder). The approach you might want to take depends greatly on type of products or services offered on your marketplace, the target audience and the viability of each method accordingly.

What we did at Binpress

Instead of giving a dry breakdown of each approach, I want to go over what we did at Binpress. We went for option #3 – producing an event for out publishers to incentivize them to create the initial inventory. A quick overview of Binpress – It is a marketplace of curated code components for common needs in software development. Sort of like Github meets Shopify. Our publishers are top developers who have mature code solutions they would like to publish under either a free or commercial open-source license.

We produced a programming contest, bearing $40k in prize value – and we did not invest a dollar into it. As a bootstrapped startup we don’t have that kind of money, so we instead compensated with resources we do have – time and hustle.

We contacted dozens of companies that are relevant to our target audience (software developers) and that our audience is relevant for them. We asked each to put some value of the prizes – either as cash, giveaways or service credits – and to participate in promoting the event to their existing audience. This is what we came up with in the end.

We got companies such as Google, Microsoft, Amazon (AWS), Paypal, Conduit, Github and many more to participate. For every company that did participate, there were 2 that didn’t, so you have to really work those contacts and follow-ups hard. We got known figures in the development community to judge – such as John Resig and Jon Skeet amongst others.

The contest ran for a month

There are no x10 developers, but there are certainly 1/10 ones

I keep seeing the term “x10 developer” pop up recently, and I think it’s misleading and leads to a rock-star / primadonna culture that benefits no one.

“x10 developers” are, in fact, proficient developers, who are experienced with their stack and problem domain. Once you get to this point, you can still find room to optimize – some people are inherently more focused or talented and you can always gain more experience, but the difference between developers who are proficient at what they do will never be a x10 multiplier – it will be closer to a variation of 30-40% in productivity. In some extreme cases (super experienced, focused, and naturally gifted), you might even reach x2 times productivity over a baseline proficient developer (I’ve seen it in action).

On the other hand, you have developers who are simply not proficient. They either have no aptitude for programming at all, or are so inexperienced that progress is very slow as they are learning everything as they go. Those are the “1/10 developers” and they make proficient developers (i.e, professionals) seem like x10 developers.
Continue reading There are no x10 developers, but there are certainly 1/10 ones

The Real Cost of Software Development

In a previous lifetime (until about 3 years ago), I was working at a software development firm as part of a small webdev-shop team of 3. Our focus was building MVPs for aspiring entrepreneurs, file guiding them through specifications, user-experience, product decisions and marketing (we called it “concept-to-launch”).

Coming across a heated discussion a couple of days ago on Hackernews over an article titled “30 pounds in 30 days”, took me back to the time we were educating clients on the cost of software development. I would like to offer my perspective on outsourcing, cultural difference and the overall cost of outsourcing software product development.

(For the short summary, skip to the TL;DR below)

Continue reading The Real Cost of Software Development

Developers vs. Bigcorp

With all the rage recently on Twitter’s changes to their API and how it affects developers and their apps who rely on it, it’s easy to forget that Twitter is hardly the first major tech company to take such an approach to lifeblood of its ecosystem.

Yes, most of the large tech companies today are taking a hardline approach when dealing with developers who use their platform, treating them with entitlement as they hand down “our-way-or-the-highway” rules and regulations that leave little recourse when things go wrong.

Continue reading Developers vs. Bigcorp

Generating graphs from MySQL table data

Graphs and charts are a useful visual way to view historical data – they make it easier to detect trends and get a big-picture view of data. All we need is timestamped data – table rows that are stamped with a specific date/time format, that can be used to group rows into time periods.

Time stamped data

In order to aggregate table data by time periods / ranges, we need a date/time column in the table we want to analyze. Appropriate types for such a column include TIMESTAMP, DATETIME and DATE, but we can also use string / numeric types for grouping data together if they contain some sort of date/time information – though those will be much less flexible than native date/time types.

I usually opt to go with the TIMESTAMP format, for a couple of reasons – Continue reading Generating graphs from MySQL table data