Category Archives: microISV

Pivot Tables demystified

pivot tablesOnline businesses generate a lot of data. Sales data, marketing data, traffic data etc. Pivot tables can be a useful tool for analysing and extracting useful information from this sea of data. A lot of people seem to have heard of Pivot Tables without understanding what they are or how to use them. Despite the slightly cryptic name they are really just a way of summarizing tables of data. Nothing to be intimidated by. I’m going to try to demystify them here with a simple example.

Let’s imagine you have got an Excel spreadsheet with a month of (fictitious) sales transaction. It looks like this:

sales spreadsheet

You want to find out:

  1. The total value of sales of each product
  2. The number of sales of each product
  3. The total value of sales of each product by country
  4. The total value of sales of each product by day of the week

How would you do it? You can crunch the numbers using a calculator, but that is very tedious and error prone. If you are a programmer you can export the data to a .csv file and write a small program in your favourite language to read it in, crunch the data and write the results out. You probably think you can do it in 10 minutes, but I bet it will take you at least an hour to get it working and debugged. I did all the above in 1 minute and 20 seconds using Excel pivot tables.

Here is how you can do it (screenshots from Excel 2007). You can download the spreadsheet if you want to try it yourself.

Select all the data, including the header (A1 to D222).

Click on Insert in the Excel Ribbon bar.

Click on PivotTable.

pivot table 1

The Create Pivot Table window will appear. Click OK.

pivot table 2

The PivotTable Field List will appear. We want to find the number of sales for each product. Drag the product field to Column labels and the value field to Values. This gives us the total value of sales by product.

pivot table 3

To change this to the number of sales pull down the Sum of value drop-down list and select Value Field Settings….

pivot table 4

Change Summarize value field by from Sum to Count and click OK.

pivot table 5

The number of sales of each product are now shown.

pivot table 6

Now drag the country field to Row labels. Then click on Count of value, select Value Field Settings…, change it back to Sum and click OK. The total value of sales of each product by country is now displayed.

pivot table 7

We now need to add a day of the week column. Click on Sheet 1 and add a new column as shown.

pivot table 8

Now select all the data from A1 to E222 and insert a new pivot table, as before.

pivot table 9

Drag the fields as shown to get the total value of sales of each product by day of the week.

pivot table 10

(We’ll quietly ignore the fact that the number of days aren’t divisible by 7 in the data.)

We can even display by product, day of the week and country with one more drag.

pivot table 11

Excel also supports pivot charts if you prefer your results in graphical form.

pivot chart

Obviously this is a very simple example, but pivot tables can be used to quickly analyse much larger and more complex data sets. Next time you have got some data to analyse consider whether you would be better using pivot tables or pivot charts.

*** UPDATE ***

You can also use my Hyper Plan software to create pivot tables. It is a lot simpler than the above! There is a free trial.

Promoting your software

This is a video of a “Promoting your software” talk I did at ESWC 2011. In it I discuss my experiences attempting to try every form of promotion known to man including: SEO, Google Adwords, magazine ads, affiliates, Facebook ads and hanging out in wedding forums using a female pseudonym. With real data! You can’t read the slide text in the video, but I have included the slides below.

A couple of people asked me afterwards whether anything I tried had worked. Yes! I wouldn’t have survived long as a microISV otherwise. But I didn’t really want to dwell on what had worked for me because it might not be relevant for different products with different price points in different markets. Also that isn’t the sort of information I want to give to my competitors.

Things were running a bit late due to problems with the projector, so I didn’t have time for the audience participation at the end. Projector problems are really not what you need when you are just about to do a talk to a room full of people! Many thanks to Alwin and Sytske of Collectorz for doing the video and to Dave and Aaron of Software Promotions for helping to sort out the unruly projector.

Selling software vs selling eyeballs

Lets say I’ve written some downloadable software and I want to make some money from it (‘monetize it’  in the ghastly common parlance). Should I charge people for using the software or should I give them the software for free and make my money from ads?

Lets look at some numbers.

