Archive | stats RSS feed for this section

Kalzumeus Software Year In Review 2013

I’m Patrick McKenzie (and often go by patio11 online). I started the world’s least ambitious software business in 2006, and it took over my professional life.

Every year I publish my stats and my thoughts on what worked well and not. Other folks tell me it has helped them, and the act of putting words to virtual paper helps me think through things — since I’m a one-man shop this post is the closest thing to strategic planning that ever happens.  Here are the writeups for 2006, 2007, 2008, 2009, 2010, 2011, and 2012.  (Hint for Googlebot: if someone is looking for the Bingo Card Creator Year in Review 2013, this is the right post, but BCC is a small portion of the business these days so I’m re-titling it.)

Capsule summary: 2013 was mixed from a business perspective. Sales fell at several of my lines of business, for various causes, not all bad.  Appointment Reminder, on the other hand, doubled sales, both on a per-year and on a monthly revenue run rate basis. I’d call it a pretty good year by any objective standard and a minor disappointment with regards to my personal goals.

Sales for Kalzumeus Software were approximately $112,000 and profits were approximately $60,000 *.

* Explaining That Asterix: As of 2013, I actually went ahead and formally incorporated my businesses. Appointment Reminder, LLC runs that product, and Kalzumeus Software, LLC runs everything else. Like in previous years, I’m not disclosing the Appointment Reminder numbers.  In 2010 and 2011 Kalzumeus Software dominated my personal income, so the health of that business was a bellweather for my overall financial situation.  This is no longer true.

Things Which I Suck At: Bookkeeping/Accounting: I used to do all my own bookkeeping and accounting, both for Japan and the United States. I’m still in charge of it for Japan but, thankfully, I have competent professional advisers for the US. Unfortunately, I did not get them hard numbers consistently enough for them to get me hard numbers by the end of the year, so it is likely that the below numbers will not match the “official” numbers I put on my tax returns. Treat these numbers as ballpark rather than audited  financial figures.

The Year In Brief

Bingo Card Creator was in maintenance mode for the entire year. I successfully transitioned myself almost entirely from working on it. Traffic and accordingly sales declined by about a quarter.

Appointment Reminder was theoretically my main focus in 2013. This was, again, more theory than practice. The bad news is that competition from consulting in the early half of the year and health problems in the later half of the year made it impossible for me to give AR the sustained focus that I wanted to give it. The good news is that despite my only sporadic ability to move forward on the business, sales doubled.

I quit consulting in approximately May of this year, to focus on my product businesses. It produced no new revenue, aside from collecting outstanding invoices, though did consume a bit of time/focus prior to winding down.  The full story is below.

I experimented more in 2013 with delivery of productized consulting in a variety of form factors, including writing a book on conversion optimization (technically written back in 2012 but released in the last weeks of it), continuing to sell the course on lifecycle emails which I released last year, developing a new course on software conversion optimization, and running a few online workshops through partnerships with other software entrepreneurs. It’s funny: when you phrase it like that the year sounds really really productive and yet sometimes it doesn’t feel that way. Hmm. Anyhow, feedback from customers has been overwhelmingly positive and the line of business has mostly achieved the free-me-from-the-consulting-treadmill goal I had for it.

I continued angel investing in a very limited fashion in 2013. I now have a grand total of two investments, in Stormpulse and Binpress. One to two a year seems to be a good fit for the amount of bandwidth I have available for software companies which I don’t own, considering folks typically want my advice a lot more than they want my wee little checkbook.

Bingo Card Creator

Bingo Card Creator is a freemium SaaS application (with a deprecated-but-still-used downloadable client) which makes bingo cards, mostly for elementary schoolteachers.

BCC was in maintenance mode for the entire year. “Maintenance mode” means that I do the minimum work required to keep the business up and running, rather than attempting to create new systems to e.g. improve marketing outcomes or substantially improving the product.

My only substantial work on it was spinning up two processes to allow me to work even less, to whit, transitioning front-line customer support from myself to a virtual assistant (the illustrious Sugar from Pepper VA Services, without whom I’d have long-since lost my sanity) and hiring Nick Disabato to run A/B tests every month so I wouldn’t be tempted to do it myself.

Bingo Card Creator’s traffic has fallen substantially this year, including large declines in organic search and AdWords traffic. This is the direct cause of BCC’s substantial decline in sales.

BCC Stats:

Sales: 1,734 (down 23% from last year’s 2,254)

Refunds: 57 (down from last year’s 89 — most were caused by a carder ring which ran ~30 fraudulent charges through us before we convinced Paypal to lock them out)

Sales Net of Refunds: $50,156.16 (down 23% from $64,791.81)

Expenses (estimate, pending bookkeeping): ~$27,000 (down slightly from $29,145.20)

Profits (estimate, pending bookkeeping): ~$23,000 (down substantially from $35,676)

Wage per Hour: I think I spent approximately 10 hours on process improvements for BCC over the year and approximately 10 hours on customer support, so the hourly wage is on the order of $1,000.  (One significant digit since I don’t keep anything like accurate time cards.)

BCC Web Stats:

Visits: 770k (down from 1.08 M)

Unique Visitors: 630k (down from 875k)

Page views: 2.4 million (down from 3.4 million)

Traffic sources of note: Google (50%), AdWords (14%), direct (12%), Binghoo (11%)

Trial signups for online version: 61,000 (down from 87,000)

Approximate online trial to purchase conversion rate: 2.6% (up from 2.4%)

BCC: What Went Right

Outsourcing front-line support has been a long time coming to Bingo Card Creator. I used to genuinely love responding to customer emails every day. Some time in 2011 or 2012 I started to dread it, because after 5 years of saying e.g. “Thanks for the email Miriam. I’m sorry, Bingo Card Creator does not support using clip art. Have a nice day.” I was going absolutely spare. My business friends told me that every time we got to talking I’d recount more exasperating CS anecdotes (“You won’t believe what someone told me today!”), which should have suggested I was burning out. My replies were getting less helpful, my responsiveness dropped from 99.X% of customers getting a reply within a day to avoiding checking email for days at a time, and, here’s a confession from the dark recesses of my soul, I occasionally felt contempt for my customers.

So I decided last year that I was finally going to bite the bullet and outsource front-line customer support. It isn’t rocket science, but I never actually made getting it done a priority until early this year.

Steps to outsource support:

  1. Stop using Gmail as my primary customer support platform, because “share Gmail with someone other than me” is a non-starter for me. I instead redirected our primary CS inboxes to Snappy, a helpdesk SaaS product. (I also tried ZenDesk but my VA felt it was hard to use. Snappy is a breeze, for both of us.)
  2. Write up a statement of principles and standard procedures for CS. My statement of principles is so that Sugar, or any VA I later bring into the company, understands “who we are” despite not being in the trenches with me since 2006. The standard procedures tells her how to operate the systems (our backend, Snappy, etc) that she has to use to do her job, how to write in the company voice, how to answer our most common questions, how to get help from me when she can’t answer a question, and how to help evolve the standard procedures document. I flagrantly stole this idea from the guys at the Tropical MBA podcast.
  3. I made some minor tweaks to my backend admin area to make them more user-friendly for someone who isn’t me. You might need to actually make a CS dashboard if you don’t have one already.
  4. Shadow Sugar as she does the job for a few weeks, by simply reviewing the tickets she worked in Snappy. I offered feedback on some responses and updated the standard document in response to others. (e.g. “You didn’t think you could answer this question and referred it to me for resolution. We will tend to get this question a lot, so we’re going to add it to the standard procedures document. Also, in the future, notice how my resolution here is in keeping with our company’s principles? You could have guessed I was going to do that, right? Great. If you feel in the future that you absolutely know the right answer, you don’t need to have me tell it to you. Go ahead and take action on it. I trust you. Don’t be afraid of not doing exactly what I would do, either — if we’re on the same page about principles, then a tactical mistake here or there doesn’t matter.”)

All that sounds pretty high-level, right? OK, concretely, here is our standard procedures document. The only thing I’ve taken out are credentials for our backend. Feel free to pattern your own on it if you’d like. Also feel free to improve it — this was a one-day project for me, not a heartbreaking work of staggering genius.  (n.b. That’s a frozen copy, not the live Google Doc, because while I’m a pretty transparent guy I don’t want to have to constantly censor credentials or what have you in the future.  If you’re viewing this post years after the publication date, it is likely out of date.)

As you can see, neither the Bingo Card Creator CS operation nor outsourcing it was particularly complicated.  It does, however, save me substantial time and focus, since I no longer have to worry about the product more than once or twice a week, when Sugar runs into something which she can’t handle.

Outsourcing A/B testing has also been a qualified win, mostly in that rather than spending my own time doing conversion optimization for BCC (a huge win historically — e.g. 60% more sales last year as a direct result of it), that happens without having me in the loop, and I’m freed up to work on more important projects. When Nick Disabato announced he was doing A/B testing expertise as a product I simultaneously a) facepalmed for not having done it years ago and b) signed up to be his first customer.

So what did Nick do for me? Great question. I have no clue and that’s exactly the way I like it. However, since that is a bit unsatisfactory for those of you reading this, I actually logged into Visual Website Optimizer to check up on his recent tests.  A representative example: in December, he ran some tests testing the layout of my Christmas landing page.  I’d normally think that’s likely a loser from a conversion optimization perspective, but the stats apparently disagree with me: conversion to the free trial increased from 15% to 19.5%.  That’s not a hugely useful result in and of itself, given that that page doesn’t get the volume to justify huge amounts of effort, but repeatable processes which collect wins like that are worthwhile for me.

I figure Nick is likely to eventually achieve results which more than pay for his efforts in perpetuity, and it also gives us the opportunity to work together on BCC (which is low-risk for me), get a good working relationship and base of shared knowledge, and then start systematically applying that to higher-leverage opportunities like e.g. Appointment Reminder.

BCC: What Went Wrong?

Traffic fell off a cliff: The only major problem in Bingo Card Creator has been the substantial decline in traffic as compared to 2012.

I have not dug deeply into why this has happen, because it’s strictly irrational for me to do so at this point.

Why? Let me share an item from my todo list for later today: “Call $HAPPY_CUSTOMER and apprise them that their credit card failed for the last month’s charge of Appointment Reminder right before Christmas, so that we can charge them $2,400 this year like we did last year.” I anticipate that phone call to take 5 minutes or less. $2,400 is approximately equal to an entire month’s profits of BCC. Any questions?

I rather suspect that it is just down to the ebb and flow of Google algorithms rather than any specific named algorithmic change (Panda/Penguin/etc) or penalization.

Appointment Reminder

Appointment Reminder is a SaaS application which makes reminder phone calls, text messages, and emails to the clients of professional services businesses (accountants, lawyers, doctors, HVAC installers, etc).

As in previous years, I am going to take the liberty of not disclosing exact numbers for Appointment Reminder. This is largely for two reasons: one, I go back and forth on taking investment for it someday, and having numbers publicly available complicates getting investment. Two, a significant fraction of Appointment Reminder’s revenues are through Big Freaking Enterprise Sales, and contract sizes are such that, when I win one, detailed granularity on my sales numbers would let an interested party figure out who just bought AR and how much they paid. I’m generally not contractually at liberty to disclose that, and (frankly) publishing it would be quite against my interests in getting the next contract.

What I can say:

  1. Appointment Reminder’s revenue for 2013 is approximately double it’s revenue from 2012. Monthly recurring revenue, which is my main metric of interest, is also about double on a YOY basis.
  2. The enterprise pipeline looks better than I could reasonably expect it to be, given my slackadasical efforts with sales in the last 6 months.
  3. We’re absolutely smashing my projections for COGS, which were approximately 20% at the design stage. (COGS is “cost of goods sold”, which in the AR context is dominated by the underlying telephony services we purchase from Twilio on behalf of our clients.)

Appointment Reminder: What Went Right

We had rock-solid technical performance in 2013, after having some severe issues in 2011 and hiccups in 2012. I’m sufficiently confident in AR’s systemic reliability and our monitoring setup to represent it as ready-for-mission-critical-use for customers while not causing me as much stress as being on 24/7/365 pager duty would ordinarily entail.

