World Tour Retrospective
I have just completed a nine week world tour of a Ruby on Rails database training course, plus another month of preparation. In this post I want to share the details and financials of the trip in the hope that anyone planning a similar endeavour will find it useful. This is also a retrospective: what worked, what did not, what I would do differently.
I ran fourteen courses in ten cities for around seventy people. These numbers include only expenses incurred on the trip, and exclude ongoing costs like rent back home.
First the most important number: profit. $10,000 before tax over three months. That is not too shabby, especially considering there was plenty of non-work time in there. I did not keep very good records, but the month before I left I probably spent about 20 hours a week on writing and promotion, then while I was travelling it was mostly just the teaching hours, with a bit of extra sales work interspersed.
My wild prediction for revenue was between twenty and thirty thousand, and I (surprisingly!) landed right in the centre of that. Before I left this was not looking likely, but I picked up a few extra courses along the way that got me over the line.
At $350 a registration with no variable cost, each individual sign up made a big difference to the bottom line. My average course attendance was six, out of a maximum of twelve, so there was a lot more potential I could have tapped. Mostly this is inexperience in marketing on my part, on which I have included a section below.
I did not keep track of cash flow because I had enough of a savings buffer that it was irrelevant to me. In general though, my biggest expense—the around the world flight—was covered before I booked it.
Where possible I stayed with friends, otherwise hostels or by finding somewhere via airbnb, which I highly recommend. I prefer airbnb over couch surfing for this type of trip because I do not feel there is the social contract to hang out and party with your hosts—important when you need to run a training course the next day! The best part is I usually get a kitchen where I can cook my own meals. I stayed in a hotel for two nights, and did not enjoy it. No kitchen, no laundry, two televisions in my room, and it accounted for 25% of my accommodation expenses! (Though this was for Ruby Hoedown, a nominally free conference, but they needed to book up the hotel rooms, so I actually chalk this up as a conference expense.)
I bought at least a round of drinks after every course. Heading out to the pub was an excellent way to top off the day, though I did end up drinking a bit more than I would have liked. This worked really well and will become a staple fixture of any courses I run in the future. When resistance was offered I told people the beer was included with the price of the ticket, to which they wisely responded I should have mentioned it on the sales page!
I felt that food was my indulgence while travelling. I ate many three course meals at excellent vegan restaurants. I did not have any trouble eating well as a vegan, even in Kansas City and Nashville, though I did feel I was not eating as healthily as I normally do. I tended to frequent vegetarian places, but if I ended up somewhere there was nothing on the menu, I asked the restaurant to make me something, which usually resulted in a better meal than anything that would have been on the menu. The best non-dining meal was a massive box of organic black beans, brown rice, and salsa from the Wheatsville co-op in Austin for only $3. So tasty, so filling, so cheap.
The food category is for market shopping, dining is when I ate at a restaurant.
I avoid Paypal as much as possible, so for payment processing I chose an originally Australian company Paymate. Their rates are steeper (5.2% overall), they have some rough edges (most notably, no IPN), and I was simply unable to take payment from about five registrants for which I had to revert to Paypal. Their customer service however has been excellent and they have promptly helped me over phone and email to solve any problems that have come up. I looked into obtaining a merchant account, but that was going to take weeks to set up and I would not have been able to take payment in local currencies. One day I hope Australia’s banking system will catch up to the internet.
Massive fail. My Australian phone did not work in the US, so I purchased a cheap prepaid in San Francisco. I lost that in Seattle, and the second one I purchased did not work in the UK. I was hoping my Australian phone would now work but it would no longer turn on, so I had to purchase a third in London. And they all had different chargers. Despite my recantation, an iPhone that Just Worked would have been really handy.
An around the world plane trip was $3600 with Qantas. I booked this through an excellent travel agent who I have been using for many years and find the convenience invaluable, especially when I need last minute changes. I did briefly shop around and speak to a Jetset agent who was very keen, but the price came out about the same. I spent another $1000 in domestic flights and trains (that I booked myself) and the rest of the expense was local public transport. Given I visited twelve different cities on short notice—often trips were booked only a few days before I took them—I feel this is reasonable.
I was not able to spend any of my frequent flyer miles on this trip, and my grand plan of using them to fly business class back from London to Melbourne backfired when an earlier flight was cancelled causing mine to be overbooked and all upgrades cancelled. We were delayed in Singapore overnight, and fed and put in a hotel, which actually made it quite a pleasant trip home. Two long haul flights back to back is a bit much for me. As a side note, the new airbus A380 planes are really nice, and the entertainment system has every Oscar winning movie for the last thirty years, which did wonders for my neglected film education.
Uhm, yeah. These are on my credit card statement but I have not matched them up to a receipt yet. Somewhat concerning eh.
My venue expenses varied wildly, from a free registration given to the company hosting, to $800 for a specialized training venue. Teaming up with a local company was in general a far better option. Not only was it cheaper, but the local endorsement helped registrations, and the facilities were usually better as well. Training venues are generally a bit sterile (with the notable exception of The Royal College Of Physcians in Edinburgh, which was incredible). I lost about $300 in cancellation fees from booking venues too early in Seattle and London.
My maximum class size is twelve, but on average I had six attendees. The best attended sessions were those with a major local sponsor who had good marketing lists, such as Engine Yard in San Francisco, Databasically in Kansas City, or Jumpstart Lab in Washington DC. This trip really made me appreciate the value the network of a good promoter brings. Were I to do another tour, I would definitely spend more time and money engaging people in this role. I also ran two classes for companies, one privately in San Francisco and an open one in Gothenburg at eLabs, which both really helped the bottom line. Targeting companies rather than individuals is something I will be looking into more in the future. It is harder, but the payoff is six registrations rather than one.
I needed about six expressions of interests, some bordering on confirmed registration, to have a good chance of success. I revised my initial minimum class size down from six to four, but even then still ended up running a very rewarding class for just one, cancelled down from three at the last moment. I had to cancel Portland and one of the two sessions each in Seattle and London due to lack of interest converting into registrations. I was trying to organise a course in Barcelona, but with only three people explicitly interested and no company to host I had to abandon it.
Registrations before I left were much lower than I was hoping, which I found unnerving. I offered a 15% early bird discount in an attempt to coax out registrations, but this was largely ineffective. The price for the course was comparably cheap anyway, perhaps this altered the perception of quality?
In talking to people about the tour, they assume I have some sort of cancellation policy, especially since I am outlaying coin upfront to book venues and flights. Not so. I offer a no questions asked full refund which after almost one hundred registrations (I had run the course locally before this trip) has never been taken up, even in the case of a late cancellation where I explicitly offered it. When your material is good, and it should be good, you do not need to worry about a refund or cancellation policy.
Before the tour this course was really well attended in Australia, and I dramatically overestimated how much my local influence would survive the transition to the northern hemisphere. In Australia I regularly speak at meetups and am quite involved in the scene, so people know who I am, how I present, and what I do. As a result, I sold out my Melbourne and Sydney courses with the barest excuse for a sales page and a post to the mailing list. I should not have been surprised, but this did not happen internationally.
I started writing, publishing twelve posts with three screencasts on my own blog, plus guest posts on Rails Inside, Engine Yard and Eden Development. All of these saw decent traffic—the biggest referer being Ruby Flow—and helped establish myself as an expert on the topic. More than anything else, the screencasts convinced a number of people to sign up (based on informal feedback). In hindsight, I should have established myself as an expert internationally before I announced my training.
Before I left I felt like I had run out of marketing ideas, and that I had reached saturation in the Rails community: even if you were not coming, you at least knew about the course. It was rude shock when the first three programmers I spoke to when I arrived in San Francisco had no idea about it. The fraction of people who read the same internet as me is disarmingly small.
I also dramatically changed my sales page. It was hard for me to write copy that was assertive without being too over the top marketing. The page was initially quite terse, but I fleshed it out based on some advice I cannot remember the source of: 95% of people will not read long copy, but they will not read short copy either. Write for the 5% of people who are interested, and give them as much information as possible to convince them to buy.
I was skeptical of testimonials, but they really help. Geoff from PeepCode wrote a really positive review on Twitter to his five and a half thousand followers, and I spent the afternoon following up leads it generated! This relates to the promoter point above: a good promoter is invaluable. It also gave me a great leading review for the sales page.
The core material of the course did not change over the course of the tour. I had already run a few courses in Australia to refine it, though even then I was structurally on the money from the outset. I did incorporate new ways of explaining concepts, which usually took the form of me drawing and explaining on the whiteboard. I much preferred this style to slides, and will use it more in future presentations. In a particularly small class I abandoned my deck almost entirely and taught the course on pen and paper, an approach which was awesome but only for one or two people. I feel I could have done a better job of facilitating and incorporating people rather than me speaking most of the time; when conversations did get started amongst participants they were generally excellent.
There was a lot of coding in the day, which meant time was wasted on irrelevant technical issues. I became better at introducing and refining the coding examples over the course of the tour to minimize this time, though due to the wildly differing levels of experience I do not think I could eliminate this all together, and hopefully there were skills learned here which, while not directly related to the course, were still useful to people.
I ran a different course, Introduction to MongoDB, at the Lone Star Ruby Conference. This was stressful both in preparation and in that the course had thirty people in a sub-optimal room (round tables, not rows!). With new material and a drastically different number of people than I was used to, I did not hit this out of the park. I had calculated that being involved with the conference would give me greater visibility and assist with registrations for my other courses, but this did not turn out to be the case. In hindsight, this course was an unneeded diversion from my core goal, especially since it resulted in no appreciable revenue.
Living on the road, a couple of days in each city, destroyed a number of my habits. If you follow this site you may have noticed the dearth of posts. My sleeping varied wildly, especially when staying with people short term since you pretty much have to be on their clock. My fitness took a dive also. I was running around 40km a week before I left, which dropped down below 20km after I left; I was getting close to a 20 minute 5km, which is going to take me a while to work back up to. I run more scenically when I travel: my average run length was much higher than usual, but at a very slow meandering pace and with no regularity. It’s a great way to see the sights, especially in Washington where I got around all the monuments in an afternoon.
I found it difficult to keep any sort of routine, but it is heartening that it is coming back quickly now that I am home, perhaps because I missed it so much while travelling. The upside though is even on (or perhaps because of) such a hectic schedule, I got to know some really cool people really quickly and catch up with friends I had not seen for years. Socially it was an excellent trip.
I was ready to come home at the end of the two months. If I had not been staying with close friends in London, which was more relaxing than the average of my tour, it probably would have been slightly too long a trip. I felt like I put off a number of projects until I got home, though I still managed to get some good code written (Lindy Log was almost entirely written while I was in London).
Settling back home
It rained a lot while I was gone, which I was glad to avoid, but our garden is totally kicking it now. As long you like turnips and parsley, but still. It is really nice getting back into a routine with Jodie, the house, food, and Melbourne.
While there are a number of big cities I did not get to visit which would very likely provide solid numbers (Boulder, Boston, New York City…) at this stage I am not planning a further tour. I am working with PeepCode on creating an online version of the course for those who were not able to attend, but am not planning any further in-person workshops at this stage.
Overall this was an exhilarating way to spend three months, and for my first major venture after quitting my job I am exceedingly happy with the result.