The typical conversion rate for downloadable software is around 1%. That means that about 1% of the people that visit your site will typically buy your software. So, for each $1 of your sale price you will make around $0.01 per unique visit. Downloadable software is often priced around $30, so lets say $0.30 per unique visitor. Some software sells for less than $30, and some for a lot more. Also I haven’t taken account of the lifetime value of a customer (e.g. upgrades) – which will increase the value per customer; or payment processing and advertising costs – which will reduce the value per customer. It is just a ball park figure.

How much money could I make from advertising if I give the software away instead? I have been doing some research for a while on this. Based on various data I have gleaned from the BOS forum and blogs, advertisers typically pay per $1-$2 per 1000 impressions (CPM). Some data points:

  • A well known ad network offered me a $2 CPM (-19% commission) to put ads on this blog.
  • Dating site plentyoffish.com reported making $10k/day from Adsense off 200 million pages per month in 2006, which is a CPM of $1.5
  • A sample of 8 Facebook app developers were averaging less than $1 CPM.
  • “If a site like Stack Overflow, which does almost a million pageviews a day, can’t make enough to cover even one person at half time using Google AdSense, how does anyone make a living with AdSense? Does it even work?” (Stackoverflow blog)
  • “Charging your end user isn’t the only way of pricing software. You can choose to give it away for free and then make money by, for example, charging for consulting, installation and training; or selling advertising. The latter, although a common model for web sites, is extremely hard to make work. CPM – the cost per thousand impressions – can be as low as a dollar. In other words, to generate one thousand dollars of revenue you might need to serve up as many as a million pages. To generate enough revenue to support a team of three or four people, that means having ten million page views per month. Most web applications simply aren’t going to attract that sort of traffic.” (p57 of “Don’t just roll the dice”)

So, taking a ballpark CPM of $1.5, I would be making $0.0015 per page impression.

Obviously I am comparing apples (unique visitors) and pears (impressions) here. How many impressions does 1 unique visitors equal? My own table planning software averages around 2 impressions per unique visitor (many visitors bounce out after reading 1 page, even those that buy might only visit the home, download and purchase pages). So, assuming this is typical, the product based site described above should be making around $0.15 per page impression. Based on these (admittedly rough) numbers an ad driven site needs approximately 100 times as many page impressions per day to make the same money as a product driven site. To make around $100k per year the product site would need about 900 visitors/1,800 impressions per day. To make the same amount the ad driven site would need around 90,000 visitors/180,000 impressions per day. But it is worse than that because the ad driven site is going to have significant hosting fees and potentially many more users to provide support for. I know which business model I prefer.

So why not get the best of both worlds – sell the software AND put ads on the site? Because then you are sending out all sorts of bad vibes (“this software isn’t good enough that they can make a living off it”) for a measly 1% extra income from the ads. I’m confident the presence of ads will lose you >1% in product sales.

An ad supported model is only viable when you have lots of traffic. Most downloadable software (or web apps) won’t be able to generate that sort of traffic, even if it is good and you give it away for free. If you really want to run an ad supported business, you are probably better off basing it around forums and user generated content than free software.

In the final analysis if you are creating software I think it makes more sense to create something of value, grow some balls and charge for it. Rather than giving it away and selling eyeballs in the hope that someone else will take their money and throw you some scraps. Think balls, not eyeballs.

Robo Print Job Manager

I recently did some consulting for Paul Roberts on his print estimation software, as usual concentrating on improving marketing and usability. He sent me some feedback at the end of the consulting and was kind enough to let me reproduce it here.

I got Andy to check out why my software was not selling as well as I expected. His approach was very thorough and covered the entire downloading experience, from Google to first impressions of the software. Some of the findings were very unexpected, and he found a considerable amount of room for improvement in various areas. Many suggestions were things I had never considered. I needed a brutally honest opinion with plenty of recommendations, and Andy (The Gordon Ramsay of the Software Development World – in a nice way) exceeded my expectations in his approach, his professional knowledge, and his knowledge on where I’m missing out on sales. Even though we were 13 hours apart in time zones, we covered a staggering amount of ground.

