Net Promoter Score (NPS) Example Code

Orb
Photo by Jjjohn

I first ran across the Net Promoter Score through a post by Eric Ries and it seems like a simple but effective measure of how happy your customers are. Its beauty is how basic it is, which both makes it easy to interpret and straight-forward to gather without annoying your customers.

Unfortunately there don't seem to be any off-the-shelf solutions to help gather the information. In the past I've created surveys through companies like SurveyMonkey, but that's both a pretty intrusive experience and they don't give you any way to calculate an NPS without downloading the raw data into Excel and doing it yourself!

What I wanted was a way to survey my customers from within the site, without sending them to an external page or another window, store the results on my own server and then have a simple way of viewing reports on the data over time. Since there was nothing else out there, I wrote a simple Javascript/PHP/MySQL module to handle these requirements, and since I'm sure there are other people who could use something similar and I hate seeing wheel-reinvention, I've released it under a BSD license.

It works by randomly bringing up an in-page popup, asking the user whether they'd recommend the service to a friend, and then requesting any other comments. The data gets passed back to the server and stored in the database, where you can then get a very basic HTML report, or pull the data as JSON to pass into your metrics pipeline, for things like daily email reports.

You can download the code here:
http://code.google.com/p/npspopup/

If you want to try in action, here's the demo page:
http://web.mailana.com/labs/npspopup/index.php

I'm testing it on my own site but the code is still pretty pre-alpha, so don't be shy with bug-fixes and other modifications.

Lean Startup Workshop Review

Workshop
Photo by Dammit Jack

Eric Ries is on a nationwide tour for the next couple of months, and I was lucky enough to attend his Lean Startup Workshop right here in Boulder. If you're not familiar with Eric's work, he's a serial startup founder who's made it his mission to save the world from the avalanche of tech companies that fail. At the start of the workshop he brought up a wall of well-known web 2.0 company logos, with all the dead ones marked. It was sobering, but what really drove him crazy wasn't that most failed tech startups never had a single paying customer!

The Customer Development process is aimed at solving that problem, and Eric started us off with a little taster by splitting us up into groups to write down a description of who we thought the customers of the workshop would be. We then took those descriptions and tried to turn them into yes/no qualifying questions that we could use to distinguish customers from non-customers.

After that I had a chance to quiz Eric about one of the underlying assumptions of the philosophy, that market risk is far more important these days than technology risk to software startups. This wasn't true in the dot-com era, it took millions of dollars and obscure technology to build an interactive website, and a lot of the startup world has been slow to adapt as things have changed. As he put it, democratizing technology means the technology risk is reducing.

This is a bitter pill for me to swallow in some ways, my background is tech-heavy so it would be to my advantage to have more technical barriers, but as an unfunded startup it's also amazing how much I can accomplish on a shoestring budget these days.

Eric spent the rest of the workshop doing a fireside chat as we went through his slides. My favorite part was the cringe-inducing video of Ali G pitching his 'icecream glove' to VCs. I defy any entrepreneur to watch that and not feel a twinge of recognition. What I got out of the talk was a much stronger grasp of the customer discovery process. He spent a lot of time talking about their experiences at IMVU, as all the pesky teenagers using the service prevented them getting in touch with who they thought their real customers were, stay-at-home moms. Of course the punch-line was that their real customers, at least at first, were those kids and they had to learn to build the business around them.

One of his observations was that there was no substitute for bringing in customers and having a face-to-face chat with them about the product, the bandwidth is massively higher thanks to body language and other subtle clues. The same goes for this workshop, compared to reading Eric's writing. We had a chance to ask questions and to watch Eric jam on a topic, really getting across the experiences that drove him to his conclusions.

A lot of my focus has been on the metrics side of the process, maybe unconsciously because as a techie that's a lot less threatening than spending lots of time meeting people! The workshop helped me take a wider view of Customer Development, but it did also make me wish there were more tools being shared for some of the common techniques. I've posted some code to generate a simple daily metrics email, and it sounds like Eric might be working with KISSmetrics to produce an A/B testing framework, but there's still a lot of us reinventing things like a NPS popup and recording system. I'm hoping to put some of these components into the Lean Startup Wiki over the next week.

I'd highly recommend this workshop to anyone who wants customers for their startup, it's a great way to learn both from Eric himself and from the like-minded people who'll be there with you. Check out the wiki or Eric's blog to see if there's going to be one near you.

Three books for entrepreneurs

Threebooks Photo by Tim Green

I don't like Fred Wilson and Brad Feld's entrepreneurial books you should read before you're 21. Actually, I love most of the books they mention, but they're the same list I'd recommend to anyone who wants a positive and fulfilling life. You need a special brand of insanity to be an entrepreneur, and stories from the trenches are a much better introduction to that world.

Read these three books, with all their years of painful struggle, frequent failures and rare shining moments of achievements and picture yourself going through the same journey. For me they're inspirational, but a lot of people seem to run away screaming when confronted with the reality of startup life.

The Mousedriver Chronicles

Two MBA students are inspired to turn their business plan of a computer mouse shaped like a golf driver into reality. They start off with no clue how to sell or even make the product, but they spend a year working extremely hard and by the end they finally start to take off. The best part is their honesty about the grueling process of connecting with the right people. They would literally be cold-calling companies from the yellow pages, and if they got someone vaguely sympathetic and knowledgeable, pump them for any help they could.

Starting Something

Wayne McVicker was a founder of Neoforma, a healthcare startup that IPO-ed in the dot-com boom. What marks the book out as something special is his focus on the failures and disappointments that accumulated as he built his company, and his personal run-ins with depression. What kept him going through the dark times was the "hope that someday it would again deliver amazing value to customers", and that shines through his story.

No Vision, All Drive

Pinpoint went through multiple near-death experiences to a very successful exit, and David Brown chronicles everything from the early stumbles to the final sale. Despite the title they did have a vision, but it was just to serve their customers incredibly well, and the book shows much work and struggle it takes to turn that simple phrase into reality. The strength of the book is how well the employees are sketched. My favorite part of being an entrepreneur is that if you're successful, you have a massive positive impact on everyone around you. The employees stories show how Pinpoint literally changed their lives, not only giving them a salary but helping them develop new skills and finally sharing in the company's acquisition.

I’ve never won with (just) a great idea

Lightbulbexplodes
Photo by Eqqman

For the successful products I've worked on, the process has always been like this:

1 – Take an general idea (eg there's a lot of valuable data in everyone's inbox that can be used to solve problems)
2 – Think through some practical applications and users
3 – Prototype the product, and try it out on people
4 – Take what clicked, if anything, and repeat steps 3 and 4 until you have something awesome

I have a bias against big visions, pre-market analysis, or even having a detailed plan up-front. I prefer to bet on my ability to execute the product development stages really well and end up in a good place.

This is not how most people work, and it's definitely not what potential investors and other people involved in evaluating a startup want to hear. I've spent the last few months focused on selling other people on my ideas for where I can take the business, rather than iterating on the product. What I've found is that I'm just not that great at communicating a grand vision. In my heart I believe you always start off with a product that sucks, and you find your way to Jesus through your interactions with customers.

With that in mind, over the next couple of months I'm going to play to my strengths and focus on getting more folks using Mailana and helping me improve the product. If you're interested in helping, please sign up for beta testing!