I don’t believe, off the top of my head, that we had any extended customer-visible downtime in 2013.  (Edit: Spoke too soon — I had misremembered the date of a partial outage.  In connection with the Ruby on Rails January of Fun (TM), I applied a series of security patches at 3 AM in the morning Japan time, and in the process managed to cause a partial outage to the service for several hours before realizing my mistake and fixing it.  This luckily did not severely impact any customers.)

At the same time, AR is not yet where I’d like it to be. We’re mostly covered on system-level issues, but we still have application-level errors on a handful of phone calls every month. The denominator is large, but my target for errors is zero, not “so few that customers are unlikely to notice.”

In conjunction with doing my course on lifecycle emails last year, I “hired” myself to do a proper job of email marketing for Appointment Reminder, which previously had “the absolute minimum required to ship the product.” One would think that “Psst, doing this would make you a lot of money” would be more successful inducement than “Advising people to do something that I don’t do in my core product feels wrong” but, in fact, that second factor was the one which lit a fire under my hindquarters. Our conversion rate is up and our churn rate is down, which (eventually) translates into a large portion of the 2X increase in revenue.

I’m quite happy with several security improvements I made in 2013 for the benefit of customers (and myself), including a) improving our HIPAA story, b) getting an E&O policy to cover the business, c) formally incorporating the LLC, and d) migrating from Rails 2.3 to a commercially supported version of Rails.

I didn’t commercially exploit a lot of these to the degree that I could have — for example, only a single digit number of customers even know that Appointment Reminder is insured — but they’re peace of mind for me and, knock on wood, I’ll retool processes in 2014 to take more systemic advantage of them.

Also, I couldn’t do it at all without Twilio.  In the spirit of full disclosure, I’ve hit a growing pain or two with them over the years, but at the end of the day they’re probably my favorite vendor ever.  (I’m told that some people operate under the assumption that I’ve taken their shilling due to how much shilling I do for them, so for the avoidance of doubt, the only consideration of value that I’ve gotten from them is three track jackets, which if you compare to my monthly Twilio bill must make them the most expensive track jackets in Japan.)

Appointment Reminder: What Went Wrong

I did not execute well on my plan to do enterprise sales for Appointment Reminder. I did not end up attending any conferences for target customer segments. I was insufficiently diligent in following up with many leads, which resulted in AR getting written out of a lot of sales processes where, if executed properly, we would have had a decent shot of winning. A lot of this was due to distracted focus, for reasons I’ll discuss in a moment.

I did not deliver an awesome experience with regards to customer support for Appointment Reminder customers consistently in 2013.  When I got very busy or stressed, one of my coping mechanisms was avoiding opening email, out of an irrational fear of finding more work or stress in my inbox.  This does not play well with email being the primary support channel for a business!  It only cost me a handful of accounts which I know of, but commitments are commitments, so I should be better at this going forward.  At present Gmail is reconfigured to force me to deal with AR email first, and I’m working on managing stress levels to avoid having a burnout-related relapse in inbox avoidance.

I was not successful in hiring for Appointment Reminder this year. There are a few places where AR could probably justify a full-time employee. Product development is one: I think AR probably got, hmm, call it 4 weeks of full-time development effort within the product, where I could easily have done the entire year full-time if I didn’t have other things to do.

I’d also really like to have someone for combination customer support and concierge onboarding — e.g. walking every single trial customer through getting their office up and running on AR from their current workflow for appointment management. My very limited experiments with doing this for customers make it pretty clear that it is stupendously valuable.

So why didn’t I hire? A combination of fear of the unknown — I’ve never had an actual employee, and worried about that fundamentally changing the character of the business — and just having way, way too much on my plate to get any portion of the business to the point where I could comfortably hand it off to an employee who didn’t have founder-level amounts of discipline/drive/skill.

For example, take a look at the Bingo Card Creator description for what it takes to outsource just routine T1 customer support. I was successful in that because I understand the task in my bones, could do it blindfolded, and have produced substantial systems and processes which mean you don’t have to be me to succeed at doing it for me.

I am successful at customer onboarding for Appointment Reminder at the moment, but it’s still at the flying-on-seat-of-my-pants level of improvisation and willingness to e.g. crack open the Rails console while on a phone call and update things in real time rather than just having a sympathetic ear, good product knowledge, and a bunch of knobs to twist.

Maybe in 2014. Maybe not. We’ll see.

Consulting

Since quitting my day job in April 2010 I consulted with a variety of software companies, mostly selling B2B SaaS, on ways to improve their sales. In broad strokes, my shtick was applying engineering to improving their marketing/sales outcomes. For specific examples of engagements, see last year’s post.

I got really good at it. After having made clients millions of dollars, I had a sufficiently good understanding of where the points of leverage were in software businesses and how to credibly explain them to potential clients that I was routinely selling new engagements at e.g. $30,000 per week.

I quit consulting this year. Why? It’s complicated.

Partly, I felt like I had achieved what I set out to achieve in consulting. My internal Nagging Doubt Monster was quite loud in 2010 that I might know enough to run a toy business like BCC but that the skills probably would not generalize to “real” software businesses. It turns out that my Nagging Doubt Monster is an idiot and that my skills generalize impressively well up the sophistication chain. By the end of my consulting career I was working with very smart folks like Fog Creek, Matasano, WPEngine, Wildbit, and 37signals, and to the best of my knowledge my clients generally had very successful outcomes.

So what was next? Well, continuing to do ten-ish weeks of consulting a year for clients like that was certainly an option. If I wanted to grow the business, I could have titrated off of my own products, hired employees for the consultancy and trained them in my bag of tricks then set them loose at client engagements, or moved up to the next level of clients.

NDAs prevent me from naming names, but suffice it to say I grasped for a brass ring at a Very Large Software Company. If that engagement had been knock-out-of-the-park successful, my consultancy would likely have been captured by their business, in the manner that e.g. Lucky Strikes sort of subsumed the Mad Men advertising agency.

That didn’t happen. What did happen? NDAs happened.

I was a solo consultant with a part-time consultancy, so my pipeline was not all that deep at the time I was trying to put this deal together. Since we were contemplating a success outcome where my consultancy’s available bandwidth went to zero, I began turning away prospective engagements in anticipation of the deal happening.

So fast forward to May, where a) I’ve been absolutely wracked by stress for several months, b) I have no consulting pipeline, and c) I come to the realization that the brass ring deal will probably not happen.

I talked to a lot of my friends and mentors, and they kept asking “Why do you do consulting?” Previously when asked this I had great answers, like “I love the opportunity to work with smart people on new challenges!” and “I have a wedding to pay for!” It had been a while since I won a new challenge merit badge, and my wedding was paid for. But like many people, I felt sort of pot-committed to justifying my present state of affairs, so I felt substantial inertia to continue the consulting business.

The straw that broke the camel’s back was a conversation with Ruben Gamez, a buddy of mine, at Microconf. We were chatting about what I’d say in my presentation about my consulting business, and everything I had planned to say had the ring of falsehood to it.

So I put an “I Quit” slide into my presentation, and that was that.  Quitting a consultancy with no active engagements turns out to be really easy: all you have to do is stop saying Yes.  (Conversely, starting a consultancy is fairly easy if you’re known to be good at something with high utility to potential clients, since all you have to do is stop saying No.)

Consulting: What Went Right

Quitting. My level of work-related stress declined drastically. I felt substantially less worried about the constant treadmill of refilling the pipeline. I get substantial amounts of personal satisfaction from being able to say that my family only eats every month because I’m really good at shipping products.

Consulting: What Went Wrong

The particulars of that NDAed engagement belong here, but obviously I can’t tell you them.

Quitting was poorly timed. Although transitioning away from consulting was a decision months/years in the making, the exact timing of it was very impulsive. It was, in hindsight, more risky than I normally tolerate, and exposed my family and I to substantial avoidable stress.

Last year I had ~$150k of consulting billings, which represented almost half the revenue of the company. This year I had close to zero, aside from converting some accounts receivable into actual cash ($15k or so, which I didn’t include in this year’s total because I already put them in last year’s as accounts receivable). Going cold-turkey to zero would have been an interesting ride no matter what the timing. I picked uniquely poor timing during the year to decide to do it.

Remember how I suck at accounting? I have historically run my businesses on a cash basis. This makes a lot of sense in software: if money in minus money out is a positive number for a month, and that positive number is enough to live on, yay. I never prepared for my own use anything like e.g. a balance sheet for the business. Why bother? I knew how much cash was in the bank account.

There are a bunch of things which would be on a balance sheet which were not reflected in my bank account. I was peripherally aware of them, in the way I was peripherally aware of hundreds of things about the four lines of business I run, but when I got busy/stressed/etc they were not at top of mind. One thing, in the Liabilities section, is Accrued Tax Liability. For example, if you have your best year ever in 2012, when 2013 rolls around, the mechanics of progressive taxation mean you’ll have to cut a few fairly large checks — in my case, to both the US and Japan.

When were those checks due? Right around when I quit consulting. At the start of the slow season for Bingo Card Creator. Coincidentally, when I made a few large capital investments in Appointment Reminder. Also with the product pipeline for productized consulting totally dry. And with large one-off expenses in my personal life.

This ended up being a perfect storm of a cashflow crunch for me.  I went from having a nice cushion in my checking account and thinking “I’m going to close the largest deal in the history of my business any week now” to owing high five figures at credit card interest rates while staring down an empty sales and product development pipeline.

My business-related stress level (probably 7 out of 10 during the worst of the consulting rigamarole) spiked. By August it was 8 to 9 for weeks on end.  This directly contributed to me becoming severely ill, which is a subject for another post.  Getting ill doesn’t help your stress level or help you execute on the business to ease the financial considerations that are causing the stress which is exacerbating your illness, by the way.

In hindsight, here’s what I should have done given the epiphany “I’m ready to quit consulting.”

  1. Call up my top five clients.
  2. Tell them that I’m quitting consulting but want to make sure that they have any loose end projects tidied up before I become totally unavailable.
  3. Booked three projects at $1X0,000, which would have given me an easy glide path out of that line of business.

At the time, I felt doing this would keep me attached to the treadmill. That’s silly. I’m disciplined enough to execute on a commitment like that, and it would have been so much easier than playing a game of chicken with my bank / credit card statements.

(To avoid worrying anybody: The cash flow crunch eventually worked itself out, since it was caused by transient timing issues rather than structural problems.)

Productized Consulting

One of the things I experimented with last year was moving from a pure services model consultancy, where I worked for clients on defined engagements for (generally) a weekly rate, to introducing some products where the core customer base and customer goal was the same (the client is a software company and they want to use engineering to drive marketing outcomes) but it didn’t require weeks of my time to deliver the services component.

This was quite successful last year, and I wanted to continue experimenting with the model this year. Under that general rubric:

  1. Rather than just throwing blog posts out into the ether, these days I focus most of my writing effort on my email list. (If you’re not on it, you can sign up here.) It’s the minimum form of engagement with my business where somebody could affirmatively opt to not be a stranger.  Topics range from enterprise sales for developers to SaaS pricing to A/B  testing to whatever strikes my fancy when I’m writing.  I shoot for every Friday but it more typically comes out once to twice monthly
  2. Above the dreaded penny gap, I have a book which I wrote on software conversion optimization.
  3. Last year, I released Hacking Lifecycle Emails, a 5 hour video course on doing drip email campaigns and lifecycle email optimization, which was one of my most common consulting gigs.
  4. I also did, if I recall correctly, three online training events, one on email marketing with Joanna from CopyHackers and Colin from Customer.io, and two with Brennan Dunn on creating recurring revenue for consultancies. (If only I had been thinking more on that subject at the start of the year!)
  5. This year, I started work on Software Conversion Optimization, a video course with interactive elements, including a higher tier which is basically a mini-consulting engagement.  It hasn’t shipped yet, as of January 6th 2014.