I’m still working on the changes he recommended (there were quite a few), but I am confident that I will recoup the consultation fee paid to Andy very quickly once these changes are in place. I would definitely recommend Andy’s services, as this was value for money, particularly for those who find their software is not doing as well as it should do and need to look at it from a completely different perspective.

Paul Roberts, www.roboprintjobmanager.com

I am quite tickled at being compared to talented chef and TV bad boy Gordon Ramsey (warning, lots of swearing). However, while I aspire to his level of passion, knowledge and commitment, I would like to point out that I don’t use the F word during consulting (unless perhaps I find out that you are paying Google $0.50 each time someone in China clicks on your ad for a $20 product).

A simple change that doubled sales

A while back I did a day of consulting for James Wang on his SQL Pretty Printer software. One of my many recommendations was that he displayed the name of the licensed user prominently in the software, to discourage casual license key sharing. He recently reported back to me that he had made this change and it had significantly increased the number of orders for multiple licenses. The average number of licenses per sale increased from 1.34 to 2.65 since he made the change in February 2011. That is a 98% increase in sales! And it only took a week to change the licensing system.

James commented:

Each time I have had an increase in sales, I found that it was mostly due to marketing related issues like changing the licensing system or paying for a link from a site which has a highly targeted audience for my software, not due to a new version release.

Of course it helps that James had a good product in the first place.

15 criteria for evaluating software product ideas

Choosing the right product to develop is crucial. Great execution is also very important. But if you develop a product that no-one wants or no-one is prepared to pay for, then you are going to fail, no matter how well you execute it. You can often tweak a product or its marketing to make it more successful based on market feedback (‘pivot’) .  But the less pivoting you have to do, the better. Below I list some of the criteria I think are important for evaluating the potential of new commercial software products.

1. Are you solving a real problem?

Has your customer got a ‘bleeding neck’? Is your software solving a problem compelling enough that someone is going to download it, install it, evaluate it, buy it and then learn to use it, with the accompanying risks of credit card fraud and malware? It is hard to change people’s habits. They are going to keep doing what they are doing now (e.g. pen and paper or Excel) unless you can convince them your software offers them very significant advantages.

2. How much will people pay for this product?

This is a complex question and depends on many factors. You should be able to get a rough idea by looking at your closest potential competitors. But there are some types of software that people don’t expect to pay for, no matter how difficult or expensive it is to develop – for example web browsers and media players. There are some users who can’t pay – for example children and people in some developing countries. And there are some people who won’t pay – for example many Linux users. So good luck selling a media player aimed at teenage Linux users in China.

3. Is the market big enough?

Is the market big enough for you to make a living? How many people are looking for solutions to this sort of problem? This is less of a problem than most people think. Given the huge number of people with Internet access and credit cards it is possible for a small company to make a decent living from a market that appears very narrow. Narrowing your market also allows you to be much more focussed in your marketing.

4. Can you promote it cost effectively?

How are you going to reach customers: Adwords, SEO, partners, magazine ads, direct mail, social media, affiliates, resellers or other methods? Can you do it cost effectively? How much is each sale from Adwords going to cost you assuming a 1% conversion rate? If it costs you $31 in advertising for each sale of a $30 product, you aren’t going to be in business long. But if you can cross-sell it to customers you already have a relationship with, that is a huge plus.

5. How much competition is there?

If there are lots of established competitors, you may have a hard time getting noticed. Personally I wouldn’t want to go into any market where I didn’t have a reasonable shot of getting to the first page on Google for at least some of the important search terms. For example, I think it would be incredibly tough to succeed with yet another Twitter, RSS, todo list or backup application. Conversely, if there are no competitors, that means that there may be no market. Creating a new market is tough, especially for a small company. Ideally you want a market where there are competitors making a decent living, but you think you can do a better job than them, or at least be different to them in some important way.

6. How is your product different?

Many vendors try very hard to reach feature parity with their competitors. But successful marketing means being different to your competitors. How is your product going to be different? What is your positioning? Note that just being cheaper than your competitors is not enough.

