Streaks for Android completes one year!

Today marks one year anniversary of the launch of my Streaks Habit Tracker app for Android.

While it has far exceeded any expectation I had in the beginning, I have been disappointed with its performance overall. The problem lies with me though. I haven’t really given it the amount of time I could have.

Nevertheless, this was my third app overall on Play Store (the first two apps were launched when it was called Android Market) and the first one with some sort of real monetization.

My first two apps weren’t able to monetize because Indian developers at that time weren’t allowed to collect payments on Android Market (a.k.a. The Play Store).

I did have a small ad banner in one of the apps in the most obscure place which people rarely got to see. But still, I made $20 off that app in 3 years time.

I left android app development for about 2 years and focused mostly on Ruby on Rails and then NodeJS for my day job at Crowdfire.

There, I had this idea of an app which could help me keep track of habits I was trying to cultivate. I made the app and released on 23rd June 2015 on beta before going live 4 days later.

With a mixture of some shitty ASO, my facebook audience, a post on Quora and with a little help from my colleagues, I was able to get 500 users, out of which 4 had converted.

Oh yeah, I forgot to mention that I had posted my habit tracker on Product Hunt as well.

Nothing great till now.


Till 3rd July 2015, the stats from my Google Analytics looked like this –


On 4th July, the app was picked up by Lifehacker and the stats were much better.

Stats after Lifehacker coverage.

600 new users and 16 sales. I wrote about this on reddit as well. Interesting to read all this in retrospect.

Some days later, the app was picked up by TheNextWeb and gave another nice spike.

The stats after all the initial “press coverage”.

Stats after publication in TheNextWeb

After that, I didn’t really touch the app for about 6-7 months. I did updated the description once and changed the logo to something which looked a little better (still looks ugly af tbh).

The app got featured in Russia in September for reasons still unknown to me and gave another spike to downloads and users. Since then, there hasn’t been any big spike, but small occasional increase in numbers and sales.

Stats from August till today –

Stats from August 2015 to June 2016


The sales were rocky the whole year. The best month was July because of all the new users downloading and trying out the app. Since then the sales have been nearly consistent giving $30-$50 every month.

I had accidentally increased the price of in-app purchase and forgot to move it back to original price. The impact on sales wasn’t noticeable but revenue increased. One happy accident! 🙂

Some mistakes in retrospect

I was naive enough to think that I’ll distribute the app only on Google Play and it will just stay there.


As soon as the app started appearing in publications and news sites, Xiaomi and other app markets started uploading the APK to their own stores. Since the only monetisation strategy was through in-app purchases provided by Google Play, users in those store were not able to pay (in case they wanted to).

I had always thought that Streaks will be an app which will always be running in the background, silently collecting data through notification bar. Thus, I reasoned, ads will be an annoying method of monetisation which won’t be effective as well.

If I had put in Ads in the app, I would have been able to monetise the users from other stores (which, according to my Google Analytics, accounts for about 20% of my userbase).

Another mistake I made was to think about branding (using Streaks in package name) and not optimizing it for search optimization.

Other habit tracking apps had the words “habit tracker” in their package name which gave them a boost in search results. I unfortunately did not include any keyword in the package name and thus have been consistently getting bad ranks in search results.

User acquisition strategies

I’ve been able to try multiple user acquisition strategies, including Ads!

The best kind of users (the ones who pay) are acquire through search. Nearly 90% of sales have been to the users who downloaded after searching.

Having said that, getting a mention in press isn’t that bad as well. Downloads from Lifehacker and TheNextWeb mentions also provided some sales.

Getting featured in the Play Store though isn’t that helpful. You get a lot of downloads but very few of them convert. In fact, getting featured (in the Russian Play Store) had almost no impact on bottom line. Things might have been different if the feature was in the US or UK (places with most sales).

About 8 months after launch, I looked at the numbers. I was making about Re. 1 for every install (the actual number was slightly higher, but escapes my memory right now). I figured if I could get installs for less than Re. 1, I’ll be able to create an engine where you put in the fuel and you get out your energy.. or sales in this case.

I tried running Ads with CPI (cost per install) of Re. 1 and got literally 0 impressions in 2 weeks. I still wanted to explore ads, so I increased my bid to Rs 10. I started getting some impressions and downloads, with an effective install for about Rs. 7.

I made a loss on this campaign as only 4 of the 500 people who installed paid anything. This is why it is impossible to make a business with ad campaigns if the only way you’re going to earn is through small ticket in-app purchases. Had this been a transaction based app, the ad campaign would have been much more effective because of much better Life time value (LTV) of every download (mine is Re. 1).

Closing thoughts

In the end, I would say I have been very lucky for the app to perform so well, even though I was guilty of not giving it enough time. Will be adding better onboarding (currently, it’s just a text if there are no tasks), more features and most importantly, more paid features.

Let’s hope I be more productive this time.

Thanks for reading!

Leave a Reply

Your email address will not be published. Required fields are marked *