It might superficially appear that there’s a ladder of sophistication/engagement there, from targeting the least engaged customers with free email to offering the most engaged customers a $2,500 mini-consulting gig. That appearance is mostly an accident, as all of these products were planned in isolation from each other. I also don’t do anything particularly sophisticated with cross promotion of them.  That’s probably something I should fix this year, come to think of it, since they have synergistic effects and most of the people who could buy one could buy all of them without perceiving any difference in cost.

Productized Consulting Stats

I’ll report the sales by product and the expenses consolidated, since the products share the same systems/resources for delivery, which dominate cash expenses.  I don’t keep web stats for the productized consulting business — pure oversight on my part.  D’oh.

Book Sales: 1,239 units, for royalties of approximately $5,000. Many of the units were actually sold in 2012 but I didn’t even hear about that until 2013 because, in the publishing world, 6 weeks is an acceptable amount of time for a SQL transaction to require. (This is no slight against my publisher, Hyperink — it’s the legacy players in the industry who currently dictate the pace.)

Hacking Lifecycle Emails Sales: 41 sales for $18,927

Software Conversion Optimization Sales: 46 pre-sales for $15,922

Workshop Revenue (my cut only):  $22,000 (rounded and aggregated to avoid revealing financial information of third parties)

Total gross revenue: ~$62,000

Expenses (estimate, pending bookkeeping): ~$10,000

Productized Consulting: What Went Right

My emails to my mailing list have been some of my best writing in years, which is enormously motivational for me as I had previously felt like my blogging in roughly the 2010 to 2012 range was not as consistent or as informative as it had been in previous years.  The great thing about email as opposed to blogging is it is a truly bidirectional format, so people will often write me to say “I tried this advice and it actually worked!  We just closed a $500k sale using one of these tactics.”, where I never really had consistent, high quality interaction with people through my blog comments.  This has lead me to actually write more consistently for the mailing list than I’ve managed for the blog in years, which is in general a win for my personal happiness, for the business, and (I hope) for you guys as well.

Customers have taken the ideas from these things and ran with them.  This makes me enormously happy, as they’ve meaningfully changed businesses they’ve been implemented in.  It was always fun when I was a consultant to hear that a client closed e.g. $100k of new business as a result of part of an engagement, but at many of my clients, that wasn’t a transformative outcome.  Some of the results I’ve heard from productized consulting customers have been transformative — 20% increases in MRR for SaaS products, $0 to thousands in recurring revenue for one-man consulting shops, etc.  I do a little happy dance every time I get one of those emails.

I hooked up an autoresponder sequence to my email list, which just sends people who are newly arriving at it the four or essays that I personally like the best.  One of them has a brief plug for my lifecycle email course in it.  Adding that made a clearly visible bump to the residual sales of the course without requiring any huge amount of effort to do dedicated sales.

Stripe.  I occasionally kick myself for custom-rolling my own delivery application rather than just using Gumroad like any sane individual, but the Stripe integration has performed flawlessly.

As compared to Appointment Reminder, where I often have to force myself to do what needs to be done, working on these projects has been invigorating for me.  I often reflect on a bit of advice Peldi gave me prior to launching Appointment Reminder: “Is optimizing the schedule of dentists’ offices your passion?  No?  Then why are you committing to working on that for the next several years?!”  These projects let me write/teach, both of which I find enjoyable regardless of the topic, and they let me focus disproportionately on the MarkDev (somebody make a convenient word for this, please) rather than the rest of the business, which doesn’t excite me quite as much.

Productized Consulting: What Went Wrong

I originally intended to launch the Software Conversion Optimization product in August, but delivery dates slipped due to severe illness.  I alluded to it above and will probably talk about it at length in a separate post.  Anyhow, that delayed the project by several months.  It will (knock on wood) ship this January, as I promised when I opened pre-sales in late December.

My friends, including Amy Hoy, advised me to apologize and call off the launch earlier than I did.  I should have taken that advice — instead, I attempted to soldier on through despite being sick, which accomplished absolutely nothing for my customers and was damaging to my stress levels and health.  More broadly, I should have stuck to one of my rules, which is Never Pre-Commit To A Ship Date.  (That rule is even in the standard operating procedures document, for crying out loud!  Maybe I need to bold it a few more times until it will sink in.)

This is the only work day in January where shipping Software Conversion Optimization is not my main/sole task.  I’ll be happy to have it ready, because I’m excited to hear what people do with it, and because I’m keenly aware that I currently have the Unearned Revenue liability on the balance sheet until I do.

I’ve experimented with form factors for productized consulting, and not all experiments panned out.  In particular, I’ve learned that for live, online training sessions, having long presentations with text-packed slide decks presented back-to-back is not maximally in the interest of the audience or the presenters.  Lesson learned.  (You would think as a former classroom teacher I would have been able to predict that one.)  I much prefer the more organic conversation style that I’ve been using recently, with smaller groups and more cross-talk.

Overhead

In previous years I just threw everything that wasn’t either BCC or AR under the consulting category, but I no longer have a consultancy, so I think I’ll break this out explicitly.  My business has substantial expenses which are not related directly to a particular product.  Examples might include my errors and omissions insurance, fees for registered (and renewing) the LLCs, accountant / bookkeeper fees, business travel, my blog’s hosting bill, and the like.

Of note for those of you wondering how to calculate how much revenue you need to make it as a solo entrepreneur: The single biggest cause of it is me being in Japan, since I have substantial travel expenses to e.g. attend conferences (almost invariably requiring a $1,500 plane ticket for me), and my tax/legal/etc situation is far more complicated than it would be if I lived in the US (where the majority of my business is concentrated).  But for this factor it would likely be below $10,000 at my business’ current level of sophistication.

Ballpark estimate, pending bookkeeping: $25,000.

Goals For 2014

Bingo Card Creator

  • I’m honestly happy to let Bingo Card Creator coast to whatever number the Google gods, in their infinite wisdom, decide to give me.  If that’s $25k profits on $50k revenue again, that’s a happy number, as long as it doesn’t require a huge time investment.
  • I would consider spending a few hours getting a new freelancer up and running on content creation, which has been stalled for the last few years.  It isn’t a huge priority for me, though.

Appointment Reminder

  • I’ve long had a particular number in mind for Appointment Reminder for where I feel like I would have “made it.”  It is at approximately 4X the present run rate.  I think this is an aggressive target for 2014 but could be achievable if I’m able to devote 6+ months of solid work to AR, finally, for the first time ever.
  • I’d like to successfully land a 6 figure a year Big Freaking Enterprise deal for AR.  The economics of the company work without it, but that would be a fun merit badge.
  • No progress on this from 2013, so let’s try it again: I’d like to get a systemized pipeline in place for AR enterprise deals rather than running them all myself by the seat of my pants, such that I could eventually hand execution of that to someone else.  I’m not sure I necessarily would want to do that, but the capability of doing it could only make my options better.
  • As an intermediate step to hiring, I need to find a Rails consultancy that I’d trust and enjoy working with, and get them to start doing in-application tactical projects for me.  The only problem with this is that the codebase is currently a disaster and fixing that (or at least documenting which parts of it are likely to explode if touched) will probably cost a month.

Productized Consulting

  • Ship Software Conversion Optimization, and sell (a total of) $80,000 of it (which is on the order of $60,000 more beyond existing pre-orders).
  • Explore the possibility of doing more products this year, if I have the time and desire to.  At this point last year I thought I’d ship four full courses a year, but seeing the amount of work it has taken me to do one to my standards, that’s crazy talk if I also want to work seriously on AR.
  • I still think $200k is a reasonable number to shoot for for this line of business, assuming I ship 2 courses in the year and residual income for pre-existing products continues to be as meaningful as it was in 2013 (one of the big positive surprises for the year, by the way).

Business / Personal Grab Bag Goals

  • I am mostly over the immediate flareup of the medical issue from earlier in the year.  Staying healthy is one of my key priorities for 2014.  Concretely, I want to get back to going to the gym three times a week for 45 to 90 minutes.  Also concretely, if my subjective stress level goes and stays above 5, I’m hitting the Big Red Button on whatever is doing that, rather than just trying to tough through it again.
  • It’s been over a year since  I’ve done any substantial OSS work.  Hopefully I can carve out a few weeks in 2014 to do that, or at least cause that to happen by exchanging money for the time of skilled developers.
  • Get the bookkeeper/accountant/etc what they need to do their jobs throughout the year, rather than just at the end, so that I don’t get bushwhacked again by issues which they would have seen coming.  Also, find a good accountant for the Japanese side of things.
  • Keep making a meaningful contribution to the businesses (and where possible, lives generally) of other software entrepreneurs, which is a major point of personal satisfaction for me.  It seems like a good thing to make the focus of my career for the moment.

Far more important than any of the above: I’m enormously blessed to have my wife Ruriko in my life.  No list of goals for myself is complete without “Be a better husband.”  (And, knock on wood, maybe I’ll be able to write “Be a better father” in next year’s installment.)

Bingo Card Creator (and other stuff) Year in Review 2012

I’m Patrick McKenzie (occasionally better known as patio11). When I started my business six years ago, I was greatly inspired by a few other folks who published the minutiae of their software businesses, particularly actual sales and expenses numbers. I resolved to do it for Bingo Card Creator, my (first) software business, and then just kept up the habit. I traditionally post the year’s numbers and my reflections on what worked and what didn’t right before Christmas: see years 2006, 2007, 2008, 2009, 2010, and 2011.  (This year’s installment was slightly delayed.  Merry belated Christmas?)

Obligatory disclaimers: It is a good thing that I’m CEO and not the bookkeeper, because if I were bookkeeper I’d be fired for incompetence. When I do the official accounts for tax purposes I virtually invariably discover a few thousand dollars of extra expenses. (You might reasonably think “Then shouldn’t you outsource this?”, and you’re smart for thinking that, but sadly my part-time bookkeeper can’t always catch problems like “Patrick forgot to hand her a business trip worth of receipts.”)

On transparency: I’m weakly committed to transparency: it is nice to have but not one of my core values. I don’t impose it on other people, so when my business touches a partner or customer I generally err on the side of keeping their details private, absent specific permission to share. I also politely decline to discuss stats for Appointment Reminder, largely justified by “I don’t want this post quoted against me in a partner meeting” should I ever decide to raise money for it.

Capsule summary of 2012: I had a very good year, across all lines of business, in terms of personal satisfaction, value to clients, and profitability.   The big story was meat-and-potatoes execution: taking things which I knew how to do and knew to be effective, and applying them in fun new ways.  Some examples follow.  Profits roughly tripled from ~$70k to ~$200k (on total sales of ~$275k), exclusive of Appointment Reminder.  2013 looks to be very exciting indeed.

The Year In Brief

Bingo Card Creator was in maintenance mode for approximately 48 weeks of the year again, with two experiments done with a site redesign and incorporation of direct ability to charge credit cards (via Stripe) rather than using Paypal or Google Checkout. The experiments were, taken together, a smashing success.

I once again planned on spending most of my time working on Appointment Reminder, and (once again!) life decided to get in the way. Last year it was losing two months of the calendar to immigration issues. This year’s “distractions” were much happier: I took off approximately three months for my wedding and honeymoon, and my consulting business decided to grow like gangbusters. In any event, I was able to repay a lot of AR’s technical debt, fix the occasional technical issues the service had been experiencing, knock off a few new features, close my first enterprise contracts, and approximately triple the paying customer base on the published plans.

Speaking of consulting: As planned, I spent less time on acquiring new clients and assorted promotional activities (conference speaking, etc), and roughly the same amount of time on the boring mechanics of scheduling and delivering engagements. I also walked my rate up a few times.

There was an interesting outgrowth of the consulting business: over the last two years I’ve delivered engagements regarding email strategies for SaaS businesses several times, and had to turn down many more due to lack of availability, so I tried my hand at productizing consulting via creating a video training course about that subject. This worked out very well, both for myself and my customers.

An opportunity fell into my lap to try angel investing (as angel, not as entrepreneur). It’s a bit of a long story, so I’ll probably cover it some other day.  I also wrote a book, as previously covered on the blog.  It launched very late in the year, so I’ve got no interesting numbers to share about it yet.

Bingo Card Creator