7. How high is the barrier to entry?

How long will it take you to create a minimum sellable product? If the barrier to entry is too high, you may never have the time, cashflow and energy to reach v1.0. As a self-funded microISV I wouldn’t want to work on any product where I couldn’t deliver something sellable (a minimum viable product) within 6 months. Conversely if the barrier to entry is too low, then it will be easy for others to copy your idea if it is successful.

8. Can you reach critical mass?

Some types of applications need a certain number of users before they can take off (network effect). For example, a massively multi-player game, dating site or auction site isn’t going to be very interesting until the number of users reaches a certain threshold. Do you have the contacts and financial resources to reach this threshold?

9. Do you have the technical skills and domain knowledge to create this product?

If not, how long will it take to learn them? Different technologies suit different types of problems. Using an inappropriate technology, just because it is one you have experience in, is unlikely to end well.

10. Are you scratching your own itch?

If you can be your own customer, then this can be very helpful in coming up with a good solution. But be wary about assuming that your needs are the same as everyone elses.

11. What is the lifetime of the product?

Is the technology going to be obsolete, or will the market disappear within a couple of years?  Are customers likely to buy upgrades to new versions? The longer you can sell a product for, the more profitable it is likely to be.

12. Is a good domain available?

Can you get a good domain for your product? Domains that contain keywords that people are likely to search on will help with SEO.

13. What are the risk factors?

Every dependency is a risk factor. If the platform your products runs on dies, then your product dies.  If you are writing an add-on for another product, then you can be put out of business pretty much overnight if the core product dies or if the functionality of your add-on is incorporated into the core product. Can you get source code for third party libraries?

14. Is the passion there?

Good software takes a lot of time and effort. Don’t believe the hype about 4 hour work weeks. Is it going to be interesting and fun? Do you have the passion and commitment to still be working on this product in 10 years time?

15. Will it make the world a better place?

Software products can be an enormous force for good in the world, increasing productivity and allowing people to do things they couldn’t do otherwise. You don’t have to be the next Google to be doing something worthwhile. But creating a “me too” clone of an existing software package or a product that encourages anti-social behaviour (e.g. spamming) isn’t going to make the world a better place.

Making a decision

You need to look at all these criteria before you make a decision. For example, a short lifespan or a small market might be compensated for by a high ticket price. If you are evaluating several products, create a simple table with a row for each criteria and a column for each product and compare them side by side.

Success is always one feature away

In my consulting and various other dealings with aspiring microISVs, I notice certain recurring patterns. One of the most common is the belief that it is just one missing feature that is holding back a product from the commercial success it deserves. As soon as that feature is coded the sales are going to come pouring in! When they don’t, then maybe it was that other missing feature that our competitor has. It is a horizon that keeps receding until you run out of money or enthusiasm. But, in my experience, poor sales are almost always due to insufficient marketing. A fact that is borne out by these 13 case studies. It doesn’t matter how great your software is if no-one know about it, or if you can’t persuade them to try it when they do find out about it.

It isn’t surprising that microISVs fixate on features. MicroISVs tend to come from a programming background and learn marketing  on the job (I have yet to meet a microISV who started off in marketing and taught themself programming). Features and coding are what we like to do best and it feels like ‘real work’. But all too often the warm embrace of an IDE is just an excuse to stay in our comfort zone. Of course, features are important. No features = no product. But, if you have got low traffic to your website and/or you are doing a lousy job of communicating with people that arrive at your site, then adding more features really isn’t going to help much. If you are in a hole, stop digging. Successful marketing is about being different from your competitors. You can even make a virtue of your lack of features. If you are competing against more feature-rich competitors, then emphasize the simplicity and ease-of-use of your product instead. It certainly seems to work for 37Signals.

