← 返回数据练习

探索一个月的项目管理工具事件日志,找出常被一起使用的功能

1 张表 · 59.2万 行畅练卡解锁

这道题的中文翻译正在进行中,下面先显示英文原文。

TaskForge makes an issue-tracking product that software teams use to plan, track and resolve work. Every click in the product is logged as an event. The product analytics team wants to know how customers actually use the product: how active they are, which features they rely on, and which features tend to be used together.

You have a small slice of the logs: December 2014 for 16 customer instances, about 500 end users.

The data

  • events — one row per logged event.
    • event_time: date and time in readable form; unix_time: the same moment as a timestamp in milliseconds.
    • instance: the customer (hashed).
    • product: always taskforge.
    • username: the user (hashed).
    • event: the action the user took, e.g. dashboardview, issuecreated, navigator.viewIssue, taskforge.header.menu.opened. Typically there is one event per click, but not always: one action can trigger more than one event.
    • attributes: extra details about the event, as JSON text. All string values (and some numeric ones) are hashed for privacy, but the same string always gets the same hash, so you can, for example, follow one issueKey across events.

Your task

  1. Describe the data in broad strokes. Note any anomalies, outliers or anything else that looks unusual, and say how each one affects the analyses below.
  2. Plot daily active users (DAU) over the month. What jumps out at you, and what explains it? Say how you defined “active” and whether every event should count.
  3. When users are active, how often do they trigger dashboardview per day on average? What proportion of users triggered it at least once in December 2014? Quantify the margin of error of each estimate, and explain what population you are generalizing to — keeping in mind that users are grouped into only 16 customer instances.
  4. Users and customers differ a lot in how much they use the product. Define a measure of per-user engagement, compare it across instances, and explain how you separate real differences from day-to-day noise (weekends, inactive days, a few very heavy users).
  5. Users tend to use several features together. Cluster events that tend to appear together into groups. Explain what “together” means in your approach (same session, same issue, same day…), why you chose it, and how you judged whether the clusters are meaningful.
  6. What else about the usage patterns would you want the product team to know, and what would you recommend they look into next?

What to deliver

A concise written report (with charts) for the TaskForge product analytics team, answering each question and stating your assumptions. Show the queries or code behind each number so the team can reproduce it.

All company names in this question are fictional.

数据预览

events前 5 行
event_timeunix_timeinstanceproductusernameeventattributes
2014-12-01 16:00:02.15300014174100021533998740a9e4924af7feedeb2e04190f6taskforged50d63ec8ecdf32d1dd9ae4a0cecd2f8quickbrowse{"issueKey":"eaf34eb91618cf3e1bf487a822…
2014-12-01 16:00:07.69100014174100076913998740a9e4924af7feedeb2e04190f6taskforged50d63ec8ecdf32d1dd9ae4a0cecd2f8navigator.criteriaAutoUpdateEnabled{"context_pageTime":"6ce628243b670aff9f…
2014-12-01 16:00:07.69100014174100076913998740a9e4924af7feedeb2e04190f6taskforged50d63ec8ecdf32d1dd9ae4a0cecd2f8navigator.viewIssue{"context_pageSession":"a09b1242b4712e1…
2014-12-01 16:00:07.69100014174100076913998740a9e4924af7feedeb2e04190f6taskforged50d63ec8ecdf32d1dd9ae4a0cecd2f8browserWindowSize{"width":"00409424d52c3a1a30e98cd1cd916…
2014-12-01 16:00:10.5230001417410010523c93da7e17688ef90fc43963b5a6c6259taskforge2cc91ff23ca6213e8a7d2513a31d8fa8lexorankbalance{"fieldId":"4537ecbd3f85c18825157673510…