Bingo Card Creator makes bingo cards, mostly for elementary schoolteachers. It had far-and-away its best year ever, despite being in maintenance mode. This was largely driven by organic growth of the business and huge increases in conversion rates following the redesign and Stripe integrations, covered here. The differences are very apparent if you look at conversion rates for any month after May and compare it to the year previous, which is necessary since BCC traffic and sales are very heavily seasonal. Or you could, you know, just take a look at the sales graph.

Stats:

Sales: 2,254 (up 55% from last year’s 1,451)

Refunds: 89 (up massively from 14 — the story is so good you’ll have to read it below)

Sales Net of Refunds: $64,791.81 (up 40% from $46,233.68)

Expenses: $26,193.40 (up from $23,003.19)

Profits: $38,598 (up 66% from $23,230)

Wage per Hour: Approximately $1,000, given that I worked for approximately 15 hours integrating the new design and spend approximately 20 minutes a week doing support.

Web Stats:

(All stats are from bingocardcreator.com unless otherwise specified.)

Visits: 1.08 M (up from 821k)

Unique visitors: 875k (up from 670k)

Page views: 3.4 million (up from 2.9 million)

Traffic sources of note: Google (56%), AdWords (12%), Binghoo (11%)

Trial signups for online version: 87,000 (up from 83,000)

Approximate online trial to purchase conversion rate: 2.4% (up from 1.8%)

Narrative version:

Overwhelmingly the best thing that happened in 2012, or for that matter the last several years for BCC, were the A/B tests where I reskinned the application and marketing site and where I introduced Stripe charging individual credit cards. This breathed quite a bit of life into a business that had previously simply been running on autopilot. I’m incredibly happy with how that worked out, particularly as I was able to get the actual design work done by someone else, and only had to do the Rails integration and a few tweaks to get it working.

What Went Right:

  • I’m almost totally superfluous to the day-to-day operation of the business.
  • The aforementioned A/B tests delivered major wins, on top of a half-dozen more minor ones. (A percent here, two percent there, it adds up when you keep doing it for six years.)

What Didn’t Work So Well:

  • I used the Stripe quick-start code to do my integration and did not build in server-side validation to stop duplicate transactions, trusting the client to only submit once, using Javascript to guarantee that. This is reliable as long as your client is not the IE Javascript engine running on a machine while it is being struck by a bolt of lightning. My poor customer got charged 36 times for Bingo Card Creator. I, of course, refunded the purchases when I caught them. (In case you’re worried: while a lot of electronics got melted, my customer was physically unharmed.)
  • In addition to the above, switching from Paypal to credit card orders increased the number of duplicate orders customers put through by more than an order of magnitude. Previously I just trusted people to not do this. Apparently… it is time to algorithmically suggest to customers that just because they didn’t get an email in 30 seconds doesn’t mean they should try the purchase again.
  • At some point in 2012, I started dreading doing customer support. I’m not sure why — I think I’m just really tired of answering the same questions for six years now. I’m going to try to pass off L1 support to a VA in 2013. I probably should have done this 5 years ago.

Appointment Reminder

Appointment Reminder does appointment reminding phone calls, text messages, and emails to customers of professional services businesses. I launched it in December of 2010, so it is just turning 2 years old right now. I go back and forth on whether I want it to be the Next Big Thing for me. Since I want to keep my options open on that score, I refrain from quoting numbers about it publicly.

My idea was that AR would be my primary business focus at the start of the year. That was the plan last year, too. Once again, my execution on it left a little to be desired: I think I got done about 60% of what I wanted to get done. This was partially due to distraction from the rest of the business, and partially from not understanding the difference between “single”, “engaged”, and “married” as well as I thought I did. (That’s not a complaint so much as it is a reflection about reality — marriage is far and away the best thing that ever happened to me.)

Revenue: Undisclosed.  The monthly revenue run rate on the publicly available plans is approximately quadruple what it was in December 2011. Enterprise sales went from “zero” to “non-zero”.

Expenses: Undisclosed.

What Went Right:

  • Technical issues: Last year AR had multiple customer-visible failures, and when AR broke it broke very badly, with failure modes like “DDOS someone’s home phone line” or “Failure to deliver time-sensitive reminders sent to patients by their doctors.” I spent quite a bit of tightening the system up, and had a much, much more stable year. We still had one major incident (the VPS it runs on became unable to boot after a distribution upgrade) which caused six hours of wall-clock downtime, but thankfully maintenance was timed so that this only resulted in about 15 minutes of downtime relevant to customers, and we only dropped ~6 calls. I’ve figured out a lot of architecture / tech stack problems prior to reaching extreme scale, which is probably for the best.
  • Email marketing: AR sent precisely one marketing mail on January 1st of this year: “Thanks for signing up for the free trial.” I frequently do email marketing for clients, and it is always more sophisticated than that, but I figured AR didn’t have trial numbers to justify extra work. When I was writing my video course on email marketing, though, not taking my own advice felt very disingenuous, so I implemented most of what I was advising. Wham, conversion rates and customer happiness up, just like advertised. (Best single win? A checkup at 3 weeks into the trial which, if the account looks likely to convert, tells them how much money they’re saving. If they’re unlikely to convert, it offers a one-month extension to the free trial if they speak to me about it. That single email has been worth low five figures. Want more suggestions? Buy my course about lifecycle email marketing.)
  • Redoing pricing/plans: Appointment Reminder launched with $9/$29/$79/Call Me Maybe pricing. (Hey I just met you / And this is crazy / But pay me ten thousand dollars / It’s enterprise software, this line won’t even rhyme.) The $9 personal plan was a mistake, and I knew that when I created it, and even despite that I suffered a year and a half of it anyhow. D’oh. That wasn’t the worst mistake, though — it turns out there was a substantial market segment who were at above the quotas that the Small Business ($79) plan addressed, but were unwilling to play the Enterprise pricing game. They do, however, fit in the Office plan ($200). The (new) most expensive plan now accounts for over 1/3rd of revenue from the publicly available plans.
  • Enterprise sales: It’s a long story, but surprisingly it isn’t impossible to win them as a one-man firm calling from Japan… you just have to make the most out of the utterly unfair advantages that gives you.  (A trump card I lay early and often: “I’m the founder.”)  If you’re interested in this topic, I recommend signing up for my mailing list, since I seem to write more about B2B topics than on my blog.

What Didn’t Work So Well:

  • My responsiveness: I have not been doing a great job this year at pursuing enterprise sales (i.e. only successfully get a decisionmaker on the phone a low percentage of the time even for inbound leads), partly because I get a lot of leads via voicemail, which I don’t deal with very well. Many of them are poorly qualified, and as a result I find myself dreading listening to voicemail to call back and talk for 10 minutes (at 2 AM in the morning) only to discover that they’re not good fits for AR. This is something which rationally speaking I should want to do, since it the path forward for the business, but I have been only sporadically successful at forcing myself to do it. Ideally, I will systematize the sales process and then offload it to someone, but this requires consistently executing on it myself first, and at the moment my successful sales have been all one-offs rather than anything resulting from a repeatable process. (n.b. Welcome to sales at any early-stage startup.)
  • Technical issues: Did I mention I had six hours of downtime and nearly gave myself a heart attack resolving it prior to the business day starting for my EST-based customers? That isn’t acceptable going forward. I still have more to learn about this (and likely always will).
  • General level of interest: Even in weeks that I have blocked off to work on AR, I often find myself just lacking any desire to do it. The business isn’t intrinsically more boring that e.g. Bingo Card Creator, but the sort of things that I need to do to move it forward seem to hit my desire to work with a damp towel. On the plus side, not having investors or employees means that I have 100% control over the schedule. On the minus side, not having investors or employees means that I have 100% control over the schedule, and AR has frequently lost out to pressing matters like consulting engagements, League of Legends matches, or wonderful opportunities to clean drains around my apartment.

Consulting

Like 2010 and 2011, I did a bit of consulting in 2012 for software companies. I increase sales of SaaS companies, and that’s all. Under that fairly broad brief, I do everything from writing software to support marketing objectives (Fog Creek has a case study coming out eventually, I believe) to doing lifecycle email campaigns to repricing plan offerings to A/B testing copy tweaks to… you get the general idea.

My guests and I on the podcast ended up talking quite a bit about consulting in the last few months, and I wrote an article about it.

Consulting Sales: ~$140,000  (this includes something like $20k of Accounts Receivable, for delivered engagements whose payments I will not constructively receive in 2012)

Consulting Expenses: $~40,000 (travel, conferences, and catch-all for anything which isn’t obviously for another line-of-business, like e.g. buying a business iPad)

Narrative Version

Where do clients come from?  I primarily source engagements by participating on the Internet (Hacker News, my blog, etc), speaking at/attending conferences (most relevantly to consulting, Business of Software), having word-of-mouth from previous happy clients or other folks who know me, and occasionally from nebulous reputational factors.  A new client and I would typically talk for an hour or two, and if they look like a good fit, I send them a one-to-two page mini-proposal for the engagement.  The prototypical “good fit” for me is an established software as a service company with revenues in the eight figure range, a few dozen employees, and a company culture which focuses more on the product/engineering side of things than on the marketing/sales side of things.

What are engagements structured like?  It depends on the engagement, but a fairly typical proposal for a new client would be for a 1 to 3 week engagement, delivered contiguously and on-site.  (I do remote engagements, too, but largely for existing clients.  Being on-site is a bit higher bandwidth, which is helpful in the getting-to-know-you-and-your-systems/products/people stage of a relationship.  People also generally tend to trust folks they’ve met in the flesh and broken bread with a heck of a lot more than they trust an email address with attached wiring instructions.)  I charge a flat weekly rate, generally in the five figure region.  The beautiful thing about the choose-your-engagement-length structure to proposals is that if the client has budgetary issues then we can address them by moving particular deliverables out-of-scope and shortening the engagement, rather than by compromising on the rate itself.

