My seating planner software, PerfectTablePlan, is now at v7. Major upgrades are paid (discounted 60% compared to new licences), which means I have done 6 cycles of paid upgrades. I was curious about how long it took people to upgrade, and what percentage of sales are upgrades. So I took a few minutes to crunch the numbers direct from my licence key database, using my data wrangling software, Easy Data Transform.
Here are the number of upgrade licences I sold for each week after the major upgrade. Each release is in a different colour. The values are normalised so that the peak is the same height for each release:
Upgrade licences sold per week after a major upgrade, across 6 upgrades
That looks rather messy. So here it is with the values for the 6 upgrades summed:
Upgrade licences sold per week after a major upgrade, summed across 6 upgrades.
There is a long tail of upgrades. Even when the gap between releases was 6 years, I was still getting regular upgrade purchases.
With the v5 to v6 upgrade it took:
23 weeks before 50% of the upgrades were sold.
74 weeks before 75% of the upgrades were sold.
So it isn’t a neat exponential decay.
This table shows how many users actually upgraded from v5 to v6:
Edition
Upgraded
Home edition
12%
Advanced edition
31%
Professional edition
45%
Most of the Home edition purchasers are buying a licence for a one-off event, such as a wedding. So it is not surprising that they are much less likely to upgrade. But I think it also shows that less price-sensitive customers are significantly more likely to upgrade, even when the upgrade is more expensive.
This graph show the percentage of PerfectTablePlan licences sold each month that were upgrades, over the 20 year life of the product:
Percentage of sales that are upgrades per month.
You can see that upgrades are still increasingly important over time. Upgrades are worth less than new sales, so selling 80% upgrade licences in a month doesn’t mean 80% of revenue is from upgrades. However, upgrades are still an increasingly significant source of revenue for us. I’m glad I never agree to free upgrades for life.
Could I have made more sales with more frequent major upgrades? Definitely. But I was also working on other projects. And I am not out to squeeze every last penny out of my loyal customers.
Could I have made more sales with a subscription model? Possibly. But subscriptions weren’t really a thing for desktop software, when I started 20 years ago. And I never felt like making a major change to a licensing model that had worked well for me, so far.
I am always on the lookout for cost and time effective ways that I can market my software products. Previously, I have had quite a lot of success with Google Adwords Pay Per Click ads. However, the law of shitty clickthroughs means that advertising platforms generally get less and less profitable (for the advertisers) over time. And Google Adwords is a case study of that law in action. As Reddit is a less mature advertising platform, I thought it might still offer opportunities for a decent return. So I decided to experiment with advertising my data munging software, Easy Data Transform, on Reddit.
[By the way, I understand that nobody goes to Reddit because they want to see ads. But commercial products need to market themselves to survive, and Reddit probably wouldn’t exist without ads. Yay capitalism.]
Setup
The basic process to get started with Reddit Ads is:
Sign up for a Reddit Ads account.
Enter your details and credit card number.
Create a campaign.
Create one or more ad groups for your campaign. Choose a bid for each ad group, which countries you want it shown in and who you want it shown to.
Create one or more ads for each group.
Add the Reddit tracking pixel to every page of your website.
Set up conversion goals.
All pretty standard stuff for anyone who has used Google Adwords. The twist with Reddit is that you can advertise to communities (sub-Reddits), rather than based on search keywords. For example, Easy Data Transform is a much better tool for most data wrangling tasks than Excel, so I can bid to show ads targeted at Excel users in communities such as: reddit.com/r/excel/ and reddit.com/r/ExcelTips/.
Like Adwords, there are various ways to bid. I don’t want the advertising platform to set the bid prices for me (because I’m not insane), so I opted for fixed price bids of between $0.20 and $0.40 per click. Some of the ad groups suggested much higher bids than that. For example, the suggested bid for my Excel ad group is $0.79 to $4.79 per click!
However, Easy Data Transform is only a one time payment of $99. Paying more than $0.40 per click is unlikely to be profitable for me, especially when you factor in support costs. So that is the maximum I was prepared to bid. Also, the suggested bids are just the ad platform trying to push up the bid price. Something that anyone who has used Google Adwords will be all too familiar with. I was still able to get clicks, bidding significantly less than the recommended minimum.
I also set a daily maximum for each ad group, just in case I had messed up and added a zero in a bid somewhere.
I created multiple ads for each ad group, with a range of different text and images specific to the communities targeted. Here are some of the ones I ran in the Excel ad group:
I didn’t try to use edgy images or memes, because that isn’t really my style. There is an option to turn comments on below ads. As Reddit users are generally not well-disposed to ads, I didn’t try turning this on.
Based on hard-won experience with Google Adwords, I only set my ads to run in wealthy countries. I also restricted my ads to people on desktop devices as Easy Data Transform only runs on the desktop.
When Easy Data Transform is installed, it opens a page on my website with some instructions. So I used this to set up the Reddit conversion tracking to count the number of times a click ended up with a successful install of either the Windows or Mac version of Easy Data Transform.
I monitored the performance of the ads and disabled those that has poor click through or conversion rates and made variants of the more successful ones. Darwinian evolution for ads. I ended up creating 70 ads across 15 ad groups, targeting 50 communities.
I wasted an hour trying to get Reddit to recognize that I had installed their tracking pixel. But, overall, I found the Reddit Ads relatively simple to setup and monitor. Especially compared to the byzantine monstrosity that Google Adwords has become.
Reddit advertises a deal where you can get $500 of free ads.
But the link was broken when I clicked on it. Someone else I spoke to said they had tried to find out more, but gave up when they found out you had to have a phone call with a sales person at Reddit.
Results
I ran my experiment from 08-Jul-2025 to 31-Jul-2025. These are the stats, according to reddit.
Spend
$851.04
Impressions
490,478
Clicks
3,585
Windows installs
177
Mac installs
63
Total installs
240
Click Through Rate
0.73%
Cost Per Click
$0.24
Click to install conversion rate
6.59%
Cost Per Install
$3.55
I generally reckon that somewhere around 10% of people who install are going on to buy. So $3.55 per install would mean around $35.50 cost per sale, which is reasonable for a $99 sale. So that all looks quite encouraging.
But, comparing the Reddit number to the numbers I get from Google Analytics and my web logs, I think the Reddit numbers are dubious. At best. In a week when Reddit says it sent me 1174 clicks, Google Analytics says I received 590 referrals from Reddit and my web log says I received 639 referrals from Reddit. Some of the difference may be due to comparing sessions with clicks, time zones etc. But it looks fishy.
The discrepancy is even greater if you look at conversions. The total installs per week reported by Google Analytics and my web logs didn’t go up anything like you would expect from looking at the Reddit conversion numbers. If you dig a bit further, you find that Reddit uses ‘modeled conversions‘ to:
“Gain a more complete view of your ads performance with modeled conversions, which leverages machine learning to bridge attribution gaps caused by signal loss.”
Uh huh. Sounds suspiciously like ‘making shit up’.
And then there are the sales. Or lack of. I don’t have detailed tracking of exactly where every sale comes from. But I estimate that my $851 outlay on ads resulted in between $0 and $400 in additional sales. Which is not good, given that I don’t have VC money to burn. Especially when you factor in the time taken to run this experiment.
The top 5 countries for spend were:
Italy
Spain
France
Germany
Singapore
The US only accounted for 0.28% of impressions, 13 clicks and $3.81 in spend. Presumably because the US market is more competitive, and I wasn’t bidding enough to get my ads shown.
You can look at various breakdowns by country, community, device etc. This is helpful. But some of the breakdowns make no sense. For example, it says that 41% of the click throughs from people reading Mac-related communities were from Windows PCs. That sounds very unlikely!
But the worst is still to come. Feast your eyes on this Google Analytics data from my website:
Average engaged time per active user (seconds)
Engaged sessions per active user
Google / organic
33
0.75
Successfulsoftware.net / referral
31
0.74
Youtube.com / referral
27
0.86
Chatgpt.com / referral
24
0.69
Google / CPC
16
0.65
Reddit / referral
8
0.25
8 seconds! That is the mean, not the median. Yikes. And 75% of the sessions didn’t result in any meaningful engagement. This makes me wonder if the majority of the Reddit clicks are accidental.
I had intended to spend $1000 on this experiment, but the results were sufficiently horrible that I stopped before then.
If I had spent a lot of time tweaking the ad images and text, landing pages, communities and countries, then I could probably have improved things a bit. But I doubt I could ever get a worthwhile return on my time and money.
If the lifetime value of a sale is a lot more than $99 for you, or your product is a good fit for Reddit, then Reddit Ads might be worth trying. But be sure not to take any Reddit numbers at face value.
I develop a data wrangling tool, Easy Data Transform. It not really a ‘data extraction service’. Also, they are implying that they will put you in the top 5 for whatever category you want. If you pay, presumably. Sounds sketchy. I decided to email them back, to find out a bit more.
I got a long reply. But the key bits are:
So basically ‘Top 5’ is actually ‘Top 5 most willing to pay’. Ugh. I feel dirty just reading the email.
Bear this in mind next time you see a ‘Top X of Y’ article. They may not all be pay-to-play. But I suspect a lot of them are.
And it only took me 18 years! I know some people wouldn’t get out of bed for 3 million views, but that isn’t going to stop me bragging about it.
I haven’t really done much to promote the blog, apart from occasionally posting links to Hacker News.
The yearly hits have gone down over time. Mostly because I have been writing less often. These days I have 3 products to keep me busy. But also blogs are less of a ‘thing’ than they used to be.
Here are the 20 most visited posts:
Probably the high point for the blog was the software awards scam post getting a mention in the Guardian newspaper.
Power laws are very much in evidence, with the top 1% of the posts accounting for 18% of the hits. I have been consistently wrong in guessing which posts would be popular.
Was all that effort, writing articles worth 35k (of untargetted) clicks throughs to my PerfectTablePlan website? Probably not directly. Even when people did click through to my product websites, the engagement was often very low. But I am guessing that the improved domain authority from links to my seating plan software website has been helpful in improving search rank (see what I did there?). Promoting my products was never the only aim of the blog anyway.
Some posts I have written were mostly notes to my future self. And there have been several cases where Googling for an answer sent me to an article on my own blog that I had fogotten having written.
I have accepted a few guest posts. But I have been extremely picky about which guest posts to accept. I have also turned down plenty of offers for paid links.
Here is where the traffic came from, by source:
I was quite suprised by how much traffic has come from stumbleupon.com.
Digg.com, remember them?
Google completely dominates the search engine results, with Bing managing a pitiful 2.6% of search engine hits. Presumably from people too lazy or ‘non technical’ to change their Windows defaults.
Here is the traffic, by country:
Very little traffic came from Africa, South America or Asia:
Of course, it is hard to know how much of the traffic is humans and how much is bots.
There have been some 37k non-spam comments:
Quite a lot of the comments are responses by me. I have also learnt a lot of useful stuff through feedback on the blog and discussions, when links were posted to places like Hacker News. But the number of comments on the blog has markedly decreased, even taking account of the overall decrease in traffic. On the plus side, I have a lot less comment spam to deal with. It was quite overwhelming at one point. This is a comment from the blog in 2008:
I have given up looking through the spam logs. There is just too much of it and one can only read so many spam comments about Viagra and bestiality without becoming profoundly depressed about the human condition.
Thankfully WordPress seem to have greatly upped their game on spam detection since then.
Here is the top 20 sites where the traffic went:
The ‘social capital’ from the blog has been useful for promoting my consulting services and the training course I ran. Also for promoting various charitable and other causes I felt worthwhile.
I have a vague idea that I might, one day, write a book about starting a small software company. If I do, I will certainly mine the blog for material.
PS/ No, tiresome ‘SEO experts’, I still don’t want to put your boring, crappy guest post ‘articles’ with their dodgy links on my blog. So please don’t waste both our time by asking.
Anyone who has a blog will be used to endless emails along the line of:
“Hey, I love your blog. I particularly love what you said about <last blog post title>. Please can I post some irrelevant and worthless garbage on it? All I ask in return for my auto-generated drivel, is some backlinks to a mafia-run gambling website.”
No. No. NO.
Who knows how much time I have spent over the last 19 year deleting crap like this.
But this email, which turned up today, stood out for the particularly low effort that went into it.
I wonder how many people this was emailed to? Hundreds? Thousands? Hundreds of thousands? What a waste of people’s attention and time. The most precious thing we have.
I see a future where more and more of people’s attention is diverted into dealing with low-effort, auto-generated garbage like this. An arms race where the scumbags have all the advantages.
Slow handclap for ‘Giovanni’. Your parents must be very proud.
Nobody likes getting an email message telling that that the end result of all their hard work is a piece of garbage (or worse). It is a bit of a shock, when it happens the first time. One negative piece of feedback can easily offset 10 positive ones. But, hurt feelings aside, it may not be all bad.
For a start, that person actually cared enough about your product to take the time to contact you. That is not something to be taken lightly. A large number of products fail because they solve a problem that no-one cares about. Apathy is very hard to iterate on. At least you are getting some feedback. Assuming the comments aren’t completely toxic, it might be worth replying. Sometimes you can turn someone who really hates your software into a fan. Like one of those romantic comedies where an odd couple who really dislike each other end up falling in love. Indifference is much harder to work with. The people who don’t care about your product enough to communicate with you, are the dark matter of business. Non-interacting. Mysterious. Unknowable.
Negative emails may also contain a kernal of useful information, if you can look past their, sometimes less than diplomatic, phrasing. I remember having the user interface of an early version of PerfectTablePlan torn apart in a forum. Once I put my wounded pride to one side, I could see they had a point and I ended up designing a much better user interface.
In some cases the person contacting you might just be having a bad day. Their car broke down. They are going through a messy divorce. The boss shouted at them. Your product just happened to be the nearest cat they could kick. Don’t take it personally. You need a thick skin if you are to survive in business.
But sometimes there is a fundamental clash between how someone sees the world vs the model of the world embodied in your product. I once got so angry with Microsoft Project, due to this sort of clash of weltanschauung, that I came close to throwing the computer out of a window. So I understand how frustrating this can be. In this case, it is just the wrong product for them. If they have bought a licence, refund them and move on.
While polarisation is bad for society, it can good for a product. Consider a simple thought experiment. A large number of products are competing for sales in a market. Bland Co’s product is competent but unexciting. It is in everyone’s top 10, but no-one’s first choice. Exciting Co’s product is more polarizing, last choice for many, but first choice for some. Which would you rather be? Exiting Co, surely? No-one buys their second choice. Better to be selling Marmite than one of ten types of nearly identical peanut butter. So don’t be too worried about doing things that polarize opinion. For example, I think it is amusing to use a skull and crossbones icon in my seating software to show that 2 people shouldn’t be sat together. Some people have told me that they really like this. Others have told me it is ‘unprofessional’. I’m not going to change it.
Obviously we would like everyone to love our products as much as we do. But that just isn’t going to happen. You can’t please all of the people, all of the time. And, if you try, you’ll probably ending pleasing no-one. Some of the people, most of the time is probably the best you can hope for.
Summerfest 2023 is on. Loads of quality software for Mac and Windows from independent vendors, at a discount. This includes my own Easy Data Transform and Hyper Plan, which are on sale with a 25% discount.
This is a guest post from fellow software developer, Simon Kravis.
It’s sometimes said that software development is only 10% of what’s required to earn money from software and I can attest to that. Since 2018 I have been developing photo captioning and related software, more as a retirement diversion than a serious source of income (after a career mostly involved in writing scientific and engineering analysis software), in the hope that sales income would at least cover running costs. My best marketing tool has been writing reviews of the class of software that I produce, and the hosting site (Hub Pages) provides some useful analytics on how often these are accessed and for how long. Below is the graph for an article on tagging.
The decline since early 2022 is hard to explain – the article is periodically updated so the steady decline is not due to diminishing ‘freshness’ – which for Google is probably a file Modified date.
Here is another review article profile (Scanning Multiple Photos) showing a similar decline:
But another (Best Photo Captioning Software) has held up, though at a low level.
I offer digital photo captioning software (Caption Pro) on Windows and Mac platforms, and an iPhone captioning app (CaptionEdit), with the Windows version dating back to 2017. I also offer part of the functionality of Caption Pro on Windows for auto-cropping scans of multiple paper photos (ImageSplit). On Windows neither Caption Pro software downloads or sales seem to correlate with review accesses, despite about 1/3 of web site accesses coming from the review. However, downloads do show some correlation with Caption Pro web site sessions, as shown in the graph below.
Sales do not correlate with downloads, which perhaps explains why most advertising for niche products is not successful – it may increase downloads but this does not appear to increase sales. The observed proportion of downloads resulting in sales for ImageSplit and Caption Pro are 6% and 9% respectively. The lack of correlation between sales and downloads may be due to the small number of sales per month, which results in random fluctuation dominating the results.
The decision to enter the Apple “Walled Garden” of software was partly at the prompting of friends rather than a commercial evaluation. Apple Developer membership (costing ~US$100 per year) is required to prevent software being blocked from installation through being from an unknown publisher. Further costs were purchasing a fairly modern Mac on which to perform development, as the App Store will only accept software developed using recent versions of the Xcode development environment, which will only run on fairly recent hardware. The App Store takes a commission of 15% on sales, which is quite reasonable when compared to the difficulty of implementing e-commerce on Windows, where a PayPal account eases the problem of low-value foreign-currency transactions, but e-commerce plug-ins may stop working after years for no discernible reason. The review process for software acceptance into the App Store is generally fast, but seemly trivial issues can require resubmission. Features which have passed one review may be rejected in a later one. The review process is generally fast, but on one occasion took 4 weeks.
Caption Pro for Mac has been available (via the App Store) only since Sep 2021.It appears within the top 6 results for a search using “Caption Photos”, which is the source for most downloads. About 3.5% of downloads result in sales. This figure is much less than the Windows version of the same app, despite Mac users’ reputation for being more willing to pay for software. The iPhone app did not appear at all initially when searching for “Caption Photos” in the App Store. After 6 months it began appearing as result number 140, after it had 360 downloads. This poor ranking performance is probably because “Caption Photos” is a very popular keyword used by many apps, including those that only caption videos. It has had very few downloads and sales, despite Apple Search Ads and Apptimizer campaigns. The number of downloads increased dramatically during the Apptimizer campaign between Jan 24 and Feb 2 (as they were purchased) but the change in ranking from these downloads did not result in any sales, perhaps because no installs were purchased. The Apple search ads campaign (which resulted in the app being shown as an ad 1 in 50 times when the search phrase “Caption Photos” was used) did not greatly affect downloads or sales. A Facebook ad campaign to show a link to the app whenever “Genealogy” or “Genealogy Software” was searched for was also unsuccessful, and very expensive, as Facebook charges by impressions rather than clicks. Additional backlinks to the web site were purchased in September 2022 from Links Management in an attempt to improve the web site Google ranking, but this did not appear to have any effect on web traffic.
Mac and Windows users contacting me with problems have had a wide range of experience level – from completely naïve to former programmers. Most have been from the US, which reflects the geographic distribution of sales. There have many downloads to non-English speaking countries but very few sales.
Some results from the Mac and iPhone Apps are shown below:
On balance, developing for Apple platforms was not a good commercial decision, as the advantages of a mostly captive audience (completely captive in the case of the iPhone) do not seem to result in higher rates of downloads or sales. Competition for iPhone apps is so intense that niche products without massive advertising budgets are unlikely to succeed. The same is likely to apply to Android phone apps, which anecdotally have a less rigorous review process. My experience is that advertising and backlink purchase for any platform are not effective in increasing sales for niche software.
Simon Kravis runs Aleka Consulting, a small software and consultancy company in Canberra, Australia specializing in information management and offering a number of software products. He has mainly developed scientific and engineering programs, starting in the era of paper tape.
Back in 2011 I created eventcountdown.com. It had a snazzy downloadable, PerfectTablePlan-branded countdown clock for Windows and web-based countdown clock with ads for PerfectTablePlan. Both free. The idea was people searching for countdown clocks for events (such as their wedding) would find the site via Google, find out about PerfectTablePlan and a certain percentage would then buy my event seating planner software.
I paid other people to create the Windows and web versions of the countdown clock. The web-based clock was updated from time to time to add pre-built countdowns for events like superbowl, the olympics, christmas, thanksgiving etc. And I fielded the occasional support emails related to the Windows countdown clock.
This is the total traffic to the site from 2011 to 2023:
The peaks are mostly due to superbowl. The site got 38k hits in a single day just before superbowl 2019! The free Windows countdown clock also drew quite a lot of traffic. In total the site got some 1.7 million page views over 12 years. Only a small percentage of these visitors clicked through to PerfectTablePlan.com, but still a useful number. Perhaps some people were also prompted to investigate PerfectTablePlan by the branding on the downloadable clock. The site might have also had some SEO benefits for PerfectTablePlan.com. Who knows.
The eventcountdown.com website is now gone (the domain redirects to PerfectTablePlan.com). It didn’t seem worth the effort to keep adding events to the web countdown clock with the traffic now so low. Also both the website and windows clock were looking dated. But I think it was a worthwhile investment of my time and money.
I have also created various other contents pages and mini-sites over the years: articles on table planning, font collections, free clipart, place card templates etc. You can see similar trajectories for some of those.
The traffic seems to reach a peak after 3-7 years and then slowly decay away. Although I have shown them with the same vertical scale here, some generated a lot more traffic than others.
I did some basic on-page SEO for these content pages. For example, looking at Adwords keyword data to choose the page title and H1. But nothing beyond that. No paid promotion or backlink building campaigns.
I tried paying people to write articles related to events. But none of these ever generated any worthwhile traffic. Google could somehow smell the insincerity.
For my data cleaning software product I have been concentrating on ‘how to’ pages and supporting videos aimed at specific topics. These are intended to both help existing customers and to attract new traffic. For example, how to clean data. I have also been posting these videos on the Easy Data Transform YouTube channel. The numbers of hits monthly on the Youtube videos are relatively low, but they are quite targeted and hopefully will be generating traffic for years to come.
So content marketing take-aways based on my experience are:
Free content can be a useful way to bring free traffic to your website.
The amount of traffic you get is quite hit and miss. Some content has generated a lot more traffic than expected, some a lot less.
The content needs to be well targeted if you want to have any chance of converting it to sales.
Google will grow bored of it eventually. You might be able to increase the longevity by updating the content. I’ve not been very diligent with this, but even neglected content pages can generate useful traffic over 10+ year lifespan.