Data analytics for desktop software products

Feature AnalyticsFundamentally, there is very little difference between data analytics for desktop or web based software companies. I’ve have worked on both kinds of software for my current employer. In large companies, you should work with your privacy lawyer to ensure that you can collect the data you need without violating any privacy guidelines.

Here are some of the  metrics to collect to manage your product

Business analysis metrics

  • Customer acquisition funnel
  • Active use and retention percentages weekly

Feature analysis

This is the area where we should get the “feature teams” or “Squads” to own the data analysis for their feature. This involves

  • Predicting feature usage (percentage of weekly active users using a feature) based on usage numbers for past features.
  • Deciding what usage means for your feature and logging that event
  • Measuring repeat use and defining what repeat use means?
  • Build the ability to report and record these numbers easily

Hopefully, the graphic below will allow you to understand feature analytics better

Also read this post.

Feeling worthless and helpless living in India

DepressedGosh, capsule its so easy to feel worthless. Sometimes some news makes me feel like a career criminal. Especially, when I’m are not spending enough time with the family or feeling like I’m not helping out enough.

Maybe its just me, but I’ve often wondered if I have been doing enough to help my father out as he works through issues that life presents us in India.


Its every man, woman and family for himself as you try to not have to deal with the institutions of the government like police and judiciary. Seeing how little time people in developed countries spend worrying about safety and fair play and corruption, sometimes I feel living in India is a waste of precious time… as all you have in life.. is time!



Long standing “legacy” bugs or recently “deferred” bugs


At each release or a push to production, we defer a set of bugs and add to our technical debt. Unless you keep aside time for fixing these issues, you will keep adding to your technical debt. This will become an issue sooner or later. But doing this is hard. It is easier said than done.

Setting aside time has been really difficult for me as I’ve tried to chase more strategic priorities with a 2-3 year payoff instead of fixing old bugs. I’ve also noticed that very few bugs that we’ve deferred ever come back to haunt us via user to user forums or through social media and have wondered if it even makes sense to go back and fix these bugs

So… what is the optimal number of deferred bugs or legacy issues that we should fix in a given 3-4 month release? Generally, for highly functioning and customer connected teams, this number is much less than what the product management team feels comfortable with at the time of shipping an update.

This means that product management teams can be stricter about the total number of bugs to reopen for fixing after a release has shipped. I believe that we will get much better results if we let the feature team or “squad” decide which bugs to reopen and fix in their area.

Once we have a list of bugs to reopen, it has not been easy to get these fixed in time for the next release. We’ve tried different strategies like:

  1. Assigning a bucket of bugs to the team and letting them fix the bugs over an 2-3 month period
  2. Prioritizing deferred bugs  and letting the team fix as many as they can within a month after release
  3. Setting aside a 2 week period where the team only fixes bugs in the order of priority of the bugs

We have had the most success with option #3 since it gives a clear goal and time to the dev team to go after these bugs. This said, we still don’t get all of the bugs fixed since fixing long standing issues is not trivial, otherwise we would have fixed them already. Other options lead to teams fixing easier bugs rather than going after the hard, important ones.

Business travel tips and tricks as a traveler from India


As an employee of a multinational company in India, chances are high that in order to keep costs low, you are not traveling business class for work. I am not.

I have been traveling 1 week a month, every month for the last 2 years. Most of these trips have been to the US or to Japan, the two biggest markets for my product. While I enjoy travel, long haul travel to the US for a week generally involves giving up weekends on each side to get full 5 working days in the US. This meant that, broadly, of the 52 weekends in a year, I wasn’t with my family for 24 of them. This is almost half of the total weekends in a year and has been a significant disruption for my family. Thus, not sustainable.

Over the last few months, I have been trying to get more comfortable with jet lag so that I can leave Delhi on Sunday night and go straight to work on Monday afternoon, as soon as I arrive in the US or Japan. This is exceptionally hard if you travel economy and if you do not use sleeping aids like Ambien.

I have also been trying to get out of the US on Friday evening so that I can get home by Saturday night. This is generally not easy. Weekend travel seem to have better connections. I’ve had three trips where I had to choose to leave on Saturday or deal with spending 8 hours in Heathrow, which is no fun.

I try to use some tricks to make traveling in economy more comfortable.

  1. As much as possible, stick to one airline alliance like One world or the Star Alliance. This means that airlines like Emirates, Etihad, etc that are not aligned to any network are out. Sticking to an alliance helps you build status on them. Status helps with:
    1. Faster check in
    2. Faster security clearance
    3. Better pre-reserved seating options when you reserve online
  2. If your company does end up flying you Etihad or Emirates or any of middle eastern carriers, you should look at the Alaska Airlines mileage program. It is very attractive. I’ve been thinking about ditching American AAdvantage because Alaska allows you to combine Emirates, Flying Blue and one world airlines all in a single program! How cool is that.
  3. Pick aisle seats as soon as your tickets are booked by going to the “manage your booking” section at the relevant airline’s website. Exit row seats costs extra unless you have status with the airline. See if your company will let you expense that.
  4. If you have no trouble sleeping on planes, pick a window seat so that no one disturbs you while you are sleeping.
  5. Try to negotiate with your managers to let you pay extra for premium economy seats. The extra 6 inches between seats help. The seats are broader too, which means that you have more space around you and for your luggage in the luggage bins on top. Chances are, if you travel a lot, you will not check in any luggage
  6. Carry an empty water bottle. Fill it up AFTER you are through security. Most airlines will not give you a water bottle if you fly economy. This means constantly asking for water as you dehydrate breathing dry air on the plane. Having your own water really helps.
  7. Use eyeshades & ear plugs so that you can sleep easy inspite of noisy kids and general commotion and noise in the cabin. Think about investing in noise canceling headphones. I haven’t done it since noise does not trouble me that much.
  8. Inform the crew not to disturb you for meal service, if you are on <6 hour flights and plan to sleep through it. A meal service in the middle of such flights is very disruptive.
  9. Buy “Headspace”. It is a set of great audio lessons that help some people meditate. They just help me go to sleep. 🙂
  10. Sign up for credit card that gets to free access to priority pass lounges. Lounges are great for layovers. Free internet, food and drinks and comfy seats all add up if you travel a lot internationally. Citibank offers such cards in India.
  11. Starwood preferred guest is the most awarding hotel loyalty program. You should sign up and try to stay at their properties if you can.

Hope this helps