“What is it you do, exactly?”  It varies extensively depending on the engagement, and the specifics are often NDAed.  Broadly speaking, I make software companies money, primarily by increasing the sales of their SaaS products, usually through either a) applying engineering expertise to solve a particular marketing problem or b) just straight-up marketing expertise.  (If a client were to theoretically ask me to just crank out features for their Ruby on Rails app, I could theoretically do that, but more talented programmers are available for cheaper, so I’d advise them against it.)  Some specific tactical examples might be:

  • Designing and implementing the first-run experience for their SaaS application, with the goal of increasing conversion from free trial signups to paying accounts and increasing lifetime value of paying accounts
  • Implementing a drip campaign, such as allowing potential customers to sign up for a free one-month mini-course on $PICK_A_TOPIC, where the mini-course also duals as a sales channel for the SaaS product the company sells  (One of the rare engagements I can actually talk about was doing this for WPEngine — it meaningfully and permanently increased their sales.)
  • Re-writing marketing site copy or re-doing design (I do wireframes, their designers make PSDs and working code, most of the time) to increase conversions to a SaaS product, generally with the new work getting A/B tested versus the old stuff so we know whether it is working or not
  • Re-doing pricing / packaging options, or presenting them in a more effective light, to increase sales, average order value, and average customer lifetime value.
  • Teaching teams at clients to implement A/B testing, email, better pricing/packaging options, etc etc so that clients can get good at these rather than needing to rely on me.
  • Being a sounding board for product / UX / packaging / etc decisions.  (e.g. “We’re considering moving a very successful desktop application sold on a licensed model to the SaaS model.  That will cost us millions of dollars and, if we commit to it, would be our #1 strategic priority for next year, to the exclusion of all others.  Prior to committing to doing that, we’d like to have external confirmation that this isn’t insane.”)

What Went Right:

  • Leveling up: The advice I gave in the podcasts and the above article is largely distilled from my own experience. In general, as compared to earlier in my consulting career, I’m a bit smarter with regards to client selection and to the kind of projects I work on, and I charge to match. The increase in sales is totally driven by an increase in average bill rate — I actually cut down weeks worked. (There are broadly speaking three ways to increase consulting revenue: increase utilization rate (percentage of time you spend doing billable work), increase your bill rate, or hire people. I could schedule as many weeks of work as I wanted, but don’t really feel the urge to do so since it would conflict with my software businesses and life in general, and don’t really see myself managing other consultants… at the moment, anyhow.)
  • Working with great clients: I’m privileged to have had the opportunity to continue working with smart companies, with excellent products, which had good opportunities for applying my skills to our mutual benefit. A lot of the stress of consulting is dealing with client relationships which you shouldn’t be in in the first place. Being picky and choosy has been a major win for me, and as time goes on I’m getting better at it.
  • Delivering for clients: I have my own personal Nagging Doubt Monster. NDM often wonders whether e.g. I’m worth what I charge to clients. On balance, I’ve always thought the answer was Yes, but I have had troubled sleep about it, particularly as my bill rate hit arbitrary threshholds that flipped my “comfortable” bit. Earlier this year, a particular engagement, whose results I’m unfortunately not at liberty to disclose, sent the Nagging Doubt Monster into indefinite hibernation. In addition to that particular engagement, it has in general been a very good year. Clients are generally thrilled with what they got out of working with me, and I feel likewise.

What Didn’t Work So Well:

  • Legal Stuff: You know how every consultant ever tells you “Hire a lawyer to do contract review”? You should hire a lawyer to do contract review. Some clients and I had differences of opinions with regards to the meaning of some boilerplate, which (while they eventually were resolved amicably) caused me way, way more stress than necessary.
  • Scheduling Issues (Client-side): I had about three-ish weeks of availability this year where I intended to be doing consulting work, but didn’t end up billing anybody, because I didn’t move engagements through the pipeline fast enough. (That would be a decent-sized hit if I were a traditional consultant, who generally aim for about 35 weeks of work in the year, but since I generally shoot for about ten-ish…) In the future, I’m going to revise the proposal-and-present-contract dance to decouple it from engagement delivery dates. Previously, I’ve generally gotten the final greenlight within 2 weeks of an engagement starting, and if I blow that date that generally means I blow that week of availability. Random events can delay both contract signing and delivery, so I think decoupling them in the future will result in not having to spin my wheels.
  • Scheduling Issues (My side): Relatedly, I occasionally have anticipated availability evaporate. I took three months off for my wedding, but that was planned. I also had August marked off on the calendar for working on my course, but that ended up swallowing a lot of September, and that delayed contract negotiations scheduled for September and thus cost a week or two of my fall consulting season when that bubbled down the line.

Productized Consulting

I created and sold a video course which teaches SaaS businesses how to use lifecycle emails.

I have, historically, intentionally avoided selling anything to software developers. Partly this was out of wondering whether I had anything of value, partly this was thinking the market was terrible (penny-pinchers with not-invented-here syndrome), and partly this was out of lingering distaste regarding “selling shovels.”

There’s a persistent meme among software developers which says “The way to get rich in a gold rush isn’t to mine for gold, it is to sell shovels to gold miners.”  This meme is often deployed to suggest that shovel-sellers are exploiting naive gold miners.  I want to eventually write an anthropology paper on the gold rush narrative as applied to startups, because it is fascinating, but my brief sketch is that people often use an incorrect syllogism along the lines of “If you sell shovels, then your customer must be a miner, then there must be a gold rush, but gold rushes are either intrinsically bad or there is in fact no gold rush, so your business is either doomed, distasteful, or distastefully doomed.”

After seeing 37signals, Fog Creek, Ramit Sethi, Amy Hoy, and others all produce information products which actually seemed to create customer value (in many of those cases directly to technologists), I started to feel a little more open to the idea of doing it. So early in the year, I created an email list for folks running software businesses, with the idea being that I’d continue cultivating an audience by producing free things that they’d enjoy, and eventually offer them an opportunity to buy something a little more in-depth than my typical writing.

Concurrently with this, I was doing consulting engagements, and I kept my eyes open for recurring customer needs. One major one was that most SaaS companies don’t make effective use of email marketing. In particularly, they send next-to-no lifecycle emails (emails triggered off of customer actions in the software), and those are an incredible opportunity if you execute well on them. I implemented lifecycle campaigns for fivish consulting clients, in some cases making hundreds of thousands of dollars in sales off of individual emails, and thought that rather than hiring out that expertise by the week I could probably package some of it as a training product, so other companies could implement the campaigns without needing to hire a consultant to do it for them.

(Here’s a replicatable strategy for making several hundred thousand dollars with a single email: start with a revenue base of $X million a year.  Email all customers asking them to switch from monthly billing to annual billing, in return for some incentive you can offer, which can range from “a month free” to “15% discount” to “Hey, you can book the expense this calendar year, so that will save you money on taxes.”  Feel free to try this with any client or day-job of yours if they’re already at scale — “We made so much money the accountant/bank called us to complain” will make for a great bullet point at your next contract/salary review.)

Why bother doing a productized consulting offering when I have software businesses and standard consulting to keep me busy? Partially, I love trying new things and just wanted an excuse to experiment. Also, consulting is working out fantastically well, but it routinely requires me to spend multiple weeks abroad on business, and that is less and less attractive to me as I get more and more married. So if I could replace on-site consulting with a consulting-like offering that I could execute on here from Ogaki, that would be a bit of a win.

I eventually decided on making a study-at-your-own-pace video course as opposed to e.g. an ebook or a series of webinars, and then wrote out lesson plans and started recording. I anticipated about two weeks to do the recording (I was shooting for about 5 hours of video after editing, so perhaps six or seven hours of raw video) and two weeks for a freelance video editor to get things ready for me. (I wrote all the courseware and payment processing code myself — rationally speaking that should have been hired out, too, but I was really looking for a programming project at the time.)

The course was eventually delayed a few times (my original estimate was two weeks of work and a three week shipping schedule, but it ended up closer to four weeks of work and an eight week shipping schedule).  Nonetheless, it did successfully ship, and seems to have worked out pretty well for customers.  (Amy Hoy interviewed me about the process in detail, in case you want tactical advice.  I expect that interview to be up in a week or two.)

(You can find the course here.)

Course sales: ~$60,000  (My mental target was $20k, so this was a pleasant surprise.)

Course expenses: ~$6,000 (freelance video editing, payment processing, video hosting, etc)

What Worked Well:

  • Building an email list: About 5,000 folks asked to receive email from me. They mostly get free advice along the lines of what I’ve often blogged, except in a bit more detail. For example, I wrote about SaaS pricing and consulting, and subscribers have told me that they’ve used advice in those emails to substantial effect in their business. My basic brief is “Don’t ever waste their time”, mostly because I respect that people have invited me into their inboxes. (Also, I pay MailChimp about $100 every time I hit the Send button. That would probably change the character of my blog posts a bit…) In any event, when you have a “warmed” email list of people who have pre-existing reasons to like what you have to say, since you’ve been creating value for them for months/years/etc, doing product launches is a lot easier than “Build it and pray that they’ll come.”
  • Value for customers: One of the reasons I avoided doing this for so long was that I was concerned whether customers would actually get value from it or not.  For both genuinely compelling ethical reasons and not-nearly-so-compelling Nagging Doubt Monster reasons, I greatly prefer doing things which have highly obvious ROI for customers over things that don’t.  Feedback about individual companies’ results with lifecycle email has been tremendously positive, ranging from “We had this on the list for 2 years but never knew where to got started, but then we bought your course, gave it to an engineer, and shipped within 3 weeks” to “This made us six figures.”  (Seriously mindblowing: the sales copy made one customer six figures.  An engineer reading it thought one point I mentioned in passing was worth repeating and forwarded the mail to their bizdev guy.  The bizdev guy used it the next day to close a 500 seat license.)
  • Stripe: Despite some issues with, primarily, corporate American Express cards thinking that $2k charges for training materials were a little suspicious, Stripe was extraordinarily easy to integrate and reasonably priced, like usual.  In addition, unlike one might reasonably expect for a merchant account or Paypal, Stripe didn’t require either advance warning or an after-the-fact investigation when I suddenly had a considerable volume spike.  (I was expecting plus-or-minus $20k in sales in a short period of time and, if one goes from $3k a month of sales to $20k a month, Paypal will have words with you, sometimes freezing your account in the process.  This is, I rush to add, totally rational and solvable by e.g. submitting them a bit of documentation and waiting, but I had a lot on my plate, and not worrying about that was a boon.)

What Didn’t Work So Well:

  • Workflow issues with video: I’m a good writer and a fairly decent conference speaker / classroom lecturer.  It turns out that lecturing to a camera is another skillset entirely, both in terms of maintaining pacing / energy / interest / etc and in terms of stupid technical issues like “You need to worry about having scads of hard drive space and, by the way, good lighting for taking the video.”  I’d give the content quality (in terms of advice) an A- or an A, but the presentation was often a B-.  This will probably improve as I get more experience with projects in this form-factor.  For example, while I like my decision to avoid word-for-word scripting the videos, the next time I’ll probably create e.g. Powerpoint slides or something to give people something more meaningful to look at during the lessons than me talking at them.
  • Outsourced video editing: I hired somebody to do all the editing for these videos, which was a tremendous time-saving measure over doing it myself, considering that teaching myself the Adobe toolchain would have been a terrible decision.  Unfortunately, my freelancer (a good friend of mine from high school — and yeah, I hear you and you’re probably right) had a run of “bad luck” with regards to e.g. hardware failures and scheduling issues, which resulted in the work getting delayed quite a bit and only about 90% of the way finished.  (There are, e.g., videos which I shipped with known editing bugs in them, on the theory that shipping today was better than delaying launch by a non-deterministic amount.)
  • Writing my own courseware: The site (which handles both sales and fulfillment) is a built-from-scratch Rails application which probably took a week or two to write (I was doing it concurrently with filming videos so I don’t have a great breakdown of hours used).  It is, basically, the best possible project to ask an intermediate Rails consultant to bang out, since the behavior is very well-specified and there are no surprises.  While I was quite pleased to have the opportunity to write it — you know, it’s like a new car, a new programming project has that smell of fun to it — rationally speaking that was a poor decision which probably cost me time and aggravation versus a) hiring it out and b) doing a totally-for-jollies programming project which wouldn’t need boring-but-important-to-get-correct glue code like user management or Stripe integration.  (Relatedly: what the heck possessed me to put it on a VPS again versus doing Heroku.)

Goals for 2013

Bingo Card Creator

  • Given that I haven’t had a full year at the new-and-improved conversion rates yet, I reasonably expect BCC to coast to approximately $80k in sales on flat costs, for something like $55k in profit.
  • I want to outsource 90% of the customer service load for Bingo Card Creator, because I add zero value to most interactions these days (there’s no reason other than ego to have “Thanks for your email.  Bingo Card Creator doesn’t support pictures and we do not anticipate supporting pictures in the future.” come from me rather than from a freelancer), my response times are getting longer and my patience are getting shorter with each passing year, and the cognitive load of dealing with even trivial amounts of BCC CS email makes me procrastinate about opening my inbox and dealing with (much higher priority) email for my other lines of business.

Appointment Reminder

  • This goal worked out pretty well for me this year, so let’s try it again: 10X sales from 2012.
  • I want to explore flying to an industry conference as a sales channel for AR.  My back of the envelope math suggests that it’s probably straight-up worth it to just show up with an iPad in a target rich environment and take orders for the $200 a month plan on the spot.  (My expected LTV is over $2k and I can demonstrate the product in about seven minutes while standing on my head, so any decent close rate makes that a very good use of a day, right?)  Plus if I successfully execute on that plan two times then I can take the best-converting demo script, write supporting software, and then hire somebody with good interpersonal skills and a desire to spend time on the road to deliver it for me.
  • Now that I have a few marquis clients on enterprise pricing, I’d like to start closing more enterprise deals at true enterprise rates, rather than discounted-heavily-to-win-this-proposal rates.
  • In addition to walking up enterprise rates, I’d like to systematize the enterprise sales process, with the eventual goal of being able to have large parts of it executed by people who are not me.
  • I’ve neglected AR’s systematized marketing (e.g. content creation for the website, A/B testing, etc) horribly.  Need to rectify that.
  • Deliver more features which are needed for higher-end customers, like “upload CSV of appointment data” rather than requiring manual entry, group appointments, etc etc.
  • Continue improving service reliability.
  • Strongly consider whether Appointment Reminder needs to eat more of my business attention pie, given current results and growth prospects.  (e.g. At AR’s 2012 revenue rates, an opportunity which would generate $50k in revenue for a few weeks of work elsewhere made sense.  There are plausible scenarios for AR under which that would be economically irrational after some point in 2013, versus just continuing to execute on AR.)
  • Also, strongly consider gulp hiring.  Which I’ve been saying for two years now, but one of these years it will probably happen.
  • Continue to wrestle with the questions of whether “I devote 100% of my work efforts to AR, take investment, and  take a shot at an eight or nine figure exit five years from now.” sounds like an attractive option and, if so, whether now is the time to pull the trigger on it or not.  I go back and forth on this.

