Monday, December 18, 2017

Spot your churning users sooner with statistics

The girl (or guy) you're dating has called you on average five times a week lately. As a neurotic analytics enthusiast/stalker you happen to know this. Now it's been three days without a call. Should you be worried?

Monday, December 11, 2017

Becoming a data-driven company

How does a company become data-driven? Here's what I've learned at Zervant.

Radiate information

If you want to turn the culture more data-driven, radiate information. You'll never know what will stick. Radiating information also has the side-effect of evangelizing the work of analytics: people will remember you exist and they will take analytics into consideration more easily.
Oh right, when we're building this we need to talk to analytics about what to measure! 
Write an internal blog, give short presentations about an information nugget, etc. Frequency is more important than the perfect quality of content.


People love to learn new things. They will first tell you they're in no way analytical-minded and far from technical, but they will eagerly learn. De-mystifying analytics will help everyone in your organization to speak the same language and be on the same page about what analytics can do for them.

As I've held workshops on analytics, I've seen people light up and apply their newly discovered analytical mind in a sophisticated manner on their own fields including HR, branding, marketing and customer support. It doesn't take much, but it gives back a lot.

Be exemplary in prioritizing projects by their business potential

Who doesn't want to develop a fancy neural network that predicts accurately the next user to convert? But if you ask yourself what you can really do with that information and you struggle to answer, it's a sign that you should perhaps reconsider your priorities.

Everyone in the organization will have opinions on what the most important thing is. Amazingly, the most important thing tends to depend on the person and astonishingly often is related to their own field. This applies to us in data science too. Break free from that, be objective, realistic and show the right kind of example to the rest of the organization. If you have good, concrete arguments of a projects potential, it will be hard to oppose it with only opinions.

Create a data strategy: start from what your business needs, identify the points that have the largest impact, but equally importantly brainstorm new opportunities for use of data. Make the business case clear and be honest about it.

Experiment lightweight

It doesn't matter that you don't have a fancy A/B testing suite, you can still do lightweight experimentation. Are you planning to add a new feature? What if before implementing any of it you just create a mock up with a button to check who clicks it, who's interested? If you do this, don't be a douche. Do it with respect to your users.

The point is not to get it right the first time, but rather to show how easy it is to test something out. This will help people understand the power of lightweight experimentation and they will have lots of new ideas to try out.

Celebrate even the small wins

Everyone loves a good story, even if the story is about how the definition of your active user got improved - as long as you make it relevant to your audience. Celebrating even the small wins is not just good for morale, but it also highlights the impact of this work. In order to continue enjoying the trust of your top management, this is critical.

You won't make it alone

Data-driven doesn't mean you shove data down everyone's throats. Rather, try to find approaches that involves others. Analytics is woven into everything a company does. When it is done as an afterthought, it becomes an isolated activity - something to sprinkle on top by the analytics team before things go live. Preventing this from happening unfortunately means having good personal relationships with the key influencers in your organization. So work on your social networking skills.

Monday, December 4, 2017

Dramatically improve your conversions with session recording

Are you satisfied with your sign-up rate? Or activation rate? Do you think it could be higher? What do you think you can do to improve them? How do you know that?

One of the most powerful things that you can do to improve your activation rate is to watch what your users are doing: what confuses them, what path is logical to them and where they fail. When you do that, you will find out that your call-to-action is too mild, your layout is confusing, your responsive design isn't adapting well in all cases or that the navigation path you thought everyone takes isn't common at all. You cannot solve what you do not know. Luckily most of your issues are likely low-hanging fruits you can find easy remedy to.

There are a gazillion services you can use, HotJar being perhaps the biggest name. But it wasn't the right choice, at least for me. HotJar lets you record towards a quota and you can define pretty flexibly who you want to start recording and when. But HotJar doesn't work with scrollable DIVs and if you would like to see only sessions that include purchasing your product, HotJar will fail you.

If you're not too concerned about GDPR or privacy matters in general, then Yandex Metrica might be a great choice: it's free and from what I can tell fairly powerful. But I care about privacy and you should too.

Then there are decent looking services such as Fullstory, Inspectlet and Mouseflow, but honestly when comparing the bang-for-the-buck they came second to Smartlook. I'm especially fond of the fact that they are taking GDPR seriously.

If you end up going with Smartlook, I recommend taking a look at their tagging. With that, you can add identifier tags to the sessions, e.g.
        // tag a session with a user's email
 smartlook('tag', 'email', ''); 
This is pretty handy if you get feedback from a user about a bug and you just can't reproduce it. This lets you see what really happened.

Or you can tag a session that includes a specific action
 smartlook('tag', 'checkout', 'true'); 
 smartlook('tag', 'contacted', 'true');
Keep in mind that you cannot override a tag you've already used. The following will not work
 smartlook('tag', 'action', 'checkout'); 
 smartlook('tag', 'action', 'contact');
Also, I've found it quite handy to tag with a session number. If you otherwise won't have access to a session number, you can easily create something that would track it in the browser using the local storage for example.

This only gets you so far though. After the easy problems have been fixed, it becomes increasingly harder to find the signal from the noise. By that time though you will have tremendously improved your conversions.