Kalzumeus Software Year in Review 2014

I’m Patrick McKenzie, perhaps better known as patio11 on the Internet. Back in 2006 I created a side project selling software. This eventually morphed into something a little more. Since 2010, running this software business has been my full-time gig.

Every year, I publish a writeup of how the year went, what the statistics for the business looked like, and what I tried that went well or went poorly. This is partially for my own planning purposes (very useful, by the way — I recommend you do a writeup, too, even if you only publish it to your hard drive) and partially in the hope that other folks can use bits of it. You can read the write-ups for 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, and wow do I feel old.

(Hint for Googlebot: If someone is looking for Bingo Card Creator Year in Review 2014 or Appointment Reminder Year in Review 2014, this is the right place.)

What’s new about this writeup?: In previous years, I’ve been coy with the numbers for Appointment Reminder. This has always be mildly irksome for me, as I would prefer to have them here, but I had justified it because I was perpetually on the fence about perhaps taking investment money at some point, and having numbers publicly available would complicate that process.

For more thoughts on why, see below, but I’m virtually positive I won’t try to raise funding for Appointment Reminder, so I’m deciding to burn those ships behind me and run the business the way that I’d rather, and that includes being present in this writeup. (To the maximum extent possible compatible with my commitments to clients, vendors, and contractors, at any rate.)

Where are the expense numbers?: Way down below. I previously broke down expenses on a per line of business basis, but due to process changes with how we do bookkeeping, I can’t do that anymore. That breakdown was always kind of handwavy — for instance, I allocated 100% of our server expenses to BCC, which was true in 2006 but ludicrous today — so I’m just killing it.

Capsule summary: This was a pretty good year business-wise. I didn’t quite hit the goals which I had set out last year, due to some major reconfigurations of priorities mid-year, but I’m reasonably satisfied with it in most respects. I finally feel like Appointment Reminder is making sustainable progress. BCC is basically a vestigial project at this point.

My one major regret is that I was pulled in a few too many directions and, as a consequence of that, didn’t hit a shipping target for one of my products.

My businesses grossed roughly $200,000 in sales and produced roughly $120,000 in profit. (These numbers are slightly fudged for sensitivity of enterprise deals — see below.)

Disclaimer: For the first time in my life, I actually have really solid books for the business (thanks Bench — more on that later), but for continuity with my informal style for previous years, the following numbers do not match the books. They’re also my best guesses as of today, which is complicated, since we haven’t closed books for December yet. Treat these as approximations rather than audited financial figures.

The Year In Brief

Appointment Reminder finally got a bit of attention paid to it in a sustained fashion. For the last four years running it has theoretically been my main business priority. Practically speaking, though, I’ve treated it with benign neglect.

This year our monthly recurring revenue is up by about 35%, I’m no longer the sole person in the business, and I have a much better handle on where it is going than I did previously.

Bingo Card Creator continues to be in maintenance mode. Sales continued to fall off a cliff, largely due to a decline in traffic from Google/AdWords and my neglect of it, which may or may not be related.

Productized consulting produced my greatest regret of the year: the course on A/B testing which I’ve been working on for a year and took pre-orders for last December didn’t completely ship in 2014. As to why that happened, don’t worry, we’ll talk about it in a minute.

Since I didn’t feel right spinning up new projects with an existing one which was stalled, I did no training events, no new products, and no launches for old products, which caused substantially below-plan sales.

I did one small consulting engagement, even though I thought I was done with consulting.

I didn’t do any new angel investing this year, mostly out of lack of bandwidth, both in terms of attention and in terms of ability to write checks. I tried to continue helping out the folks at Riskpulse and Binpress. I also started working as a formal advisor (formal paperwork, actual duties, an equity grant, etc, as opposed to informal “Yeah, I love talking about this stuff, email me any time” that I do with basically any geek on the Internet) with a pair of startups, MakeLeaps and another which I can’t talk about yet.

Appointment Reminder

Appointment Reminder is a SaaS product which sends automated phone calls, text messages, and emails to the clients of professional services businesses, ranging from tutors through HVAC companies on our publicly available plans to nationally-renowned hospitals and service firm chains on our enterprise plans.

In principle we’re capable of providing services at anywhere from about $5k to about $100k per year to enterprises, but in practice, we haven’t closed a six figure deal yet. I want to someday, more for the merit badge than the money, but when we were very close to the finish line earlier this year on getting one, I had to withdraw due to inability to provide services in the required timeframes.

I can’t tell you the exact number, but pretend the largest check we’ve ever received (not in this calendar year) was for $75k, since that is roughly accurate. I walked it into the bank and was shaking because I thought they’d shoot me for attempting a robbery. They didn’t.

Before I get into the numbers, a bit of context about goals: My software business was a sideline to my day job prior to going full-time in 2010. I started Appointment Reminder literally days after quitting, and at the time I thought “For the moment I’m going to run this similarly to my existing business, without stressing too much about it or jumping in with two feet or taking investment, because I don’t know how life is going to change as a result of going full-time.”

I didn’t predict that I’d soon meet the most wonderful woman in the world and successfully court her (lifetime conversion rate on marriage proposals: 100%, booyah) or that I’d fall backwards into running a fairly in-demand software consultancy.

While this was happening, I often thought “I might try to take Appointment Reminder to The Next Level (TM) sometime.” I spend a lot of time on Hacker News and am peripherally involved in the startup community, and a lot of folks have wanted me to roll the dice on a funded startup with big put-a-dent-in-the-universe ambitions. At times, I wanted to want that for myself, but for the moment I was content to keep running my business in the traditional fashion. I work mostly on what I want to work on, take a day off whenever I feel like it, and optimize the business for quality of life rather than for any particular growth or financial targets.