Consulting

  • $300k in sales looks like a decent number to shoot for, assuming I’m actively available for consulting all of 2013, which is not a given.  (That means that I have availability throughout the year, rather than meaning that I have 52 weeks of availability — consulting is a very part-time thing for me.)
  • Continue to adjust rates such that clients and I are mutually happy with engagement outcomes.
  • Schedule things better to pack work more densely into fewer, shorter trips abroad.  (Delta really enjoys me flying 100k miles a year but Mrs. McKenzie doesn’t, particularly when it means six weeks away.)  If this results in less availability, that isn’t an unhappy outcome.

Productized Consulting

  • Do more stuff along these lines, since it worked out pretty well in the experiment, I can only see it working better with improved execution, and the project ended up being a lot of fun.
  • Let’s pluck a number out of thin air for a numeric target: $200k in sales.
  • Offer better packaging options for later products, including some sort of scheduled, scalable live component like webinars, which would provide a lot of value for customers, justify higher price points, and not disrupt family life or the other businesses’ schedules too much.
  • Outsource more of the execution of collateral tasks in the future, like video editing and programming for the sales site.

A Brief Personal Note: Ruriko and I got married on June 23rd.  Words can’t express how wonderful she is, including tolerating my weird little hobbies, like entrepreneurship.

I think that, aspirationally, career/job/business/etc was never supposed to be my #1 priority, but be that as it may it sucked up a disproportionate amount of my twenties.  I have no immediate plans for retiring, but will work on having my stated priorities more closely match my allocation of time and attention in the future.

Bingo Card Creator (and etcetera) Year In Review 2011

I’m Patrick McKenzie (patio11 on the Internets) and for the last several years I’ve run a small software company.  My first product was Bingo Card Creator, my current product focus is Appointment Reminder, and I do occasional consulting for a variety of clients, mostly on helping them sell more of their software over the Internet.

Traditionally, right before Christmas every year I release an annual report.  See, for example, 2006, 2007, 2008, 2009, and 2010.  (Crikey, have I really been doing this for that long?)  I’ve also traditionally published live stats for Bingo Card Creator, but not my other lines of business.

Writing the annual report is partially to keep me grounded, partially to talk through my thoughts on the year and goals for next year, and partially to (hopefully) give other folks ideas that they can use in their own businesses.  I hope you find it interesting or, at the very least, mildly amusing.

Obligatory disclaimers: Assume any statistics that I give are “roughly accurate, to the best of my knowledge, at the time this report was written.”  There are still a few weeks left in the year.  Sales are typically low in the last two weeks, but the exact timing of credit card charges can cause a bit of jitter in the December stats.  From past experience, I have a high degree of certainty that there are about $1,000 or $2,000 of expenses (across all lines of business) which aren’t in the bookkeeping  system yet and won’t be until I sit down in March and check things for taxes.

Capsule summary: Best year ever, by a lot.  Broke $100,000 in sales for the first time and increased total profits to ~$70k.  2012 has inflection points coming for life and the business.

The Year In Brief

I put Bingo Card Creator into maintenance mode for approximately 48 weeks out of 2011: I only answered emails and kept systems running, but took no action to improve the product or marketing.  (The other four weeks I tried a few minor things out.)  This was, theoretically, supposed to free me to spend most of my efforts on Appointment Reminder…

… but that didn’t end up happening.  For a variety of reasons, most of my focus business-wise went into consulting.  Although I technically only did about 10 weeks of consulting during the year, I spent quite a bit of overhead time on e.g. arranging deals which ended up falling through, arranging the deals which did actually go through, and doing general promotion activities like speaking at conferences.  (I had the opportunity to speak at about a half dozen conferences this year, and assorted other events.  It is great fun, but since I generally have to fly to America for them, they tend to munch a full week out of my schedule each.  I spent almost three months of the year in the US, doing a combination of family events, consulting, prospecting, speaking, and meeting some Internet buddies to discuss plans for later.)

I also lost two solid months due to dealing with legal issues, mostly centering around Immigration.  I’d love to fill you in on the nitty-gritty, but have been asked not to by people close to the situation.  Suffice it to say that I was a shoe-in for a Japanese visa back when I worked at a large megacorp, was not a shoe-in for a visa when doing my own thing, and had a very hairy experience with getting them to approve me as a “self-employed engineering consultant.”  Tips of the hat to my Japanese clients, particularly Makeleaps / Webnet IT and myGengo, whose support was instrumental in getting Immigration to approve my renewal.

Despite not having nearly as much time to work on Appointment Reminder as I would have liked, I did manage to firm up its technical underpinnings, add new features requested by clients, and do a small amount of work marketing it.  I hope to make that more of my focus in 2012.

Bingo Card Creator

Despite being in maintenance mode, BCC continued performing like a trooper.  People always ask “Could you afford to live on it only?” and the answer is “Yes, but barely, and it would require a lifestyle adjustment, mostly in the don’t-fly-across-the-Pacific-so-often department.”  BCC did not meet the numeric goals that I had for the year.

Stats:

Sales: 1,539 (up 6% from last year’s 1,451)

Refunds: 14 (down from 22 last year, to .9% of sales from 1.5%)

Sales Net Of Refunds: $45,479.93 (up 5% from $43,398.55)

Expenses: $22,560.00 (up from $18,287.93, but largely just due to an accounting issue — I can’t split costs in my homegrown bookkeeping software, so the ~$3,000 I paid for servers for AR is hiding in that number)

Profits: $22,919.93 (see above accounting issue, essentially flat from last year’s $25,904.66)

Wage per hour: Let’s see, ~15 hours of programming, 20 minutes a week on customer support…  about $700 an hour.  Not too bad.

 

Web Stats:

(All stats are from bingocardcreator.com unless otherwise specified.)

Visits: 821k (up from 777k)

Unique visitors: 670k (up from 655k)

Page views: 2.9 million (up from 2.7 million)

Traffic sources of note: Google (46%), AdWords (18%), Binghoo (13%)

Trial signups for online version: 82,000 (up from 72,000)

Approximate online trial to purchase conversion rate: 1.8%

 

Narrative Version:

Aside from kicking up AdWords spend modestly (to no good effect) and running a few A/B tests, nothing really substantial happened with Bingo Card Creator this year.  I lost probably $1,000 to $2,000 of sales when the site crashed right during the middle of the Halloween rush for ~9 hours while I was on an airplane.  That was a little disappointing, but while it broke my candy budget it won’t exactly put me in the poorhouse.

Projections that BCC would continue to grow despite not being actively worked on turned out to be totally wrong.  I forecast 50% growth, reasoning “Hey, most of the systems work pretty much without my intervention, so I think the overall growth of the Internet plus a few A/B test means, oh, 50% or so.”  It mostly tread water.  I’m not hugely disappointed.

 

What Went Right:

  • Not having to work hardly at all for it.
  • Aside from the Halloween crash, the system was largely stable for the year.  I think I got woken up by the automated alarm maybe once.
  • SEO, AdWords, email marketing, and the usual scalable marketing stuff continued to be my bread and butter even when I was too lazy to actually cut and butter bread.

What Didn’t Work So Well:

  • Crashing on the third busiest day of the year, in such a way that it depresses my AdWords campaigns for the first and second busiest days of the year.
  • I integrated Stripe and expected a huge lift in conversions for going from Paypal to a simple CC-based payment system.  I tested this extensively in A/B tests.  I love everything about the Stripe system, but I have no evidence for “Stripe is better than Paypal/Google Checkout”, “Stripe/Paypal/Google Checkout is better than Paypal / Google Checkout”, etc etc.  That said, it might be something as simple as my buttons being ugly.  I’ll probably take a whack at it in the future, or better yet, have my designer take a whack at it.

Consulting

I did a few weeks of consulting this year, for several different clients.  Mostly, I do my engineering / marketing shtick for software companies, although some of my clients have been a wee bit farther afield.  I wrote up a fairly typical engagement with Fog Creek.  That one was a mutual success and we’ll continue to work together in the future.  (To the best of my knowledge, all of my consulting clients are happy with my work.)

One thing I’m going to do differently in the future is to work for less clients.  Don’t get me wrong: I love all my clients.  I was privileged to work with them.  However, it takes approximately X units of work to set up an engagement with a previous satisfied customer, 5X units of work to get a new prospect to the go/don’t-go decision on a new engagement, and I generally have to get three to four prospects to that point to actually wind up with a signed contract.  As my buddy Thomas at Matasano says, “That is life in the big leagues.”  However, since I’m not in a position where 100% utilization is a huge overriding goal of mine, I don’t need to keep the new prospect pipeline totally full… so I’m probably going to cut back on it quite a bit in 2012.  I’ll continue doing follow-up engagements for established clients where it makes mutual sense to do so, and I’m still of course available for interesting projects, but I’m not going to be doing six-week fly-across-America-four-times tours to drum up new business.

The following numbers are approximations only.  NDAs and having the sense God gave a tadpole constrain me from revealing my “going rate.”

Consulting sales: $55,000

Consulting expenses: $13,000  (mostly hotels and airfare for prospecting, which I pay for out of pocket.)

What Went Right:

  • Client selection.  I was, again, privileged to work for people who have interesting businesses, problems that I could make substantial contributions on, and the willingness and ability to pay all invoices in a timely fashion.
  • Raising rates.  My first guesstimate at my rate, back in 2010, was $X.  It turns out that I could do just about as much work as I wanted regardless of whether I charged $X, $2X, or $5X.  As a result, I typically quote fairly high rates and mostly stick with them, unless there is another reason I really, really want an engagement to happen.

What Didn’t Work So Well:

  • Disorganization.  At one point I was juggling something like five simultaneous proposals out while preparing for three conferences, two engagements, and six weeks of travel.  It got so bad that I showed up at a city once and checked at the airport for where I was staying, quickly seeing that I mistimed a conference by three days and thus had no hotel booked, booking a hotel from the taxi, and then arriving at the hotel to recheck my schedule and discover that I had used the previous year’s schedule and was actually simultaneously at a different hotel across Brooklyn.  (Shoutout to the Brooklyn Beta guys for saving me from my own stupidity that week.)  There were multiple points in the year where I found myself wishing for either a boss or a secretary or somebody to just say “Show up to X on Monday and Do Stuff and all the stuff that is not Stuff will be taken care of.”  My occasional slipups in dealing with the demands of a growing business caused me to drop balls in ways that were sometimes client-visible, too.  This is a major part of the motivation for cutting back next year.  (There is Plan B, of course: hire folks to do either the execution or the admin and take whichever part they’re not doing, but I don’t think I’m moving in that direction.)
  • Too much work!  Largely due to overhead and travel, plus the outsize distraction generated by the same, consulting munched a heck of a lot more time than I thought it was going to.  I wanted to have a solid eight months of the year to work on AR.  I think I probably got maybe two.

 

Appointment Reminder

I launched Appointment Reminder last December, with the goal of having approximately 200 customers and $10k in monthly recurring revenue by now.  I had planned on focusing for most of 2011 on marketing and selling it to more businesses.  That largely didn’t happen, but since I got the fundamentals of my SEO strategy in place (while largely ignoring the modestly more advanced content creation / etc that runs BCC and that I usually help clients with), the business grew despite my best efforts at totally neglecting it to focus on consulting and not getting deported.