Marketing can seem like a very alien discipline for someone from a programming background. But you can learn it like any other skill. There is loads of great information out there, for example Eric Sink’s marketing for geeks. Also, some elements of online marketing are actually quite technical with plenty of opportunites for number crunching. Analytics, A/B testing and Adwords will give you more data than you know what to do with. This can give programmers a considerable advantage over people from a more traditional marketing background, many of whom don’t seem to be able to handle anything more complicated than a 2×2 matrix. You don’t have to be a marketing genius, you just need to be better than your competitors (in the same way that you don’t need to be able to run faster than a lion to survive a lion attack, you just need to be able to run faster than the next guy). Given that your competitors are likely to be other programmers (who are probably also not doing enough marketing) or people from a marketing background (who don’t really understand software and are probably more interested in long lunches) that may not be as hard as you think.

Is it possible to run a successful software business with a 4 hour work week?

Tim Ferriss’ ‘Four Hour Work Week’ is a thought provoking, but controversial, book. One of the central ideas he promotes is that you should be able to use outsourcing to create a money making business (‘muse’) that you can run in only a few hours per week. Leaving you with enough free time and income to travel the world, learn to tango or otherwise amuse yourself. But I am highly sceptical that anyone can sustain, let alone grow, a software business long term, working only 4 hours per week. I have run my own business working less than 10 hours week for a month or two at a time while travelling or doing house renovations. But it only gave me enough time to keep things ticking over. I wasn’t able to improve my product or marketing. I am sure my business would decline in the face of technological changes and hungrier competitors if I kept this up for too long. I have spoken to other owners of small software businesses and they were of a similar opinion.

So I was interested to see a case study on the Four Hour Work Week blog from someone running a software business. Brandon Pearce owns musicsteachershelper.com, a slick-looking web based app for music teachers.

He says that after 5 years he is making $25k in sales per month with $10-12k in expenses per month[1] and no employees[2]. So that is a net profit of around $168k per year. That’s not too shabby, especially when you consider that he lives in Costa Rica and says he works just 5 hours per week. That’s nearly $650 per hour!

But he doesn’t say how many hours per week he worked to build the business. He also says in the case study:

With a complex web application, you can’t write it once and be done; you need to continue making enhancements and listen to user feedback in order to have a successful product.

I couldn’t see how this squared with working only 5 hours per week. Even if you are outsourcing everything you still need to manage the outsourcing, which can be time consuming in itself. I emailed him for some clarification and he was kind enough to give some more details:

It’s hard to give an average time worked over the past five years, since it’s changed so much. The first two years I was also working full-time as a programmer, but spent most of my free time working on the site – probably 10-20 hours per week. Once I quit my job (years 3-4) I worked probably 40 hours per week on the site. The past year or two, it varies from week to week. Some weeks I’ll only work 2 hours on it, some I’ll work more like 15, if I’m preparing for a new feature, special offer, or doing a big launch of some kind. But these days I’m averaging about 5 hours per week, and it’s been that way for well over a year.

Yes, I can definitely sustain and improve profit levels at this number of hours. The business is a well-oiled machine, and I have teams that are working to help continue to improve and grow the business in various ways, largely without my constant supervision. The business continues to grow every month, regardless of how much I work.

What do I spend these 5 hours doing? Mainly reviewing the new features or bug fixes the programmers have been working on, the requests from customers that the support team has submitted, and determining which items I want the programmers working on next. I also spend a little time handling some of the more difficult support or billing issues, paying my workers, managing a few PPC campaigns, answering e-mails, and checking stats. Recently, I’ve also been writing the scripts for some new video tutorials, and finding people to help produce the videos, too.

So, pretty much everything I do at this point could also be outsourced, allowing me to work even less, but at this point, I still enjoy this work, and it allows me to keep some important aspect of control on the business. Some day I may decide to work even less, but I’m pretty happy with 5 hours at the moment. :)

So, unsurprisingly, it took a lot more than 5 hours per week to reach this point. And only time will tell whether he can continue to maintain (let alone grow) this business with such minimal input. It will be an impressive achievement if he can. But I think Brandon is the exception rather than the rule. Perhaps he is particularly talented or lucky. Very few of the successful software business owners I know work short hours for extended periods. Also I have no way to verify Brandon’s numbers. So I would recommend viewing Brandon’s case study as something to aspire to, rather than a likely outcome.

