Product Analytics – Understand user behaviour better and how Mixpanel solves this problem

Being in the service industry I had the opportunity to work with multiple startups and mid to large scale companies who had an idea and wanted that to be converted into a digital product. At Focalworks, we have worked on building digital solutions for a variety of platforms like websites, mobile apps etc. One thing that I have realised is that the development of the product is just the first step. What shapes the success or failure of the product is its ability to adapt to the user’s requirements. And to understand what the user needs, it is important to have the necessary data. That’s why it’s said – data is key. 

Websites and analytics to understand User behaviour

So, let’s take the case of a website. Understanding which type of content is doing better is crucial. We need this data point to understand what kind of content will have more eyeballs, and in return means more Ad revenues. While developing websites for popular digital publications like Techtree, Khelnama and Deccan Chronicles to name a few, we have seen how important it is to understand the preference for the genre of content.

To understand what kind of content is popular on your website there are tools like Google Analytics which will allow you to track page views and based on different reports you can derive these important points. For example, when the IPL will start it’s obvious people are going to read about the news around the IPL. However, it’s quite possible that fans like me will also want to read stuff about Dhoni (yes I am a big fan of him and if you are as well, we can chat about that on Twitter @amitavroy7). 

So, as a content creator it makes sense to create some specials around Dhoni during this phase. Now, these kinds of decisions are possible only when you have data which can assist you to derive such outcomes. Google Analytics has been the goto tool for these kinds of analytics requirements. You basically use the GA tracker and it captures stuff like Page views, Sessions, Avg time spent just to name a few. If you want to know more about Google Analytics and how to track stuff, I would highly recommend following this great channel on YouTube called AnalyticsMania which I find very useful.

Understanding the person instead of users

After websites came the era of apps and that’s how the need to track Users based on their sessions and login became important. So far, it was all about page views and metrics which were more like aggregates. But, the moment we have identifiable users, the Analytics game changed a lot. 

Let’s quickly move to the new world of online business in the form of e-commerce, SaaS platforms etc where every user has an identity and behaviour. They have preferences in terms of products to buy like identifying users who are interested in Electronics vs Fashion as an example. Or a way they use your service like the time when they are most active, how much time they spend, so on and so forth. 

At this point, slowly came the need to segment users. For example, we all know winterwears offers will perform better during the winter season and not during the monsoon season. However, won’t it be great if you know how many days a user takes before making their second purchase on your website? Won’t it be helpful if you can pick those specific users and send them some kind of communication with a discount code to make them buy again? 

This is where Analytics tools like Mixpanel, Segment to name a few make their entry. For now, let me talk about Mixpanel in particular because I have experience using it. Whatever I am going to recommend is based on my experience working with Mixpanel and how we solved some of our problems using the features that are available with Mixpanel. Oh by the way, this article is in no way sponsored by Mixpanel. These are my personal views based on my own experience.

Tracking your User

When it comes to tracking your user’s behaviour, think of capturing everything that is happening on your platform as a stream of events. For example, a user logs into your application. He/she reads a post and from there goes to another post. Then the user liked a post and commented on it, so on and so forth. Below is a screenshot of how Mixpanel Event stream looks for one of our clients.

Now when you have every event tracked you can run a lot of analytics on the data to understand your behaviour. For example, if you are looking at improving the time in which a user makes their second purchase, you might want to give some discount coupons. And, for that you can choose multiple mediums. 

Let’s say we decide we will use Emails and SMS based ads to let your customers (who have done only one purchase) know that they can make their second purchase and they will get X% discount. So, now you would at the bare minimum try to analyse three things

  1. What was the average number of days prior to this campaign
  2. What is the new average after this new campaign
  3. Which medium did well for me

Now, all these are stuff which you can get using Mixpanel event tracking. Consider Mixpanel’s event tracking as your event log. Whatever the user is doing inside your product is being captured. Just for example, you can have one script which updates the user profile after registration with the following stuff (as shown in the screenshot below).

Let’s look at what we are doing over here – the first part is identifying the user on Mixpanel. We pass a unique identifier for each user (here it’s 12345). And, once that is done Mixpanel will know the context of the user. Along with this, we are also setting some properties which we got from the user during the registration process.

Once the registration has happened, our User can trigger multiple events. How can we track these events and also identify them to users? Here is how we solve that problem – first we identify the user by passing the user id. You can see an example below:

Once done, Mixpanel will now record this event. You can see the second parameter is an array of data. We are free to send any kind of data which we feel is necessary for our tracking purpose.

Once we have this kind of data, just imagine the kind of segmentation that you can do. For example, for a social media app that we have developed for one of our clients, we were able to segment users as less active vs more active and send different kinds of messages in the form of email to them.

Data is allowing us to analyse how new users are using the app and based on their experience making the decision to become a paid user from their trial. The next feature that we plan to develop will be based on certain assumptions that we made based on the analysis we did with the analytics data we had. 

This is what I have seen from my experience of Analytics and how it helps in making decisions towards betterment of a product. It also allows you to quickly spin up nice looking Dashboards with Reports which will help your client / product owner understand certain performance of their app. Below is one such example where we track engagement of the app and show it as graphs.

Let me know what you think about this and share any interesting insights or case studies on how you were able to use Analytics data for making right decisions. And, if you have any requirements to set up a solution for such Analytics on your product, then you can for sure reach us at connect@focalworks.in and we will be happy to hear your side of the story and suggest what fits best for your needs.

Image source: https://unsplash.com/photos/mcSDtbWXUZU

You may also like

Headless ecommerce

Going Headless to Solve Custom E-Commerce Requirements with Laravel

Headless is the new buzzword that you must have come across in E-Commerece. Headless solutions have been getting quite popular because of the increase in the number of digital platforms that are used to communicate with users. Right from tiny smart bands to large plasma screens, content can be consumed in so many ways. And, each medium has its own set of unique features and challenges. Hence, a headless content source means it’s easy to decouple the content layer from the view layer.

Read More »