What to Do When Too Much is Not Enough

One thing I am very good at doing is pushing myself to do more. What I am not so good at is knowing when to stop. For many of us, it is close to impossible to end the day feeling like we have done…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Basics of event tracking for data analyst

All of us know what to do, right? Front end knows how to write java script, data engineering knows everything about big data ecosystem, we know what executives would like to know, but it still feels that something is missing.

So far the biggest obstacle I noticed while working at analytics positions in big companies is the scope of work and number of people involved when it comes to answering seemingly easy questions asked by executives. It is not rare for teams dedicated to analytics, data engineering and front-end to work separately in scrum framework, and thus consequently it can take even weeks until the job is done.

The second problem about such questions is that they are often too general, sometimes as data analyst I have impression that “somebody up there” doesn’t really know what he wants. Hence, delivering proper information is even more challenging because I have to invent metrics and event schema on my own.

That is why I am writing these guidelines for you: first of all, to help you find yourself being a “bridge” between IT engineers and executives, and secondly to give you ideas for advanced insights in how people use your product. The first two chapters are about general data-engineering related topics. You will find there fundamental events or basics about big data storage optimization, and more detailed explanation about cooperation and workflow.

I will use navigation as an example of interaction type, and to explain basic information which should be present in events table. It is important to distinguish interaction types like navigation, search or ads, based on what reports are needed by executives. If we partition data in table by such event type it will have huge impact for report queries performance.

That is, in my opinion, the best way to store information so query and storage optimization, ability to change and simplicity can meet, and we shouldn’t have not enough or too much data. At every next interaction type I will skip columns like ids, properties and partitions so it will look much cleaner.

The best situation is when we have event we need, but as it often is when it comes to analyzing things we do not gave enough data, so the whole process starts to be quite complicated. The most important step is the ticket description at the beginning — bad one leads to confusion on every next step and increases time and effort needed from other people to do the job.

That is a place where data analyst should be confident about his needs, as he is the most informed person in this chain. He should bear in mind and respect a fact that front end and data engineering teams always have something to do and by helping them, their time needed “for us” can be minimized as much as possible. That is why table schema should fit any new event and manual testing should be done by us.

For each interaction type you will find questions that may be asked by executives, proposed metrics to describe it and event schema so the metrics can be calculated.

The user experience: I activate search bar and top searches appears. While typing, recommendations appear accordingly to the things I type. I can still ignore those things and search my typed query, and then click on the result.

How often do they not find things they are looking for?
How often do they have to use search? (Is the app structure good?)
Are the recommendations in search engine good?
What content do they need?
Are our videos boring?
Are our videos engaging?
What do people like to watch?

It can be an article, wiki page or tutorial. Users can mark fragment with the type as the most interesting, funny or surprising, depending on the kind of content. It will become highlighted, just like in this article — and it will help build and broaden user experience, as the user sees others engaging in it like him. Also, the point event should be sent every few seconds to be able to calculate scrolling speed until some time will pass, to exclude not active cards.

Are our articles engaging?
Which part of an article is the most eye-catching?
What is the most important sentence in the article?

That varies a lot between apps, I will assume that there could be few rails (columns/blocks) for content at home page, and each content has main image and a visible title.

How far are they willing to scroll in search for new content?
Which keywords are the most eye-catching?

You can define product as anything you would like to sell, that could be a real thing or service. I assume that there is a short description, long one, comments, main picture, other pictures, and some specification. If your app does not have all of them ignore them and use what you have.

What do they have to do or read to add the product to the cart? Where should we put the most of our effort?

Ads are pretty simple, there are slots for ads and bids from real time bidding service. Things starts to be complicated when you thing about extensions blocking java script code which is not possible to track.

How many people are there with ad block?
Who does the ad funnel look like?
How much is the traffic worth for advertisers?

Those questions usually require querying by all events and do not require more tracking. These are just some thoughts which comes to my mind when I think what I would like to know about my app users.

What are the most common paths/patterns to consume the content? Are there any which causes losing interest in the content?
What are segments of our users (based on how often they come back, what is the last time they launched an app and how much content do they consume)?

Just imagine Facebook and its comment logic. You can also combine videos with other kind of content, so there could be questions like “Which part of video/article made people leave a comment (so that they engage more)?”

Which content has the most positive sentiment?

I guess there are many things I haven’t included — you are welcome to write about them in comments - I will also come back to this article after few months to update it with what I have learned.

Add a comment

Related posts:

A quick look at Rails Custom Validation

I recently started working with Ruby (almost 2 months now) and Ruby on Rails (a little over 3 weeks). Working with Rails’ Active Record framework is one of my favorite things about Ruby on Rails. In…

Wist je dat we eigenlijk 4 lichamen hebben?

Vanuit een holistisch beeld heeft de mens 4 lichamen: een fysiek, een emotioneel, een mentaal en een spiritueel lichaam. Maar heel vaak zijn wij slechts met de fysieke en mentale kant van dingen…

Still Breathing. . . now what? P1

I just shared one of the most intimate experiences in my life, and quite frankly the vulnerability feels great! I have always tried to shy away from exposing the parts of my life that are not…