Metrics Platform
The Metrics Platform (MP) is a suite of tools that helps Wikimedia teams make data-driven decisions about product experiences. You can use the Metrics Platform to:
- Learn about user behavior through instrumentation, both on wiki and off wiki.
- Change product behavior from a central location without requiring a new deployment (also known as feature flags).
- Validate the impact of product changes through click rate, conversion rates, and other metrics.
Preparing the environment
Instrumentation
- Create an Instrument
- Migrate an instrument
- Create a Custom Schema
- Creating a Stream Configuration
- Deploy your instrument
- Validate Events
- Decommission your instrument
- Instrument Data QA
- Existing instruments
Metrics Platform Client Libraries
- Deploy a New Client Library Version
- API and Language-specific notes
- Adding a new contextual attribute
Journeys
Support
If you have questions that are not covered by these pages, or additional guidance is needed, please don't hesitate to reach out using the Data Products intake process.
Contributing
Contributions to the Metrics Platform client libraries are most welcome and appreciated. Learn more about contributing to Metrics Platform development
About
Built on the Event Platform, the Metrics Platform provides standardized algorithms, behaviors, and basic necessities for web and app instrumentation, including:
- a specialized Event Platform client designed to require less work in creating instrumentation
- a predefined core interaction schema covering the most common data fields
- a library of event schemas designed for use across a wide range of projects
- a library of already existing instruments to be reused directly or as a starting point
- easy means to build new schemas to further enrich events with contextual data
- the ability to mix in different schemas depending on your needs
- standardized session ID generation, consistent across MediaWiki, Android, and iOS
- standardized session expiry
- determining which events are in-sample or out-of-sample based on a specific identifier (currently: pageview, session, or app install ID).
Previously, different teams implemented their own analytics solutions in isolation from one another. Those solutions were typically based on the Legacy EventLogging pipeline and, more recently, the Event Platform. The Metrics Platform is an effort to unify that previous work and to establish uniformity and consistency across platforms. Its objectives include:
- making it easier to implement and maintain instruments. The Metrics Platform will provide the APIs and protocols that MediaWiki developers need to create sophisticated instruments in as few lines of code as possible while maintaining quality, rigor, and safety.
- making it easier for analysts to support teams which are not their primary teams. Previously, every instrument has its own quirks and conventions, which need to be remembered by analyst that works with the data produced by the instrument – including analysts that are providing temporary support.
- making it easier to leverage data from multiple platforms to yield insights into how our users use our whole ecosystem of products in unison.
To learn more about the Metrics Platform and which components are available to use, see the FAQ.
All pages
- Analytics
- Analytics/Fragments
- Client
- Client/Definition
- Client/Implementations
- Custom Data Monitor
- Decision Records
- Decision Records/Deprioritize Custom Data
- Decision Records/Single Table Per Base Schema
- Demos
- Deployed Streams
- Event Schema
- FAQ
- How to
- How to/Choose your language
- How to/Choose your language/Setup for JS
- How to/Choose your language/Setup for Java
- How to/Choose your language/Setup for PHP
- How to/Contribute
- How to/Create First Metrics Platform Instrument
- How to/Create a Custom Schema
- How to/Creating a Stream Configuration
- How to/Decommission your instrument
- How to/Deploy a New Client Library Version
- How to/Deploy your instrument
- How to/Getting Started
- How to/Journeys
- How to/Setup Mediawiki for Metrics Platform
- How to/Validate Events
- Implementations
- Sampling Units