Brandon has a blog and is writing a book about his experiences creating MusicTeachersHelper.com “in the hopes that it will help others who want to do something similar”. It should be an interesting read. Given all the spare time he has it shouldn’t take him long to finish it!

Further reading:

http://brandonpearce.com/2009/02/i-lived-a-4-hour-work-week/

http://brandonpearce.com/2009/04/how-i-spend-my-time/

[1] He mentions the expenses in the comments.

[2] He does use several contractors, some of whom work full time.

TestRail

The guys at Gurock Software were kind enough to send me this testimonial after I did some consulting on TestRail, their web based test management software.

After launching our new test management software TestRail early last year, we recently contacted Andy to help us increase the visibility of our product. Based on customer feedback and reviews, we knew that many software development teams prefer TestRail over legacy solutions that are difficult to use. But we also knew that most teams weren’t aware of our new product, so we wanted to improve this situation.

The first thing Andy did was to try and test the application as a normal user would use it. While he walked through the application and briefly tested its major features, he recorded a video of this experience and narrated the video with comments and suggestions. Seeing how a first-time user uses your application can be very useful and it definitely showed us a few things that we could improve.

Learning more about the application was also important for the next step: Andy interviewed us to learn more about our goals, marketing methods and many other things. He then prepared a detailed and thorough report with many suggestions, comments and recommendations. Implementing all those suggestions will take time but we are already seeing first positive results of the short-term improvements that we’ve implemented. If you want to bring your product (or product marketing) to the next level, Andy’s consulting service is highly recommended.

Dennis Gurock, http://www.gurock.com

Although only launched last year, TestRail is already a polished product with an impressive customer list. If you have a suite of test cases you need to manage, I suggest you take a look.

After launching our new test management software TestRail early last
year, we recently contacted Andy to help us increase the visibility of
our product. Based on customer feedback and reviews, we knew that many
software development teams prefer TestRail over legacy solutions that
are difficult to use. But we also knew that most teams weren’t aware of
our new product, so we wanted to improve this situation.

The first thing Andy did was to try and test the application as a normal
user would use it. While he walked through the application and briefly
tested its major features, he recorded a video of this experience and
narrated the video with comments and suggestions. Seeing how a
first-time user uses your application can be very useful and it
definitely showed us a few things that we could improve.

Learning more about the application was also important for the next
step: Andy interviewed us to learn more about our goals, marketing
methods and many other things. He then prepared a detailed and thorough
report with many suggestions, comments and recommendations. Implementing
all those suggestions will take time but we are already seeing first
positive results of the short-term improvements that we’ve implemented.

If you want to bring your product (or product marketing) to the next
level, Andy’s consulting service is highly recommended.

Does the world *really* need yet another Twitter client, RSS reader, ToDo list or backup application?

My heart sinks every time I hear a would-be-entrepreneur announcing they have written yet another Twitter client, RSS reader, ToDo list or backup application. Haven’t we got enough of those already? There are more than 1,900 Twitter apps already (possibly a lot more). Somebody probably released another one while I was writing this post. We have passed the Twitter app event horizon, where it is probably quicker to write your own custom app than it is to try and work out if any of the existing apps fulfils your requirements.

Even if you have done something radically new, interesting and different in one of these markets, how are you ever going to get noticed amongst thousands of more established competitors? Wouldn’t it be better to find a market that is currently under-served by software? It may be less fashionable than writing software for other techies, but it will probably contribute more to the sum of human happiness and be a lot more profitable.

There must be thousands of niches where there is a real need for software, but limited competition. You just need to open your eyes to the bigger world around you. It may mean having to learn about an unfamiliar domain. But it is generally much easier for a software developer to learn some domain knowledge about, say, butterfly collecting, than it is for the average butterfly collector to learn to create a software product. Next time you are talking to a non-techie about their job or hobbies, just ask them “Do you use software for that?” and “Is it any good?”. The ideal answers you are looking for are “Yes” (if there are existing software packages, there is probably a market) and “No” (maybe you can do better).