AR has been hanging around at a crossroads for a while now.  There are two very different trajectories it could go down.  In one, I grow it organically, and it grows into a modestly profitable software business which will provide handsomely for my family and (in the fairly near future) employees.  In two, I take outside investment, and attempt to grow as quickly as possible to $N million a year in revenue, at which point options would include either a) selling to one of the larger players in the small business software space or b) continued operations at scale with a focus on growth.  Luckily, I have  the luxury of waiting on making that decision: my runway is infinite, the market opportunity is only getting bigger, and the perceived value of my involvement with a startup among investors does not appear to be depreciating.

This is one of the reasons I can’t be as open as I would like to be about the current status of the business.  BCC has essentially no secrets, and would not really benefit from having them, as — aside from elementary school English teachers — there is nobody out there who has something I want for BCC.  However, if I hypothetically wanted to take investment, then accredited investors suddenly have something I want very much and having secrets about AR gives me something with which to trade to get it.  (It is similar to not putting prices on an Enterprise Software website.  You can trivially get them, but the price of getting them is giving a salesman permission to give you the spiel.  Similarly, folks who ask about AR’s numbers these days are generally asking in the hopes that they eventually receive a phone call asking them for a check.)

The other reason I can’t talk about AR numbers so much is that I radically underestimated how important the enterprise market would be to the business, and you can’t spell enterprise without NDA.

So: I wanted to have two hundred customers by now.  For the publicly available plans, I currently have a few dozen paying customers.  There are ways to get things from me that don’t involve paying the numbers on the Pricing page.

AR is modestly profitable — it covers all of its own costs.  I plow most of the money it generates back into the business, though, rather than taking distributions.  For example, I’m now about 95% certain that I will have significant contractor or employee involvement on it in 2012.

Revenue: Undisclosed

Expenses: Undisclosed (very modest ongoing expenses, reinvested most profits)

Profits: I took about $5k just to have a number that would minimize disbelief at the tax office.

What Worked Right:

  • Twilio.  The Twilio API and service have been unalloyed epic wins for Appointment Reminder.  I had zero disruptions in service attributable to them, their customer support has been fast, responsive, and technically savvy (even helping me debug my own code at points), and they’ve been very supportive of me.  Plus they have these awesome red track jackets that they keep sending me, which you’ve probably seen if you’ve seen a picture of me doing any talk this year.  (I actually wear them mostly because I love the color red, but apparently I wear them so often that folks at the Fog Creek office thought the Twilio logo was my logo.)
  • Sendgrid: It’s like Twilio, except for email.  Great service.  No red jackets.
  • Unit testing & staging servers.  I am gradually getting more sophisticated in my engineering practices, and have been ramping up my testing activities since starting to code AR.  It has transformed the way that I do development, for the better, and made it easier to respond to customer requests to change things while decreasing the number of problems I have caused.  Total win.  See my presentation at TwilioConf for examples of the specific ways I use it for AR.
  • Exact match domain names.  “Hey Patrick, how is it that with no marketing budget and nearly no marketing work you rank #1 for [appointment reminder]?”  I told everybody that I was buying the .org specifically because that would happen but apparently folks didn’t believe me.
  • Using the self-service site as lead generation for enterprise sales.  Fairly self explanatory.
  • The service itself: AR solves a clear customer need, and my customers are raving fans of it.  There exist many services businesses which incur hundreds in direct costs and thousands in forgone revenue for a single missed appointment.  (Think, say, an HVAC company which sends a three-man team of tradesmen out to your house to replace your heater, which is a $2,000+ job, only to discover that you aren’t home to let them in.)  One of my customers reports that just the delta in no-shows since starting to use AR would pay for his mortgage and his daughter’s college education.  Many of my other customers report that their office managers, who previously did telephone reminder calls manually, are ecstatic to not have to do them any more.  Customer retention among folks who actually use the system (as opposed to signing up, doing a test call, and forgetting about it) is virtually 100%.
  • Talking to smart people for advice: Since I’ve been going back and forth on the investment question, I talked to a lot of entrepreneurs and investors whose opinions I respect.  I really appreciate their feedback, which ranged from “Are you kidding?  You’d hate it.” to “I want to invest in you, but realistically, you would lose nothing by waiting until you are sure.” to “Best decision I ever made.” and helpfully included a lot of actionable advice on how to do things in the meanwhile such that options remain open.

What Didn’t Work So Well:

  • Catastrophic engineering failures.  I had one combination outage/catastrophic failure in February (the details are recounted in that TwilioConf presentation) and a ~3 day period of sporadically degraded operations after my move to Rackspace, which I finalized over the Thanksgiving holiday.  Both of those were my fault, for architecting the system in a way which did not gracefully handle its multiple moving parts getting out-of-sync with each other.  I’ve since done significant work on making it more stable.  (Overall reliability for the year has been excellent, but those periods were easily the most stressed I’ve ever been about any business issue.)
  • Lack of focus: I’ve been commenting above on this, so I won’t belabor the issue, but I really didn’t get to work on AR as much as I wanted.
  • Enterprise sales: I’m actually fairly decent at Enterprise Sales, and am working with someone in the industry who has a deep Rolodex among folks who would be great candidates for AR, but (partly due to the focus issue and partly due to my own comfort level) I didn’t put nearly enough effort towards it this year.  What I should honestly do is go to a conference some time, prospect like a madman, and then make following up on those leads my only job until I’ve got contracts signed.  (The prices for enterprise SaaS make this very economically viable.)

Goals For 2012

Bingo Card Creator

  • I’d be happy with continued flatness ($~30k profits on $50k sales), maybe.  It isn’t the source of growth for my business anymore.
  • Continue using it as a laboratory for weird ideas I have on conversion optimization.
  • Don’t break it during Halloween.

Consulting

  • Do less work prospecting for new clients.
  • Do more work for existing clients.
  • Modestly increase billings, if that makes sense for where my overall business is.  (If I take external investment in AR, that will likely require shuttering the consulting business.)

Appointment Reminder

  • Figure out whether I want to take investment or not.  If so, do so.
  • Convince Keith (who I do my podcast with) to work with me, if possible.  (Don’t worry, he knows this is on the agenda.  We’re best friends.)
  • See about transferring responsibility for the engineering (particularly front-end) side of things so I can focus on marketing/sales.
  • 10x current sales numbers.  That seems to be a fairly safe bet regardless of whether I shoot for a small business or for a high-growth business.  (1,000x-ing would be another story.)

A personal note: The last 3,300 words ultimately matter much, much less than the next 3: she said yes.  We’re announcing to our family on Christmas, as per our family tradition.

Dashboard Design For Metrics-savvy Software Companies

I have a confession to make: I’m something of a metrics junkie.  I have lost entire days of my life just staring at Google Analytics reports.  Metrics have always activated that same part of my brain that WoW did: ooh, a page view, ooh, a sale, ooh, if this had purple bars on it I’d pay $15 a month.  So I would flip from email to Analytics to e-junkie (the extremely appropriately named payment processor I use) to Analytics to… and end up accomplishing nothing of real importance.

Because although I’m a metrics junkie, I’m a smart metrics junkie.  And any smart metrics junkie can tell you that if your metrics aren’t giving you actionable insights to make decisions that matter to your business, well, you might as well go play WoW for all the good you’re doing.

That’s why, in one of my periodic bits of investing in the business, I built myself a dashboard.

Goals of the Dashboard

A dashboard is, simply, an easy to digest one-glance view on how your business is doing.  Mine is implemented in Rails and it is the page that greets me if I visit my site (password protected, naturally).  The purpose is threefold:

  1. Minimize the time it takes me to do common repetitive tasks.
  2. Show me information about my business at a glance, so that I don’t feel the need to log into my various other sources of info.
  3. Arrange for easy access to drilling down into important things for me.

Like all of my other software, it is a work in progress.  (Incidentally, some folks have offered to buy it when I have mentioned it previously.  I can’t sell it, since it is tied very tightly to my business needs and data available.  At all of ~200 lines of code, though, you can knock one for yourself out in an afternoon.)

Here’s a screengrab from it:

Some comments on what this shows:

Search box (“The Omnibox”): The Omnibox is my Swiss Army Knife support tool.  Given absolutely anything I know about a customer — from her name to email address to transaction number to a (hopefully unique) phrase she has used in her bingo card — it goes off and fetches her customer record.  This is a real timesaver because many of my customers don’t remember what email address they purchased the software under, told Google to obscure their email address (a misfeature in Checkout, if you ask me), purchased with their husband’s credit card, etc etc.  The Omnibox saves me from having to actually do work to find customer records about 80% of the time.  Search results are the same as…

Customer Entries (Latest First): The vagaries of the bingo business mean that I’m overwhelmingly more likely to get a support incident from you in your first 24 hours of use than at any other time.  Accordingly, as soon as I open the dashboard, the last 10 customers pop straight up so I don’t even have to search for them.  (This also serves as a quick visual health check and lets me see if a customer’s transaction didn’t go through.)  This illustrates a core principle of dashboards: do less work, get more done.  Ten keystrokes saved doesn’t sound like a lot until you’ve done it 200 times.

Customer Support Options:  You’ll note some customers have their names in green.  This means they are using the online version of Bingo Card Creator, rather than (or in addition to) the desktop version.  Previously I just made that green to satisfy my curiosity (it gives instant, accurate visual feedback that 70% of my sales come from the online version), but as I got a feel for customer support needs I decorated their records with a pair of hyperlinks.

“Ghost me”: This is the same link you get if you try the Forgot Password function in the online app — one click logs you in.  I right click it, select Chrome’s Private Browsing option (to avoid overwriting my cookie), and suddenly I’m you.  This lets me see exactly what a customer is seeing, so that I can diagnose problems easier, or in a pinch just do what they need done.

“Email password”: The same as the password recovery functionality on my site — mails them a link to let them in so that they can change their password.

Sales Counter: This is only on the page because otherwise I’d a) log into e-junkie to check and then b) start trying to guesstimate how much money I was going to make this month.  Both are bad habits.  Putting it front and center decreased my logins to e-junkie from several times per day to once a blue moon (only when I need to speak with them, which since they run a very tight ship is “Almost never”).

Edit Bingo Cards: Takes me into the original core of the Bingo Card Creator site: a CMS which makes, you guessed it, bingo cards.  This is where I approve work submitted by freelancers, make minor content edits to it, or create new bingo activities.  Again, instant access on the dashboard saves time.  (There are also a few affordances there, like AJAX approval so that all I have to do is mouseover a new card and click OK to approve it.  Do less work, get more done.)

Downloads Per Month: This shows a graph of how many PDFs have been downloaded from my site, on a monthly basis.  It is a quick one glance indicator of how effective my SEO is, from back when I didn’t have the user stats to look at.  I could probably demote it from the dashboard these days.  This information is public, by the way.

All-time Sales: Graph of sales by month.  I mostly use this to check on market seasonality, year over year increase (70%, ho), and whether I’m on pace to make my revenue goals.  This is also public.

A/B Test Results: If you’ve been around this blog much you probably know that I obsessively test and measure.  When I have a particular A/B test on the front burner of my mind it gets promoted to the top of the dashboard.  At the moment nothing I have running is super-critical so they’ve been placed a click away.  You can see some of my A/B test results here — I’m a big believer in code reuse so a portion of my test results are also used for the documentation for my A/B testing library.

E-junkie: Convenience link to my payment processor, where I used to log into a lot.  This should be demoted from the dashboard.

uISV email: The Google Apps for Domains email account I use.  (uISV stands for “Micro-independent software vendor” — i.e. like “small software company” with a more pretentious acronym.)

Logins Today / This Week: This is my “one glance health check” for the business.  I have a rough idea of what these numbers should be.  If they go down far below that, I have broken the login button and need to fix it immediately.  If they go high above that, it must be Halloween.  If they stay flat I might have broken the login button close to Halloween.

Vanity Stats: I keep these around just to satisfy my primal WoW player urges.  They have no particular relevance to my business, but they’re fun to quote to people.

You might think “conversion rate” is a really important number.  See, conversion rate for a channel or a creative or a landing page is a very important number.  Conversion rate for all of your visitors, on the other hand, is very, very sensitive to traffic mix.  Since customers arriving by AdWords always outconvert customers arriving by organic search in aggregate (which is an artifact of my SEO strategy and not to be worried about), a gyration in conversion rate is generally caused more by a change in prospect mix than a strong reaction to a change in my product.

