Add aggregate counts for issue related user driven events
This is the implementation issue that came out of the conversation (https://gitlab.com/gitlab-data/analytics/-/issues/4291#note_375641166) on how to more accurately track Plan TMAU
Goal
Track user interactions with issues within the usage ping so that we can calculate Monthly Active Users (MAU) for Plan. It is important that we have an accurate reflect of MAU as it is one of the primary metrics that GitLab leadership uses to make informed investment decisions across the product.
Project Management MAU Definition
The sum of all unique users that took an action within an Issue over a given period of time.
Proposal
Implement a counter in the usage ping that aggregates the total count of unique users that took an action on an issue.
Based on this conversation (https://gitlab.com/gitlab-data/analytics/-/issues/4291#note_365848816), it appears as though most events can be tracked via:
system_note_metadata
resource_milestone_events
resource_state_events
resource_weight_events
Record the aggregate unique MAU counts under issue_events
in the usage ping.
Events To Aggregate In Usage Ping
Question: Do these actions include issue created? There is currently no system note generated when an issue is created.
- Answer: Yes (#229918 (comment 382421100))
Action | Description | Added To Counter |
---|---|---|
created | Issue created | !43228 (merged) |
title | Changed the title of the issue | !40904 (merged) |
description | Changed the description of the issue | !40904 (merged) |
task | Checked / unchecked a task list item in the description | !43828 (merged) |
closed* | Closed the issue | !43228 (merged) |
opened* | Reopened the issue | !43228 (merged) |
label* | Changed the labels of the issue | !43228 (merged) |
milestone* | Changed the milestone of the issue | !43228 (merged) |
iteration* | Changed the iteration of the issue | !43228 (merged) |
weight* | Changed the weight of the issue | !43228 (merged) |
assignee | Changed the assignees of the issue | !40904 (merged) |
due_date | Changed the due date of the issue | !44404 (merged) |
confidential | Marked the issue as confidential | !40904 (merged) |
visible | Marked the issue as not confidential | !40904 (merged) |
time_estimate_added | Add a time estimate | !44404 (merged) |
time_spent_recorded | Time spent entry recorded | !44404 (merged) |
health_status | Changed the health status of the issue | !44417 (merged) |
cross_reference | Mentioned the issue somewhere else | !43828 (merged) |
moved | Moved the issue or promoted the issue to an Epic | !43828 (merged) |
relate | Marked the issue as related to another | !43828 (merged) |
unrelate | Removed a related issue relation | !43828 (merged) |
duplicate | Marked the issue as a duplicate of another | !43828 (merged) |
locked | Locked the discussions of the issue | !43828 (merged) |
unlocked | Unlocked the discussions of the issue | !43828 (merged) |
issue_added_to_epic | Set the parent epic of an issue | !44371 (merged) |
issue_changed_epic | Changed the parent epic to another epic | !44371 (merged) |
issue_removed_from_epic | Removed the parent epic | !44371 (merged) |
designs_added | Added a design to the issue | !44373 (merged) |
designs_modified | Changed a design belonging to the issue | !44373 (merged) |
designs_removed | Removed a design from the issue | !44373 (merged) |
comment_added | Added a comment to the issue | !45609 (merged) |
comment_edited | Edited a comment on the issue | !45609 (merged) |
commend_removed | Removed (deleted) a comment on the issue | !45609 (merged) |
Note: Those marked with *
are now being tracked using resource events. So we must also account for records in those tables.
Bonus
Figure out how to add individual usage ping counters for each action that reports:
- Count unique MAU
- Count aggregate actions
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.