Event Dictionary for Usage Ping
## Overview As we ramp up to become a more data driven company, we need a good process in place to manage our product analytics. We currently have [544 metrics](https://docs.google.com/spreadsheets/d/1VzE8R72Px_Y_LlE3Z05LxUlG_dumWe3vl-HeUo70TPw/edit#gid=618391485) in Usage Ping and this will eventually rise to thousands of metrics. Last week, we introduced the [Event Dictionary](https://docs.google.com/spreadsheets/d/1VzE8R72Px_Y_LlE3Z05LxUlG_dumWe3vl-HeUo70TPw/edit?usp=sharing) - a single source of truth for all our product analytics metrics and events. The Event Dictionary includes all product analytics metrics and events we collect at GitLab. It includes the following details: - Metric name with example values - Responsible section, stage, or group - Description of what we're tracking - Implementation status - Availability of metric based on plan - Code path to find the metric In case you're interested, here are examples of other Event Dictionaries (also known as a Tracking Plans) from other companies: - [Mix Panel example](https://help.mixpanel.com/hc/en-us/articles/115004519886-Creating-a-Tracking-Plan) - [Iteratively example](https://iterative.ly/blog/tracking-plan/) - [Segment example](https://docs.google.com/spreadsheets/d/1ZHGfNrCxBQbEyevmVxNoU0DGjb8cJMro1iwIRZLWjPw/view#gid=1567609168) - [Snowplow Event Dictionary / Schema Registry](https://github.com/snowplow/snowplow/wiki/Event-dictionary) Note: we've [temporarily moved the Event Dictionary](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38974) from our markdown docs into a Google Sheet for easier editing. We'll eventually move this back into our docs once the majority of changes are done. ## How is this related to Performance Indicators? Having a complete Event Dictionary of metrics / events makes defining the XMAU metrics much easier. Each metric in the Event Dictionary can potentially be used as an AMAU. AMAU's are the building blocks of our GMAU, SMAU, Section MAU, and MAU Performance Indicators. To better understand how these are all related, see [Structure of Product's Performance Indicators](https://about.gitlab.com/handbook/product/performance-indicators/#structure). ## Completing the Event Dictionary The goal of this issue is to complete the Event Dictionary for every section. I have gone through all 544 metrics and have assigned them to each Section.Stage.Group based off my very high-level understanding - there are errors in these assignments, so, I've asked each section to check them. | Section | Completion | Total Metrics | % | Last Updated | Issue | Closed? ✅ | |--------------|------------|---------------|---|--------------|-------|---------------| | dev | 134 | 270 | 49.6% |Sep 18 2020 | https://gitlab.com/gitlab-org/gitlab/-/issues/234301 | ✅ | | ops | 173 | 201 | 86% | Sep 18 2020 | https://gitlab.com/gitlab-org/gitlab/-/issues/234577 | ✅ | | enablement | 55 | 55 | 100% | Sep 18 2020 | https://gitlab.com/gitlab-org/gitlab/-/issues/234576 | ✅ | | securedefend | 39 | 51 | 76.5% | Sep 18 2020 | https://gitlab.com/gitlab-org/gitlab/-/issues/234578 | ✅ | | growth | 44 | 44 | 100% | Sep 18 2020 | https://gitlab.com/gitlab-org/gitlab/-/issues/234580 | ✅ | ### Next Steps for Sections I've asked the PMs of each section to do the following: 1) Open the [Event Dictionary](https://docs.google.com/spreadsheets/d/1VzE8R72Px_Y_LlE3Z05LxUlG_dumWe3vl-HeUo70TPw/edit#gid=618391485) and fill in all the `PM to edit` columns highlighted in yellow. 2) Check that all the metrics are assigned to the correct Section.Stage.Group. If a metric is used across many groups, assign it to the stage. If a metric is used across many stages, assign it to the section. If a metric is incorrectly assigned to another Section.Stage.Group, let the PM know you have re-assigned it. If you have 0 assigned metrics, look check that your metrics are not incorrectly assigned to another PM. 3) Add descriptions of what your metrics are tracking. Work with your Engineering team or the Telemetry team if you need help understanding this. 4) Add what plans this metric is available on. Work with your Engineering team or the Telemetry team if you need help understanding this. 5) Add a ✅ to the table above once you have completed this. cc: @hilaqu @kathleentam
epic