Jump to content

Test Kitchen

From Wikitech

Test Kitchen (previously Metrics Platform, Experimentation Lab, xLab) is a platform that helps Wikimedia teams make data-driven decisions about product experiences through and A/B testing.

Choose a workflow:

Run A/B tests to compare variants and measure impact of changes

Track metrics and user behaviour without testing variants

Is Test Kitchen right for you?

✓ Good fit if you're working on:

  • MediaWiki-based products (Wikipedia, mobile apps)
  • New features without existing Event Platform instrumentation
  • Products where you need standardized measurement

✗ Use Event Platform instead if you have:

Guides

Templates

Reference

Meta

Test Kitchen maintainer documentation

Support

If you have questions that are not covered by these pages, or additional guidance is needed, please do not hesitate to reach out using the Experiment Platform intake process.

Contributing

Contributions to the Test Kitchen client libraries are most welcome and appreciated. Learn more about contributing to Test Kitchen development

About

Built on the Event Platform, Test Kitchen 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).

To learn more about Test Kitchen and which components are available to use, see the FAQ.

Background

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. Test Kitchen 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. Test Kitchen provides the SDKs 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.

All pages