28 January, 2015. That was the last time I walked out of my day job, leaving behind a ten-year career in trading technology. I swapped high-frequency trading, spread trading and market-making for cross-platform game frameworks, app store optimization and cute apps for kids. At that time the revenue from my app portfolio was not yet enough to provide for my family, but I had calculated a runway, crossed my fingers, and taken the plunge.
Fast forward to the beginning of 2016. I had a very successful 2015, and I never had to opened the Excel sheet with the runway calculation. What did I do right?
Monetized users who did not want to pay for my apps
I have a lot of downloads from countries where the culture of paying for apps simply doesn’t exist, or paying for apps is not an option due to the average disposable income. With my portfolio of games based on in-app purchases, I was making fractions of a cent per download AND getting negative reviews that not all the content was free. It didn’t take long to realise that it was a lose-lose situation. As a consequence, I shifted monetization model to advertisements for a subset of my apps, with the end results being a much higher lifetime value per app me AND happier users.

Sidenote: In order to help me understand and analyze my portfolio performance I use Tableau’s business intelligence tools applied to local extracts of my App Annie data.
Optimized conversion rates
“Conversion” in an app-sense takes place at various points for a new potential user: from your ap showing up in search results to the user visiting the app listing, from checking out the app listing to downloading the app, and from downloading it to purchasing IAPs or clicking ads. At every step publishers will lose many potential users, but by optimizing the conversion rates you can get more users to install your apps and ultimately generate revenue.

So, I worked on things like revamping icons, localizing screenshots, and streamlining the purchasing funnel inside the app itself. Google’s improvements to the dev console really helped track results in this area, with User Acquisition statistics and A/B experiments, combined with in-app analytics.
Cross-promoted my own apps more effectively
I used to cross-promote one-app at a time, but as the portfolio grew to 20+ apps such cross-promotion became ineffective in two ways: a) Users would likely have uninstalled the app before they had seen all my available apps and b) I couldn’t possibly predict which app they would be most interested in. So my new cross-promotion is instead a grid, with a scrollable list of apps allowing the users to pick whatever app theme or type they happen to be interested in.

I can control the position of the apps in the grid remotely, based on factors such as user locale, marketplace, which app they are using, season of year, lifetime value of the apps, and so on. I can also promote the apps of other developers.
Get Per Haglund’s stories in your inbox
For apps that already good organic discovery, the cross-promotion does not have a great impact. However, it has a huge impact on the not-so-discoverable apps in my portfolio. For example, it delivers more than two-thirds of the total installs for the three apps with the lowest number of daily installs:

I estimate that my cross-promotion system in total delivers around 20% of my installs on Google Play.
Outsourced
Phil Smith at Supertapp Interactive has been my go-to guy for Corona development for several years, and has always done a great job. But late 2015 I also had the opportunity to hire my brother to assist me for a couple of months. With their combined help I moved forward on multiple fronts simultaneously, releasing 5 apps in 3 months, updating the entire portfolio on both Google and Amazon, and rebuilding my website.

Outsourcing does take time and discipline, but at the end of the day it is the only way to move forward fast enough to keep up in the app economy.
Conclusion
2015 was a great start for my venture into full-time entrepreneurship. In many ways I’ve been lucky, but I’ve also deliberately spent a great deal of time and effort on analyzing and optimizing the performance of my apps rather than building new ones. There was a lot of ‘low-hanging fruit’ to pick once I started looking.
If you enjoyed this post please like it and recommend it. It will motivate me to write more such posts :).