To maintain optionality for taking funding, I have avoided speaking publicly about Appointment Reminder’s trajectory. Well, to be honest, that’s the excuse I’ve given. At least half of the real reason was that I’ve been disappointed with Appointment Reminder’s performance. If you had asked me in 2010 where I thought AR would be at in 2014, I’d have said “$500k a year or so.” It’s not there. I feel embarrassed by this — some people are accountable to investors for quarterly performance, and I feel an analogous sense of obligation to a lot of people who think I’m a smart guy and should, therefore, be running a business with a certain amount of scale.

Is it weird to say that is distinct from actually wanting the money? I wouldn’t mind a little bit more to establish more of a buffer for my family, but other than that, money qua money doesn’t buy me anything I don’t already have. It might as well be WoW gold.

As long as I’m putting fairly personal thoughts in the report this year, let me add another one: Appointment Reminder has been one long bloody slog. I have not frequently enjoyed the business until up to a few months ago. Why not? Well, a bunch of reasons, most keenly one which Peldi warned me about back in 2010: I don’t really care about the problem it solves.

I’m not the world’s most avid player of bingo, either, but with Bingo Card Creator I really sunk my teeth into doing low-touch software sales and marketing over the Internet. That was an enormously fun and engaging problem, even though making bingo cards is not. (The app proper has been described as “Hello World with a random number generator” and that’s only a tiny exaggeration. I have played perhaps two games of bingo in the last ten years. The only time in recent memory I used it myself was when a Redditor asked for anti-Bitcoin bingo cards, a request which I am unquestionably the best qualified person in the world to answer.)

I like that Bingo Card Creator has helped to teach millions of students to read, and I like that Appointment Reminder helps get patients to the doctor on time and puts the children of some of my clients through school (via increasing the revenue of their businesses), but these businesses don’t really excite me.

Peldi told me I should do a business which excites me. I told him that Appointment Reminder was a boring problem space but a great business, and that I’d find some challenge in it which was different than what I’d done with BCC. As it turns out, AR didn’t offer a lot of fun new challenges — it offered the same old been-there-done-that work that BCC had offered, and while doing BCC for the first few years was a form of play, AR was very much work. I often avoided things that would be clearly beneficial for the business just because they were a boring grind, to focus on other things, from the consulting business to my personal life to, well, far too many games of League of Legends.

I’ve recently sunk my teeth into systematizing Appointment Reminder’s sales operations and this is, for the first time in ~4 years, a fun problem to work on for Appointment Reminder. That said, it’s like maybe a 7/10 fun problem. I realized recently that, while I had been saying “Yeah, maybe after I grow Appointment Reminder a little bit and want a new adventure I’ll take investment for it and shoot for the moon”, but intellectually speaking I know what that would have to look like, and it commits me to working for another 5+ years on a product/problem/market segment which, on its best days, is 7/10 in terms of fun.

Life is too short to do that. I certainly do not intend on devoting 90%+ of my career for the next five years to Appointment Reminder, so I won’t take investment for it. (That would be unfair to the investors.) Given that, there’s no harm in sharing the numbers.

Appointment Reminder Stats

