How Bundling Doubled The Income of ''

I couldn't bring myself to use the original headline, "This one simple trick doubled my income!". But I'm happy to finally be one of those people who made a simple adjustment to their business and turned around a month later to report that income had doubled.

The NimbleBundle was a roaring success. In case you've just joined us, the back story is that last month I introduced a 'bundle' version that was simply the grouping together of two pre-existing [& complementary] products, NimbleText and NimbleSET.

Total income for August was 185% of the income for July, while traffic stayed consistent across both months. (I track all this on my funky new dashboard). Thus, even though customers buying both products were now handing over ten dollars less than before, it was more than made up for by the increased sales volume! Support was easy-peasy, refunds remained at nil. (However a significant chunk of earnings went to Motor Neurone Disease, after a long-time friend, now enemy, named me in an ice-bucket challenge.)

What were the actual figures? I know you voyeurs would love to know, but I'm keeping the actual metrics to myself. What really matters is: were these figures statistically significant? to which the answer is a resounding yes. I plugged the traffic from each month and the sales for each month into my favorite G-Test calculator and got a result of:

"The G-test statistic is 44.7 so version 'B' wins with 100% confidence."

I'm not going to argue with 100% confidence, or the awesome power of maths.

I talked about the psychological reasons for bundling in a previous blog post. I have no way of knowing if those were the actual reasons why the sales went up. It could just be that a lot of people had text manipulation tasks and set comparison tasks in August. But whatever the reason for the increase, I'm definitely keeping the bundle around. ;-)

There was a minor disaster in the first few days. Whenever someone purchased a bundle it would sometimes send out two licenses (instead of one). Then they would write to me and ask what to do with the second license. I suspected I had a race condition in the code. And since race conditions can be very hard to track down, I pored over the code very carefully, looking for any place where a race condition might hide. Eventually the cause of problem occurred to me while I was sleeping. It was just plain old bad logic doing me in once again:

Deep inside my license generation app I have a boolean function that determines if a sale has already been recorded. It (essentially) ran a query like this: Select count(*) as count from Purchases where PayPalID = {0}. Then back in the code, it said return count == 1. This worked flawlessly for several years. But with the introduction of the NimbleBundle, there would now be up to 3 entries in the purchase table for every actual purchase. So I changed the code to return count >= 1 and duplicate license generation stopped happening.

Now on to bigger and better versions. I've got major new features implemented for both products, due out in the coming weeks. I have of course distracted myself (as I often do) with the task of writing a book. If you haven't signed up to be notified when the book is ready, go and do that now. A really solid amount of people have signed up already: if you're one of them, then thank you! I currently have an outline, a bunch of powershell scripts for tracking my progress, converting my markdown to .epub etc, and over 5000 words committed. So far: lots of fun. Have learned a heck of a lot.


I'm currently writing a book about how to build your first product. If you want to build your first product, please sign up to be notified when the book is available.

(By the way, I read every comment and often respond.)

Your comment, please?

Your Name
Your Url (optional)
Note: I may edit, reuse or delete your comment. Don't be mean.