Things Not Pictured

This dashboard can potentially display a few other types of information.  Thankfully, I don’t have an example to show you today.

Exceptions in payment processing: An exception happening in most places in my code is probably a misbehaving spider or a bug.  An exception happening in the callback for successful payments is a bug.  A very critical bug, because it often means that a customer loses access to the software they paid for.  If that happens, the computer sends me an email, my cell phone gets rung, and this whole page gets hidden under a stacktrace written in blaze orange until I hit the “I dealt with it” button.  (This obvious probably won’t happen if the whole site goes down — mon.itor.us watches that for me.)

Regular exceptions get written to my log files.  That is, candidly speaking, where data goes to die.

Bug of The Day: I have a confession to make: I’m not much of a test driven developer.  It is really, sincerely difficult to anticipate every corner case which could happen with customers trying all possible combinations of words and bingo card options.  This causes a huge portion of the user-visible bugs in BCC, and because the symptom is typically “It looks… ugly?”  (for a value of “ugly” not known at runtime) it is sort of hard to capture ahead of time in the predominant Rails testing frameworks.

That’s why I have a wee little daemon who periodically sanity checks all the print jobs people have run recently, looking for anything I’ve identified as the symptom of the Bug of the Day.  Currently, the Bug of the Day is that under certain circumstances the combination of a very long title and a bingo card with four to six short words in a certain box can cause the box to render across multiple pages, which is not desirable.  This is algorithmically checkable, but only in retrospect.

If the daemon detects that a particular print job caused one of the Bugs of the Day to pop up, it displays that fact in red, along with a link which copies the word list to my personal account so that I can reproduce the behavior and start trying to squash it.

This system also lets me sanity check upgrades to the site.  If I cause a regression in behavior, typically (squashed) Bugs of the Day will typically resurface, and my dashboard lights up like a Christmas tree.

What’s On Your Dashboard?

I love hearing implementation details from other businesses, and this is about as wonky as it gets.  What do you put on your dashboard?  Do you have any suggestions for things I should consider adding to mine?

Introducing A/Bingo: Rails Split Testing

Regular readers of this blog know I’m a bit obsessive about testing and measuring small, iterative improvements to my website.  Previously I used Google Website Optimizer but I found it had some annoying limitations.  In particular, it was too much work to start tests, too much work to code tests, and too much work to maintain expired URLs after tests were over. 

So I went away to the code salt mines for the last week, and coded my own A/B testing framework in Ruby on Rails.  It is called A/Bingo .  (The name sort of popped into my head and wouldn’t leave.  It is a pun, it relates to my business and personal brand, and it gives the impression of Hitting the Target that successful testing should give you.  My designer took that and ran with it for the logo.  I’m very impressed with the results.

A/Bingo is, without question, the most technically impressive code I’ve ever written.

  • Setting up a test takes one line of code.  It is so easy you’ll find yourself doing it automatically when writing copy or making new features.
  • It tracks absolutely any event as a conversion, in one line of code.
  • It does statistical significance testing for you, producing human-readable output which tells you exactly how confident you can be that the test results are accurate.
  • It is fast.  No, it is fast.  Like, “A/Bingo could handle being linked from the front page of a social news site.  Heck, it could be used on the front page of many social news sites.”

If you want to read any more about it, I encourage you to take a look at the website.  A/Bingo is already powering all the Bingo Card Creator A/B tests.  I expect that the ease of use and copious features will mean I run a lot more tests.  I’ll continue sharing what I learn through them. 

P.S. Incidentally, I scored a 16.9% improvement to funnel completion thanks to Mixpanel.

2008 Taxes Done, Well Ahead of Schedule

Thanks to my new expense tracking feature on the BCC website and the magic of TaxAct (the only online filing place I’ve found that supports the vast, vast number of American uISVs with day jobs subject to the Foreign Earned Incom Exclusion), for literally the first time in my life I have my taxes done well ahead of schedule.  Whee!

Final numbers, for those who were interested:

Sales: $21,720

Expenses: $12,318

Profit: $8,798

Self-employment taxes: a bit over $1,200

 

The expenses number includes some things which aren’t strictly speaking BCC related — mostly, costs sunken into getting the second product up and running.  More about that when I have something to show.

I also ended up scheduling the IRS to take four nice big bites out of my checking account during the year because the amount of taxes I expect to owe next year is going to be a few thousand more and if I have the money in my account I’ll probably do something stupid like spending it on a TV or, worse, investing it.  (Am I bitter about that?  No, not at all.  But it makes for a good joke.)

Sales Exceed Salary (Scary Thought!)

I thought I was going to just miss being able to say this, but five customers bought copies of BCC overnight.  This brings BCC sales for February to $2,925.  

Now, looking at my February pay stub (which is pay for work done in January), the before-deductions sum of everything (base pay, housing allowance, travel allowance, overtime) is $2,890.

This isn’t quite as impressive as it might sound at first blush: Japanese salarymen generally get a biannual bonus which generally at my company amounts to 2.25 months of base pay each time, where base pay is about 75% of that top-line number.  It also doesn’t count that I had to pay expenses for BCC this month ($995), doesn’t count that self-employment would raise my taxes relative to regular employment, etc.

Still… yikes.  (I won’t tell you how many hours are required to get either of these numbers… principally because the difference is too depressing for words.)

Incidentally: the total salary of a programmer in his mid/late twenties in Japan is generally somewhere around the 4 million yen mark (~$40k USD).  It is considered fairly good for someone that age.  We’re crazy underpaid next to engineers in America, I know, I know — my family reminds me frequently.

Bingo Card Creator Year 2008 In Review

Well, it is that time of the year again: home for Christmas, jetlagged like crazy, and up at 2:00 AM after passing out for 11 hours.  Sounds like a great time to compile end of the year stats!  These will change a bit in the next 10 days or so, but not all that much, so they’re roughly representative.

In A Nutshell: 2008 was a very, very good year.

My goal had been to sell $20,000 worth of BCC, after having sold $10,600 last year.  

Sales:

Total Sales: 815

Refunds: 24  (~2.9%)

Sales Net of Refunds: $20,707.40

Customers requesting CDs: 205 (24.9%)

Customers using Paypal: 373 (46%, remainder Google Checkout)

Expenses (Approximate):

AdWords: $5,850

Freelancer (Bingo Cards): $1,000

SwiftCD: $1,050 

Paypal: $400

Domain Names: $500  (Kind of went hog wild, eh.)

Hosting: $500

CrazyEgg: $240

Software: $200

Clicky: $90

e-junkie: $60

Total: ~$10,000

Profit: ~$10,700

 

Various Other Fun Metrics:

Unique Visitors (to main site): 285,000 

Page Views (main site & ChristmasBingoCards.com) : 1,000,000

Trial Downloads: ~57,000

(Implied minimum conversion rate: ~1.4%)

Confirmed Installations: 12,700

(Implied maximum conversion rate: ~6.4%)

Number of people who sat down at their computer one day and said “You know, I really need to play some Cheese bingo”: 52

Number of people who played Christmas bingo (plus an unknown number who evaded tracking when I borked it): 5,652

Commentary:

What went spectacularly right: In my writeups of last year’s results (blog and BoS forum) I had mentioned that I had high hopes for incorporating the bingo cards into my site design, to catch people looking for specific niche activities and funnel them into downloading BCC and then eventually making me money.  This has been a smashing success, and has greatly improved my SEO efforts.  The $1,100 paid to a freelancer might stick out in the expenses — I assure you, it is like paying for straw so you can spin it into gold.  And the loom is 95% automatic, whee.  I’d make such a poor wicked fairy, I make so much on the alchemy I can afford to do it without needing anyone’s firstborns.

The other thing that has helped me out was continued improvement in Google AdWords, largely due to Conversion Optimizer — I don’t get to keep nearly as much of the sales I get from it ($5,850 — Google, I want a nice Christmas gift from you guys)

What went wrong: I had much higher hopes for ChristmasBingoCards.com than eventually ended up getting realized (see here).  

I also regret that I have not proceeded much on the project I started at the 30 Day Sprint this summer — despite paying Slicehost quite a bit to keep a 512 MB slice sitting largely idle (yay, SVN repository) and my designer $500 for the design, I have done almost nothing with it since the summer.  I blame a combination of personal issues during the summer and work issues for the rest of the year — nothing sucks it out of you like getting out of work at 10 PM and then facing a 2 hour commute.  Hopefully I’ll be able to do a bit of work on it over the break, when not enjoying family and friend festivities.  After all, as nice as BCC is I have dreams of eventually going full-time and while BCC provides a quite nice foundation for that I think the next project will be the one that pushes me over the top.

Other Random Trivia:

  • My chapter in Blog Blazers was published.  I really like how it came out, and “My son, the published author” cooings have made my free copies great Christmas gifts.
  • I now hang out on Aaron Wall’s SEOBook forums quite a bit, as a moderator.  SEO is one of my favorite parts of this job — great intellectual challenge, combining a bit of engineering, a lot of marketing, and heaping helpings of pure magic.
  • As of next year, BCC will be providing part-time incomes for about five people (three freelance writers and my designer, plus me).

Goals for next year:

  • $30,000 in sales for BCC
  • $20,000 in profits for BCC
  • Release a second product
  • Go full-time (we’ll see where life takes me)

Bingo Card Creator Sales Stats

As promised yesterday, I’ve cobbled together a feature to semi-automatically generate monthly sales reports.  At the moment I can’t show you guys the more impressive portions of the backend, as they integrate customer data at the moment, but I did manage to totally bulletproof the monthly sales report.  (Meaning it is physically impossible for anyone to get from the sales data to any identifiable information about customers, which would be 101 flavors of bad.  The actual backend code is not even uploaded on the production copy of the server.  I’m a little paranoid, what can I say.)

You can take a gander here.  Note the stats for March 2008 are, by necessity, not complete yet. ;)

Results of Site Redesign

About a week ago I merged Daily Bingo Cards and Bingo Card Creator, and embarked on a massive site redesign.  I thought I would write a bit about how this improved my numbers.  I have compared traffic to the combined total of the two sites — all other comparisons are against Bingo Card Creator itself, because I am lazy.  These are not rigorously devised statistics — they’re my quick eyeball of typical statistics for a weekday.

Visitors: 900 -> 1,200

Pages per Visit: 2.5 -> 3.5

Time per visit: 90 seconds -> 150 seconds

Trial Downloads: 100 -> 125 to 150 (hasn’t settled yet)

Confirmed Application Installs: 20-25 -> 30-40 (hasn’t settled yet)

Sales: 2 -> slightly under 1.

I’m sort of at a loss as to what is causing the sales to go down.  Its possible that is just natural fluctuation, as all of the pre-sales indicators are way the heck up.  I also might have some folks working through the trial pipeline who remember the old branding and get turned off by the new design (“This isn’t the right site!” is a very serious worry in my market). 

A graphic on how well the design focuses user attention, stolen shamelessly from my page on St. Patrick’s Day bingo and courtesy of CrazyEgg (I just upgraded to their $19/month plan because I’m getting too much traffic for the $9 plan to be useful — please, God, send me more problems like that one).  (This image will almost certainly be truncated by WordPress.  Click to see the full sized version.)

St. Patrick's Day click tracking

And one more, because images are fun.  Caution: this isn’t the best test in the world, because I did some significant changes to the sidebar several times while the test was running, and when element IDs change sometimes CrazyEgg “loses” the clicks from some of the views.  (This is so that you don’t see big red splotches where page elements no longer exist, obviously, but it also means that most of the clicks on those buttons aren’t getting shown.)

CrazyEgg analytics of front page

Alright, back to my favorite Saturday activity: doing taxes!  (I got the uISV part done already.  It came out to a bit over $800 on $6,300 odd of profits.  Now I’ve just got to collect a bunch of statements documenting less than $100 in interest and then fill out a bunch of boring administrivia forms.)

Loading...
Grow your software business:
(1~2 emails a week.)