Appointment Reminder’s key stat of interest is monthly recurring revenue on our publicly available plans, since this is the most predictable revenue in any of our businesses and thus lets me make consequential decisions like “Move the family to Tokyo, where rents are 5X what they were in Ogaki” (that happened, more later” or “Bring on help” (that also happened, more later).

Here’s the graph since we launched in December 2010. This is an MRR graph, so when we get annual pre-payments (we offer 12 months of service for 11 months of cash up front), they’re pro-rated over the next 12 months on this graph. However, since we’re a cash-basis business, the revenue number for the year will be higher.

Appointment Reminder MRR graph

MRR as of December 2014: ~$6,500 (up roughly 35% YOY)

Revenue for 2014 (on the publicly available plans): ~$75,000

Both of these numbers are approximations — we have credit card charges which will happen between now and December 31st, and they’re fairly predictable.

Brief fun digression on how much I love the SaaS model: our oldest customer signed up in January 2011, weeks after we launched publicly. He has since paid us $1,334, $29 at a time.

Our presently available plans are on the pricing page. They’re primarily segmented by appointment count. This is a decent if imperfect proxy for value a customer gets from Appointment Reminder. It is imperfect because an HVAC company which saves an appointment can earn $2,000+ in revenue. A hair salon, on the other hand, only values an appointment in the tens of dollars.

Once upon a time we had a $9 Personal plan available, but the customers who signed up for it were pathological in every sense of the word — some cost hundreds of dollars in imputed support costs then demanded that we send out $5 rebate checks for “unused” appointments. We killed that option a few years ago — I should never have offered it, but I thought I’d be able to pitch it to productivity bloggers at Lifehacker and the like and thereby gain exposure to their audience which might include office managers at professional firms. That never materialized.

Our target customer for the publicly available plans is the office manager who would otherwise be doing the calls herself. I call her Office Manager Milly. She’s comfortable with basic computer usage but not a technologist, earns about $20k to $50k a year, is generally an employee rather than owner of the business, is usually in her thirties or forties, and she has independent authority to make the purchasing decision. She works for a professional services firm, like a legal firm, an accounting practice, an HVAC installation firm, a plumbing firm, yadda yadda.

This is distinct from a personal service firm, like say a massage therapy practice. I thought personal service firms would be a big chunk of our book of business, but they aren’t: they’re smaller, they often are operated in non-businesslike fashions (many hair salons have no one accountable for making sure people actually come to appointments, but Milly is accountable to the business owner — this is one of her core tasks), and their per-appointment value is so low that losing an appointment doesn’t really constitute a hair-on-fire problem for them. It is a hair-on-fire problem for Milly: she can often be in trouble with the boss if she forgets to send a reminder even if the client makes the appointment anyhow, because potentially hundreds or thousands of dollars of revenue was just put at risk.

Anyhow, our publicly available plans range from Professional ($29, 100 appointments) to Small Business ($79, 300 appointments) to Office ($199, 1,000 appointments). This will likely change early next year — I’m taking my own advice to charge more, and re-aligning those numbers with actual customer behavior rather than the numbers I guessed four years ago.

I picked the original appointment quotas half based on projections and half based on total guesswork. My rough, untutored impression was that a personal service provider (stylist, massage therapist, etc) might average five appointments a day. I then linearly extrapolated how many workers would provide services at various target firm sizes and then fudged the resulting numbers a bit to provide a volume discount and to have round numbers. Translation: our pricing is, basically, made up.

Most of our customers are on the Professional plan, which annoys the heck out of me, but it’s my fault. Since I was thinking personal services, where 100 appointments a month barely sustains a sole practitioner (it implies $3k to $8k gross revenue), I thought any sizable business would be forced to pay more meaningful amounts of money. It turns out that you can run a nice boutique law office with sales in the high seven figures or an architectural consultancy with millions in revenue on less than 100 appointments a month. Believe me, I know several examples.

Anyhow:

Paying account breakdown: 142 (as of today)
Professional: 106
Small Business: 31
Office: 5

Churn rates: Churn is the percent of accounts which paid us money in month N who did not pay us money in month N+1. As we’re on a card-upfront free trial model, this definition structurally excludes someone who fails to continue a free trial as a churned account. That is in keeping with the business purpose of the metric: churn measures accounts which we once serviced satisfactorily which at some point were not willing to continue purchasing services, where trial conversion rates measure our effectiveness at convincing people that AR is right for their business.

We track it on a per-plan basis, since our customer behavior is wildly different. As a benchmark for you, for B2B SaaS sold on a month-to-month basis on a low-touch model, 5% is on the high side, 3% is what you should shoot for, and 2% is best-in-class.

I rather suspect that our churn rates have gone down over time as our product has improved, but that is difficult to tell, partly because we churn rates are very volatile at the (small) number of accounts we have. Our churn rates since inception are:

Professional: ~7%
Small Business: ~6.9%
Office: ~3.8% <— very small sample, so this number in particular is noisy as heck

I’m mildly dissatisfied with these churn rates, particularly in the months where churn eats the MRR increase from new converted trials (as happens occasionally), but they are what they are. In a more mature business than AR, I’d spend a lot more resources measuring this and working on the causes of it, but AR’s bigger problem is not closing enough new accounts every month for churn to really matter yet, so I prioritized working on sales recently rather than working on churn directly.

We track reasons that people churn. I separate that feedback into reasons we could have addressed and those which were beyond our help. “You didn’t respond to my emails” or “I needed the software to do X” plug back directly into our decisionmaking. Unfortunately, the bulk of our cancellations are for reasons like “We migrated to a solution which includes your product as a feature” or “We never really convinced the whole team to use it.” Historically failure-to-adopt has been something that we only can weakly influence, but we’re actively working on that with concierge onboarding/customer success as one facet of the sales initiatives.

Knowing churn lets you calculate the lifetime value of customer accounts. (LTV = Monthly price / monthly churn rate.) They are, assuming you trust our churn numbers as roughly representative:

Professional: ~$400
Small Business: ~$1,000
Office: ~$5,000

Knowing these numbers let us budget for paid acquisition (though we don’t do any significant amount of it — I’ve experimented halfheartedly but haven’t found a channel that works yet) and prioritize which accounts get proactive outreach from our sales rep and how much attention (and, ahem, commissions) we can afford.

Free trial acquisition: Our primary channel is organic Google search, by a factor of lots. This is partially driven by us ranking well for generic terms ([appointment reminder], [appointment reminder software], etc), very modestly by the sort of scalable content creation that put BCC on the map (I was unhappy with the content quality of our initial experiment into this for AR and opted not to scale until I fixed the process causing the quality issue… and then simply ignored that topic for the next 3 years), and referrals from clients.

Many people who run professional services firms are themselves consumers of professional services firms. If a lawyer gets an automatic SMS from their accountant, they might ask the accountant “That’s amazing. I wish I had that.” The accountant tells them “Ask the office manager what we use for it.” She says: “It’s really easy to remember: Appointment Reminder.” They Google it, bam.

It wasn’t the world’s most inspired naming choice, but the $8.95 I paid for the domain name is probably the best ROI of anything I’ve ever bought. (AR is virtually guaranteed to be a mortal lock on the query [appointment reminder] due to the combination of the exact match domain bonus and the fact that most links to it naturally cite the name of the company. The fact that it is a .org is irrelevant, except in that the .org was $8.95 and the company which owned the .com wanted $30,000 for it.)

So given our very, very lackadaisical marketing, we have very low traffic and a fairly modest number of free trials per month:

Unique visitors (2014): 66k, of which many are existing customers. Yep, this whole business has less traffic than my most popular blog post from 2011. I know, the irony, right?

Conversion to free trial: Due to the high percentage of people visiting our homepage who are existing customers, I feel like the most representative view of the funnel I can give you is this one (pulled straight out of Kissmetrics):

Funnel numbers

Free trials (card up front) (2014): ~350
Trial conversion rate: ~42% <— Would you believe I actually had no screen to track this number, simply because calculating it was not straightforward due to technical debt? Yep, I know, embarrassing.

You’re thinking “42% conversion rate! That is very high!” For low-touch B2B SaaS which you can sign up to without a credit card, it is generally closer to the 2~5% region. We require a credit card, both to prevent abuse of the system (ask me about the time AR was used to violate a temporary restraining order by, essentially, proxying harassing phone calls) and because forcing people to take their free trial seriously means that the increase in trial conversion rate is greater than the number of accounts we lose due to requiring the card.

Against comparable companies with cards required upfront, I feel like 42% is a happy place to be, but not outstanding yet. Hopefully it will increase by having more human outreach available. Additionally, we lost a lot of trials due to non-responsiveness to CS inquiries earlier in the year when I was sick. As one customer accurately opined in an irate email: “How can I trust you with my business long-term if you won’t answer an easy question on day 1?” (I apologized. Nothing else to do, really: under the health circumstances I wasn’t going to further stress myself over $29 a month.)

Since someone always asks me: no, no, no, we don’t hope that Office Manager Milly signs up for the trial and then forgets about us. We send at least ~5 emails during the free trial and, now that we have a sales rep, have an actual person manually reaching out, too. If someone’s account looks abandoned, I eventually get in touch with them and then terminate it proactively if I don’t hear back. I have gotten more complaints about that policy than you’d think: “Hey, why’d you close that account?!” “Because you hadn’t logged in in several months, had no client data in the system, and did not respond to several attempts to get in touch. I didn’t feel right taking your money.” “We were getting around to it! Open it back up again!”

Enterprise deals: I still can’t tell you numbers with a high degree of resolution here. We cashed only a handful of invoices this year, from AR and from one quick consulting gig, and any level of granularity gets legally dicey. Let me ballpark it as $50k < X < $100k.

As to how enterprise sales works at Appointment Reminder? In lieu of repeating myself, I covered it the other day and nothing changed over the weekend, so check out that writeup.

Vanity metrics: Our non-enterprise customers had 141k appointments (double last year) and sent over 200k reminders, saving the equivalent of about four full-time people doing nothing but dialing phones and leaving voice mails under sweatshop conditions. We saved our customers several million dollars in aggregate that would have been lost due to missed appointments.

My favorite story on this, from the principal of a contracting firm, is that his daughter is going to Harvard on the Appointment Reminder scholarship (when you lose $2k on a missed appointment it adds up quickly). We’ve also got a small pile of notes from folks in all walks of life thanking us for getting them to their doctor appointment, chat with the immigration lawyer, cable company, and he like on time.

Appointment Reminder: What Went Right

I did some sustained A/B testing on AR for the first time earlier this year. The full writeup would make an already long post even longer, but suffice it to say that we rejiggered the signup process and had a ~50% increase in the number of free trials as a result. I’ll talk more about that test in the future.

I also did some long-delayed work on automated customer onboarding and first-run experience earlier in the year, with the upshot that people are more likely to succeed in getting up-and-running and hence more likely to convert. Probably. I don’t have really great historical numbers there, but sentiment from customers improved and I got less “This is confusing. How do I…?” inquiries, anecdotally.

I have, finally, started working with other people. Appointment Reminder presently has two people working on it part-time, though this is only for the last few weeks so we don’t have great results to show yet. My virtual assistant who has been doing CS for Bingo Card Creator for several years is getting spun up as tier-one CS for AR, and I have a commission-based salesperson doing a combination of outreach to inbound leads and customer success style management of people’s trials.

I built software to support sales — easily the most fun thing I’ve done in AR since the original buildout of the core functionality — which helps the above-mentioned folks do their jobs. I recently wrote about that in considerable detail.

To build out that software and get the team spun up, I had to actually sit down and document our business processes, which was a great opportunity to force myself to actually think through them. The discipline of doing this made me confront a bunch of very obviously not optimal decisions I had made, like the lack of anything even approaching a repeatable sales process for enterprise details, so now we have one. Hopefully we can execute on it a bit in 2015.

Appointment Reminder had rock solid reliability in 2014. We had no systemwide outages, for the first time ever.

We did have an exacerbation of the “server occasionally times out during a phone call” problem that I mentioned last year was a real stitch in my craw. Errored-out calls increased from “a handful a week” to “a dozen a day”, which lit a fire under me to finally spend time investigating and fix things.

It turned out to be a combination of poor configuration choices for the MySQL server and the lack of an index for a particular query caused by our auditing system, which wasn’t a problem back when there were only thousands of audit records, but wasn’t quite so ignorable when it got to millions of audit records.

That issue is now fixed. I haven’t succeeded in completely eradicating timeouts yet. We dropped three calls in December. That is three too many.

Appointment Reminder: What Didn’t Go Right

Health management / burnout: Virtually all of the good news for AR this year happened between July and December. I accomplished very little which meaningfully drove the business forward in the first half of the year. This was due to a complex cocktail of stress, illness, and competition with the conversion optimization course for cycles (about which, more later).

This manifests itself, most commonly, as me fleeing from forward progress on the business and, on particularly bad days, avoiding my inbox. Avoiding my inbox never helps on stress levels, because I think that if I open it there will be more stress… and then it is suddenly Thursday and I haven’t checked emails since Monday. This caused me to deliver suboptimal customer service at a few points in the year — much better than last year, but still not where I’d like it to be.

I waited way too long to bring people on. Hat tip to Jason Winder, a good friend and fellow CEO, who finally managed to smack some sense into me. Here’s hoping that I can retain the fundamental character of the business while now having folks who I’m responsible to.

Due to having no process for closing enterprise leads and not enough brain cycles free to do the wildcat shoot-from-the-hip stuff which got us our existing enterprise customer base, our enterprise pipeline dried up early in the year and, as a consequence, we closed very little additional enterprise business.

Bingo Card Creator

Bingo Card Creator is a B2C SaaS application which is sold on a one-off transactional model (hint: don’t do this), primarily to elementary school teachers.

BCC was very firmly in maintenance mode. Substantially all customer support for it is done by my virtual assistant. I only get involved for refunds or harder issues where we have to do hand-fixes in the Rails console.

I worked less than five hours on Bingo Card Creator this year. It runs itself… not particularly well, but it runs.

BCC traffic, which is quite seasonal, peaked in 2012/early 2013 and has been on a steady decline since then. This decline accelerated in 2014. I assume it is due to some combination of the content on the website being stale (nothing has materially changed since, oh, 2011 or so?) and perhaps changes to Google’s algorithms, which I don’t actively keep abreast of these days.

Additionally, we’ve historically gotten a large portion of our traffic from AdWords. That also hasn’t been touched since 2011 other than buying Larry and Sergey a few more drink coasters made out of materials that can only be created in the Large Hadron Supercollider. AdWords is identifying less opportunities for our ads to be run profitably, hence showing them less, hence sending us less traffic (though costing us less in absolute numbers, so that partially balances).

I have done nothing to address the decline, as it is economically irrational to try to recapture those halcyon days of ~$5k a month sales when for the same amount of work I can hand off major portions of AR’s workload, cut my stress massively, and almost certainly make more money in the long-run.

BCC Stats

Sales: 1,128 (down 35% from last year’s 1,734)

Refunds: 15 (down from last year’s 57)

Sales Net of Refunds: $33,319.35 (down 33% from last year’s 50,156.16)

Profits: ~$20,000 (estimate based on best guess of allocation of costs to BCC which is consistent with last year’s number, down from ~$23,000 last year)

Wage Per Hour: ~$4,000 — I was checked out of BCC this year

BCC Web Stats

Visits: 500k (down 35% from last year’s 770k)

Unique visitors: 430k (down 32% from 630k last year)

Page views: 1.5M (down from 2.4M)

Traffic sources of note: Google (51%), AdWords (16%), direct (11%), BingHoo (11%)

Trial signups: 41,000 (down from 61,000)

Approximate trial to purchase conversion rate: 2.8% (up modestly from 2.6%)

BCC: What Went Right

There’s a lot to be said for having a business which runs totally on auto-pilot.

BCC: What Went Wrong

Traffic has continued to fall off a cliff, as mentioned previously.

I had collaboration issues with a consultant, which didn’t meaningfully impact business results (the trajectory on BCC is pretty clear), but which caused him unnecessary stress, which I regret. I had engaged Nick Disabato’s Draft Revise service to do A/B testing for BCC. My expectation with working with Nick was that I’d basically write checks and never have to think about the matter again. Nick wanted a more collaborative process with me, which I was not particularly unwilling to provide but which I did not prioritize actually making happen. As a consequence, I missed emails from him for months at a time, which inhibited his ability to do his work.

How disengaged was I from Bingo Card Creator? Nick and I got together for lunch last week and one of the things I wanted to tell him was that I wanted to dissolve the relationship amicably as I didn’t have time/effort/desire to manage it and he had previously expressed concerns about that. Nick brought up that he had actually stopped charging me several months ago and stopped work at the same time, and that I would have known this if I read the emails he had sent me. Whoops.

I’m glad he’s now freed up to work with better clients than me. They can actively engage with him on products which have a bright future ahead of them. That way, the insights he pulls out of the A/B testing process can actually get looped back into the product/marketing on a timely basis.

So if that was my level of responsiveness for someone working with me, how responsive do you think I was to customers? Yep, luckily my VA takes care of 95%+ of issues by herself, but the remaining 5% which got escalated to me (refund requests, etc) were often delayed by, literally, weeks at a time. I regret this — when I noticed it I apologized to customers, but that level of responsiveness makes me feel like BCC has become a business which is other than the kind I want to operate. I’m going to fix it or get it into the hands of someone who can.

Consulting

I had quit consulting last year, but had the combination of a wonderful opportunity fall into my lap at the same time as a move to Tokyo was in works. I can’t say anything about the engagement. Basically, same old same old, I built systems that helped make a software company a wee bit more efficient at getting a great product into the hands of more people.

The Move To Tokyo

So in lieu of that, let’s talk Tokyo. My wife and I moved from Ogaki, the small town in Japan where I had lived for 10 years, to Tokyo, as of a few months ago. This quintupled our rent on an ongoing basis and required substantial expenses to set up our new household, hence motivating me to do a quick consulting engagement.

Why move? The long and short of it: Ruriko (my wife) does not love Ogaki the way I love Ogaki, and wanted a change. That’s a good enough reason to do anything, but as it happened I was also feeling socially isolated in Ogaki (aside from Keith, I have no friends within the city anymore, and few enough close acquaintances), and I was ready to start a new chapter, too.

Why move to Tokyo? I wasn’t ready to uproot the family to the US, so looking around Japan, Tokyo is pretty clearly the best option for us. Ruriko has friends and family there (not immediate family, but I expect that to change), the QOL according to things she cares about is quite high there, and Tokyo has a rather substantial tech community.

I thought Tokyo was going to be… tolerable. I’m rapidly falling in love with it, or at least the little slice of it I’ve found in Nakameguro (our neighborhood). Jason Winder, a close friend of mine, runs a company in that neighborhood. We met when he started doing HN meetups several years ago — I used to go out 3 hours on the train once a month just to talk software with anyone — and, as we became friends and I ended up spending a bit more time in the neighborhood, came to think it represented a nice compromise of the advantages of big city living but with a friendly atmosphere.

I remember thinking years ago that Tokyo was just wall-to-wall overcrowded alienating hell, like the subways. The subways are indeed wall-to-wall overcrowded alienating hell, at least during rush-hour. I have solved this by making sure to sleep in until rush-hour is over and joined a coworking space within walking distance, so that I’m only on the subway twice a week rather than twice a day.

It has been great businesswise — in particular, Americans from Silicon Valley invariably hit Tokyo when they come to Japan but don’t come to Ogaki, so just by being there I get to meet with a lot of interesting folks who I would otherwise have to fly over the ocean to see. (I also hope to get a bit involved with the Japanese startup community, but have been rather busy lately.)

Productized Consulting

In addition to the blog (you’re on it), podcast with my co-host Keith Perhac, and occasional essay delivered via email, I have also made a few paid products which help software companies market and sell their software.

They include a book on conversion optimization, a video course on lifecycle email marketing, and occasional one-off training events on email, copywriting, productizing one’s own consulting services, and the like. I didn’t actually do any paid training events in 2014.

I have been working for the past year on a video course to teach software companies how to do conversion rate optimization for their websites and products. It has been, frankly, a long, slow nightmare of a project.

I originally opened pre-orders for it last year in December and anticipated delivering it by the end of January. That didn’t happen. The slip date shipped repeatedly [editor’s note: that spelling mistake was unintentional but I like it so much I’m leaving it in].

I accomplished partial delivery of the course in summer — it had been sold on a three tier model, with the first tier having access only to canned videos, the second additionally getting personalized advice about their websites in a group discussion format, and the third getting a mini-consultation privately. To apologize for the delay, I bumped everyone to the tier one higher than they had paid for, and then delivered the non-canned portion. This required a few weeks of scrambling to do mini-consults and give a few dozen companies conversion advice, but it was the right thing to do, and it kept most of the customers happy.

I suppose it is worth saying why delivering that was comparatively easy and delivering the course has been comparatively hard. Partially, expectations in terms of production quality for live events are much lower than they are for video, and I wanted this course to be produced much better than the last one I did (which was me talking into a webcam). The other factor is that there is a difference between doing and teaching, and (contrary to the old saw) teaching is actually sometimes harder than doing.

I have substantial experience with doing conversion optimization work and, shown a company’s (often-unoptimized) home page, trial signup funnel, and pricing page, the ideas flow really freely. That’s easy for me and I’m very, very good at it. What I am not an expert at is making other people good at it, too. Curriculum development, collateral (slides & etc), and actually shooting the course has taken far, far more time than I anticipated, and I’ve thrown out quite a bit of work because, after seeing the final product, it didn’t hit my internal quality bar. (Which is set rather high for this, partly in reaction to it being late and partly because I am “the A/B testing guy” and I want to make this some of the best work in my career thus far.)

Every time I get in touch with folks about this, I offer refunds for those folks who (quite reasonably) feel inconvenienced by continuing to wait on the course. Even so, I feel awful about it having taken this long. That has been one of my main stressors this year.

This has totally stalled my product development pipeline, as it were, for productized consulting. I had expected last year to do a few one-off training events again, because people were thrilled with them last year and the model very clearly works. I wouldn’t feel right breaking time off the course’s schedule to build, launch, and deliver those training activities, though, so nothing on that front has happened this year.

Productized Consulting Stats

Sales (Hacking Lifecycle Emails): $9,443

Pre-sales (Software Conversion Optimization): $2,988

Refunded pre-sales: -$1,588

Royalties (Sell More Software): $469

Gross Sales Net of Refunds: $11,312

Productized Consulting: What Went Right

I did a wee bit of tweakage to my email list such that folks get my favorite 5ish essays delivered in a sensible sequence after they sign up for it. This lets me get some mostly passive sales for Hacking Lifecycle Emails, as one of the essays has a brief plug for it. (Yep, prior to 2014 there was no lifecycle email to sell my course on lifecycle email. The cobbler’s children have no shoes.)

Keith and I found a good podcast editor, which makes getting new episodes up less of an ordeal than it was previously. Hopefully after the situations in our personal lives get a little more stable, we’ll do even more of them. I think, off the top of my head, that we recorded more in 2014 than any year previous. (Some are still in the can.)

Productized Consulting: What Went Wrong

I won’t belabor the point, but not delivering the conversion optimization course this year is, far and away, my biggest regret for the year.

As a consequence of not getting that course launch and having it block other things in the pipeline, productized consulting fell fall short of my financial goals for that segment of the business.

I have not written as much as I’d have liked to this year.

Some days I feel like I have a few mana pools of creative energy — one for programming, one for writing/speaking/podcasting, one for generic business stuff, etc. As a consequence of stress and this course hanging around my neck, the mana pool for writing has been bone dry for most of this year. On those few occasions where I’ve had enough left over to cast the spell of 10,000 Word Blog Post, I’ve found myself with nothing new to write about.

This is irrational, and I know it is irrational. What I should do is continue to write on topics that I’ve covered or work on in the past, because that provides incremental value to folks who like reading my work. However, I always use the burst of inspiration which covers conquering fun new challenges to fuel writing about those challenges, so when I have no fun new challenges being conquered, my writing cadence falls off a freaking cliff.

I’ve only published three essays to my newsletter this year, where I try to do it bi-weekly and I’m embarrassed when it is less than monthly. I don’t really love blog posts anymore as an expressive medium, and only do it when I have something which should go to a wider audience than my usual mailing list (like, say, a 10k word brain dump of everything I know about doing business in Japan).

Business Administration

I changed the way we do bookkeeping this year. Previously, I used homegrown bookkeeping software built into the Bingo Card Creator website to do my books. I then had my VA do them, by periodically dumping hundreds of pages of transactions from my credit card statements, emailing them over, and having her categorize them for me.

This was a poor use of her time. It is more important that customers get useful, friendly responses in a timely fashion than the bookkeeping get done on any sort of schedule. My VA did not particularly enjoy the bookkeeping work, which requires a certain level of obsessive-compulsive attention to detail (one reason why I am bad at it), and the process routinely produced errors. Occasionally, they were errors which — had I not caught them — would have materially affected our tax liability. If you make a one-digit error on the date in a single-entry bookkeeping system and file a $5,000 hotel stay in the wrong year, that costs me thousands in additional taxes.

As a result of this, collaborating with my VA on bookkeeping consumed an excessive amount of time relative to the value we were getting out of it. I was weakly attached to the notion of continuing automated expense transparency on the BCC website, but not at the expense of additional stress this year. So I looked for a better solution.

Enter Bench. They’re basically Bookkeeping as a Service, where an actual, honest-to-God human bookkeeper manages your books for you using algorithms as a lever rather than as a substitution for their work and expertise. (I previously used a few solutions which are designed to automate the process entirely, but they produced books which required so much manual correcting on my part that they were worse than having no books at all.)

Bench is structurally a simple app. They use Yodlee (presumably) to slurp transactions out of my bank accounts. I upload statements for those accounts where that is impossible, and receipts for those transactions which need them for substantiation purposes (receipts for hotel stays for business travel, etc). Graydon the bookkeeper does the books for me. The site has an interface for passing messages to them and annotating individual transactions with a note, like “That transfer to a German tech company wasn’t a distribution to an owner of the LLC — easy mistake to make since all my wires to Japan are — it was actually for a software license.” Graydon then goes in and recategorized as required.

It runs $125 a month at my scale and is worth every penny and then some. I’m thrilled.

Expenses (total): $74,913.90 (plus any transactions which are “in flight” and not entered yet, so probably $80k by the end of the year)

(I’d be remiss if I didn’t mention that, while that number is comparable to the one I report every year, it doesn’t include our expenses paid in Japan. Those are mostly immaterial with regards to clear business expenses — a ream of copy paper, yay — but Japanese tax law also lets me expense a substantial fraction of e.g. our rent and utilities, so we do.)

Major highlights:

People (accountant, VA, sales rep): ~$20k
SaaS: ~$15k
Hosting & Domains: ~$10k
Advertising: ~$7k
Twilio: ~$6.5k <— Largest single vendor after finally surpassing Google, which makes me happy, as I’m their biggest fan
RailsLTS: ~$5.5k
Credit card processing (Stripe/Paypal/etc): $4k
Macbook Pro: $3k

I finally joined the vast Mac conspiracy. Darn all y’all for being right. It is a much, much more productive environment than my old Dell, even considering the amount of time I’ve spent banging my head on the learning curve.

Goals for 2015

Bingo Card Creator

  • Retool CS processes such that customers get responses to their questions in a timely fashion, even when they have questions which (at present) require tier-two support.
  • Either continue presiding over BCC’s long twilight or sell it to someone who can give it the level of attention it needs.

Appointment Reminder

  • I’m shooting for $15k MRR on the publicly available plans. That’s slightly more than double what we’re doing right now, but I think it is doable with the assistance of my sales rep plus me actively working on marketing for a change.
  • We’ve historically sold HIPAA-compliant services on a very limited basis. I’m hoping to release HIPAA-compliant services sold on a medium-touch model, now that I have a very good understanding of the process of providing that in a compliant fashion and (knock on wood) actually closing the deals. This will probably be in the $500 to $1,000 a month range. If we could hit, oh, $15k MRR on those accounts as well, that would be nice, but that might be a bit aggressive.
  • The enterprise pipeline is, at the moment, close to bone dry. I should restock that, hopefully with our sales rep taking a bit of the workload. I have no clue how to forecast from “bone dry”, so let’s pick “break six figures” as a nice round number to shoot for.
  • I’d still love to earn that “Cashed a six figure check” merit badge but I’m not wedded to it.
  • Do one or two ambitious development projects on the product side of the house, if I have the time.

Productized Consulting

  • Ship the Software Conversion Optimization course as early as possible given my non-business commitments.
  • I’m hoping that, with the course out, I can do some more experiments in form factor this year. For example, I’ve been really wanting to write a book (from scratch this time) for a while, and maybe this is the year.
  • Numerically, I’m shooting for ~$80k in sales when I launch the course, and then hope to do about $150k in this segment for the year.

Big News

I have one potentially big project in the offing, but it isn’t public knowledge yet. Suffice it to say it could materially impact the above by a lot if it comes to pass. More about that in the usual places as it gets closer to happening.

I kept the best news for the end. Ruriko and I were blessed by the birth of our daughter, Lillian. I love her to pieces. I’m still working on the balancing act of being a husband and father while also running the business, but I’ve got the best co-founder in the world to figure out the challenges with.

About Patrick

Patrick is co-founded Starfighter, founded Appointment Reminder and Bingo Card Creator, and presently works at Stripe on Atlas. (Opinions on this blog are his own.) Want to read more stuff by him? You should probably try this blog's Greatest Hits, which has a few dozen of his best articles categorized and ready to read. Or you could mosey on over to Hacker News and look for patio11 -- he spends an unhealthy amount of time there.

25 Responses to “Kalzumeus Software Year in Review 2014”

  1. Marcel Popescu December 22, 2014 at 11:10 am #

    Definitely the best news! Many many congratulations on your daughter!

  2. Nathan Clark December 22, 2014 at 12:16 pm #

    Hey Patrick,

    Great write up.

    Regarding the below excerpt I’ve taken from this post: If you want to run anything by me regarding that let me know, I create and deliver content for corporates and would have no issue helping out in some capacity – especially over the holiday period where I have some time off.

    “What I am not an expert at is making other people good at it, too. Curriculum development, collateral (slides & etc), and actually shooting the course has taken far, far more time than I anticipated, and I’ve thrown out quite a bit of work because, after seeing the final product, it didn’t hit my internal quality bar.”

    All the best.

  3. Josh December 22, 2014 at 1:43 pm #

    So, obviously this is an odd personal question, but since you are the Foremost Internet Expert on Names (and the rules about them that don’t apply in formal systems), is your daughter’s name officially spelled using latin letters in Japan? I recall you having a bumpy time with your American name in the various industrial cogs of Japan.

    • Patrick December 22, 2014 at 5:00 pm #

      The great thing about official names is that you have so many to choose from! Her name has kanji (利々杏), and they will be used in most places.

  4. Darren December 22, 2014 at 4:38 pm #

    Congratulations on the new daughter. Excellent write-up of your business-side. I really appreciate your candor in particular. So many of these sorts of summaries only focus on the positives and gloss over the challenges, which makes your writing particularly refreshing.

  5. Dan December 22, 2014 at 7:23 pm #

    Hey Patrick as always I love it when you post such a great way to start the week, you got me inspired to do a similar round-up (probably going straight to hard drive!).

    Regarding your course, it probably doesn’t fit with your current conception, but I recently talked to Shayna from Espresso English on my show and she had a really interesting approach to finishing her courses– she pre-sells a “x day course”– and then works really hard to deliver a daily module. She then sharpens the thing up after x days and raises the price for future customers (and those who didn’t help her develop it.” Anyway thought it was a cool approach. Wish you the best of luck in 2015 hope to run into you somewhere.

  6. Kevin Xu December 23, 2014 at 12:48 am #

    Many many congratulations on your daughter! I remember hearing the news in Mountain View and glad to see the move to Tokyo has also gone well :)

  7. Dirk Paessler December 23, 2014 at 3:00 am #

    Welcome Kanji and congratulations to you and Ruriko!

  8. darren December 23, 2014 at 7:13 am #

    Great write up.

  9. blendahtom December 23, 2014 at 10:23 am #

    Thankful you took the time to share this Patrick!

    I’m intrigued into the process of this new advisor role you mentioned in this thread.

    How does that process work from vetting the companies to coming to terms.

    Blessings,
    Tom

  10. Tim Romero December 23, 2014 at 4:21 pm #

    Congratulations on the birth of Lillian! Certainly the biggest news of the year.

  11. Rob Walling December 24, 2014 at 8:54 am #

    Congratulations, sir! Thanks for another exceptional wrap-up of your 2014. It’s nice to hear about others’ highs and lows as it helps me put my own into perspective.

  12. Matthew Paulson December 24, 2014 at 1:21 pm #

    Congratulations on a solid year Patrick.

    I appreciate your perspective that having a bigger income past a certain level of comfort has quickly diminishing returns. After having a decent place to live, enough money to provide your family’s basic living expenses, having reliable transportation and a nice laptop/access to all of the recurring monthly services you want, there’s very little happiness that extra money can bring.

    In the past, I made the mistake of optimizing solely for income at the expense of working on other currencies that would likely lead to more happiness (like having a better personal brand, having more free time, doing things outside of work I actually enjoy (like travel), etc.). It’s always nice to hear another voice that says “Money isn’t everything.”

  13. Nick December 27, 2014 at 3:44 am #

    “Is it weird to say that is distinct from actually wanting the money? I wouldn’t mind a little bit more to establish more of a buffer for my family, but other than that, money qua money doesn’t buy me anything I don’t already have. It might as well be WoW gold.”

    No, that is not weird at all. That is exactly how I feel about it.

    Good luck in 2015,
    Nick

  14. Matteo Cassese December 30, 2014 at 1:45 am #

    Patrick, congratulations! Both for your daughter and for the candor and openness of your business review. It really helps to follow your process because everyone can learn from the solutions you are seeking (and also found!) for your challenges.
    I’ve been inspired by your words and shared my 2014 review in this post: http://www.lafabbricadellarealta.com/2014/12/29/2014-my-year-in-review/

  15. Ido Schacham January 5, 2015 at 5:11 am #

    Excellent post, thanks for sharing! I especially liked how you defined your target audience. I know that a lot of companies have trouble with that.

Trackbacks/Pingbacks

  1. 12 – Kalzumeus Software Year in Review 2014 – Exploding Ads - December 22, 2014

    […] Read more about this article: http://www.kalzumeus.com/2014/12/22/kalzumeus-software-year-in-review-2014/ […]

  2. Ceiba3D Studio | Kalzumeus Software Year in Review 2014 - December 22, 2014

    […] 2014-12-23 by VINCENT YU in category Science with 0 and 0 Home > Blog > Kalzumeus Software Year in Review 2014 Source link […]

  3. 12 – Kalzumeus Software Year in Review 2014 – Official Offeryour.com Blog - December 22, 2014

    […] Startup article found at: http://www.kalzumeus.com/2014/12/22/kalzumeus-software-year-in-review-2014/ […]

  4. 12 – Kalzumeus Software Year in Review 2014 – On Advertise.com Blog - December 22, 2014

    […] Read more here: http://www.kalzumeus.com/2014/12/22/kalzumeus-software-year-in-review-2014/ […]

  5. Do You Have to Be Excited by Your Startup? - December 24, 2014

    […] read the great annual report by SaaS entrepreneur Patrick McKenzie (known on hacker news as patio11) and […]

  6. 2014 Year in Review - How To Go Freelance - December 27, 2014

    […] reading various 2014 Year in Review posts, including Stephen Waddington, Nathan Barry and Patrick McKenzie, so thought I’d share my own mini review of the year, concentrating on this blog as my main […]

  7. People & websites that helped me in 2014 [thank you message] | Chandoo.org - Learn Microsoft Excel Online - December 29, 2014

    […] Flynn, MJ Demarco, MrMoneyMustache, Patrick & Amy […]

  8. 2014 My year in review | La Fabbrica della Realtà - December 29, 2014

    […] have seen some great examples of End of Year Review posts, for instance here and here. These great posts made me think about my own commentary about the past twelve months, and since I […]

  9. Bootstrappers 2014 - A Year in Review - Startup Clarity - December 31, 2014

    […] Patrick’s 2014 in Review […]