Update Feb 2015: This post has been republished on DeveloperEconomics.com.
For the last two and a half years I’ve been building and selling apps directly on the iOS App Store, however only in 2014 I committed to some substantial effort on this. I’d like to share some numbers about my experience last year and draw some insights about what things went well and which ones didn’t.
Hopefully this analysis will be useful to others and will give me some insight about where to focus in 2015 to grow my app revenue.
Apps Summary
January 2014 brought along my most successful app so far: My Oyster. This app has been in development since October 2013 and even though it had a rough start on the first few months of the year, it is now my most consistent app in terms of downloads and revenue. Along with it, I started selling My Oyster Pro as a 0.69£ ad-free alternative as I wanted to evaluate how well the freemium and paid pricing models would work for the same app. As it turns out, this paid version contributes to sales figures comparable to the ones of the freemium app.
Alongside this, I have been working on improving Camera Cube, which has been live since 2012 and takes the second spot for this year on revenue. Most notably, I released a major update with iOS 7 compatibility in July and added support for iPhone 6 and 6 Plus in December.
In August, I also released Perfect Grid as an iOS port of a simple puzzle game I previously made for Android.
Finally, in November I launched Pixel Picker, my first app written in Swift!
Alongside these new entries, my two old apps Puzzle Camera and Camera Boom are still live on the App Store, however I have not been updating them this year.
My App sales numbers in 2014
Total Revenue | Paid Downloads | IAP Revenue | Ad Revenue |
---|---|---|---|
£ 584.23 | £ 151.80 | £ 199.21 | £ 233.23 |
The first important observation is that 86 % of my total revenue comes from the My Oyster and My Oyster Pro apps which both went live in January and brought in 504.86 £ by the end of the year. Overall the freemium version accounted for 70% of these sales (fairly equally split between in-app purchases and ad revenue) and the paid version for the remaining 30% of sales.
This shows that the choice of differentiating my revenues across advertising, in-app purchases and paid downloads has paid off and I plan to keep all these streams going for My Oyster in the future and try them with my other apps as well.
The graph above shows how my revenues have changed over time during this year. For various reasons, I had to remove My Oyster from sale during the January, February and April timeframes, and this shows clearly in the revenue graph.
For the rest of the year, revenues have been varying between 1.5 to 2£ per day on average and peaks of 4 to 6£ per day.
Expenses
In 2014, the costs of running my app business have been as follows:
Item | Expenses / Profits |
---|---|
Apple iOS Developer Program | 60.00 £ |
Domain Hosting | 102.47 £ |
Facebook Ad Campaign | 200.00 £ |
Outsourcing services | 408.69 £ |
iOS icons pack | 16.10 £ |
Total Expenses | 787.26 £ |
Total Revenue | 583.86 £ |
Net Loss | 203.40 £ |
The biggest expense has been some outsourcing work I’ve done to create UI artwork for my apps, however this was necessary to create some high quality UI elements and I’m happy with it.
Marketing
This year I have tried a few marketing strategies to give my apps more visibility. These three have been the most effective:
- Keywords optimisation Particularly for My Oyster, the number of downloads has had a high correlation with the ranking of the keyword “Oyster” in the UK App Store. The app has been ranking third for this keyboard through the whole year and averaging 50 to 70 downloads per day.
On one occasion it jumped up to second spot due to one of the competitor apps being temporarily removed from sale and the downloads spiked to over 300 a day as a result. This shows that direct search ranks are fundamental for user acquisition on this app. - Facebook advertising In an attempt to get My Oyster to the top of the UK Travel rankings, I ran a Facebook Ad campaign in the London area for 10 days, allocating 12£/day initially and spiking this to 40£/day towards the end. The campaign succeeded in boosting the app from position 200 to the top 50 in the UK Travel category, however as soon as I stopped the campaign, the ranking dropped again to its previous levels. With a cost per mobile app install of 0.12£ and an average revenue per download of 0.01£, I would have had to generate 12x more revenue per download, or decrease the cost per install by 12x in order to break even with this strategy.
- Hacker news I have promoted Perfect Grid and Pixel Picker by sharing the apps’ iTunes links on Show HN and asking some friends to upvote them. I did this for Perfect Grid on the day after launch, managed to get 14 upvotes and stay on the Hacker News front page for a few hours, but this only resulted in 180 downloads on that day, which I presume could be attributed evenly to Hacker News traffic and the app just having gone live.
Pixel Picker fared much better and managed to get 2200 downloads in one day, largely attributable to Hacker News traffic.
Additionally I have been spreading the word about new releases of my apps on Twitter and Facebook, however I haven’t noticed an increase in downloads as a result.
Writing to bloggers to request a review for My Oyster also proved ineffective and a big time drain so I’m not going to invest more effort on this going forward.
Overall, I have been quite impressed at the number of downloads that a high traffic site like Hacker News can generate, however in my experience this only helps in getting a spike in downloads. I haven’t yet found a way to sustain high download numbers over time, other than through paid advertising which is an unsustainable model given my current ROI.
Going forward I’d like to share my apps on other high traffic sites such as Product Hunt and Reddit, as well as trying other advertising platforms.
User Engagement
So far, My Oyster is the only app that shows promising engagement metrics with around 5000 MAU and good retention rates:
APP | Period | AVG session duration (min) |
Monthly active users |
Returning Users (%) |
New users per month |
---|---|---|---|---|---|
My Oyster | November | 6.47 | 5441 | 94.4 | 2116 |
Pixel Picker | December | 2.06 | 738 | 41.1 | 575 |
Camera Cube | November | 1.18 | 681 | 50.0 | N/A |
Perfect Grid | November | 3.05 | 98 | 86.1 | N/A |
Having around 640 daily active users and an average session duration of over 5 minutes, My Oyster performs much better than my other apps in terms of ad impressions and revenue.
As outlined in the graph above, My Oyster received 3000 clicks at a cost per click of 0.06£. Next year I plan to experiment with Ad Networks other than AdMob to determine if a higher CPC is achievable.
Customer Support
To facilitate user feedback, all my apps have a help/about screen with an option to contact customer support via email.
One peculiar aspect of the My Oyster app is that it lets users check their Oyster card data which comes from a 3rd party website. As the content can be unavailable at times and users sometimes have issues with their accounts, some time is required to answer customer emails, so the revenues from this app aren’t completely passive.
The positive side of this is that a lot of customers get in touch with me directly and their feedback helps me improving the app over time.
As download numbers and engagement metrics are not good for my other apps and I very rarely receive emails from customers that have downloaded them, I can infer that those apps are not as discoverable as I’d like them to be and they don’t generate much interest from customers. From a business perspective perhaps I should focus on My Oyster instead and try to grow its user base and functionality.
Conclusions
As many others have noted, bootstrapping a consumer app business on iOS is hard. My personal experience so far has been that from a purely financial standpoint this is unsustainable and I should be investing my time in something more lucrative like consulting, which at the time of writing brings in 30x to 50x more revenue per hour worked.
However, I believe there are a lot of intangible benefits in making and publishing apps:
- They make for a good portfolio Prospective clients will be able to assess the quality of my work and my apps always help me getting jobs and consulting gigs.
- I keep acquiring new skills Making apps is by nature a creative process, and I have the freedom to choose all the latest tools and technologies for the job at hand.
- Full product lifecycle Making apps forces me to think about the whole product: development, UX, support and marketing.
- Flexible workload I get to choose how much or how little I work on my apps, as well as choose what I want to work on. For me this is very valuable as I can enjoy working on these side projects without having too much pressure.
- I get to talk at events Sometimes I feel it’s worth sharing my findings and experiences as an app developer, and this also is beneficial for building my brand and network.
Goals for 2015
In 2014 I was hoping to hit and maintain 100 £ in revenue per month. I have missed this mark by about 50%.
As most of my revenue came from the sales my My Oyster, I plan to focus on further developing this app and try a few more marketing channels to improve its visibility.
While I plan to do some more independent app development in 2015, my app business so far has struggled to take off and I feel that I could invest more of my time in other relevant activities, including:
- Open Source development I’d like to focus more on creating small and reusable iOS libraries and components and share them with the community. I find that such projects are very well suited for giving presentations of technical nature. Additionally, I’m reading a lot of stuff on functional programming and I can’t wait to share a lot of functional stuff on my GitHub page.
- More consulting work I see consulting as an opportunity to see what challenges companies face and work on problems that I would not have the chance to take on as an indie developer.
- Write technical material, courses and seminars This could be a new exciting venture for me and I feel that there is a great community around iOS development and software programming in general. As I become a better developer, I’d like to share some of the lessons I learnt in a format that can be most useful to others. Further down the line, I would like to start running my own courses and seminars.
Time will tell how things will go, but I feel very privileged to be an iOS developer in 2015 I can’t wait to build more products and awesome stuff this year!
If you liked this post, you can share it with your followers or follow me on Twitter!