Jump to content

This is a read-only backup copy of Wikitech. The live site can be found at wikitech.wikimedia.org

Test Kitchen/Glossary

From Wikitech

Platform components

Test Kitchen UI

Web application for creating and managing experiments and instruments, available at test-kitchen.wikimedia.org . Allows experimenters to define experiment configuration that is served to Experiment Enrolment Sampling Authorities. Formerly known as MPIC or xLab.

Automated analytics

System to define metric and then apply those definitions to query events from Hive and visualize them in Superset . See Test Kitchen/Automated analysis of experiments

SDK/Client Libraries

The methods provided by the Test Kitchen client libraries to submit events. Client libraries are available for JavaScript, PHP and Kotlin (in the future, Swift), enabling developers to create instrumentation in MediaWiki and mobile apps. The SDKs handle interaction with schemas and event streams, providing standardized methods for submitting events to EventGate. See Test Kitchen/SDK .

Instrumentation concepts

Contextual attributes

Fields in an event data object that provide information about the performer who triggered the event and the wiki where the event occurred. For example, the page title and page language. The values of contextual attributes that are included in the stream configuration are populated automatically by Test Kitchen when the event is generated. See Metrics Platform/Contextual attributes .

Event

A data object that represents a user interaction happening at a definite time. For example, a user clicking a button. Instruments work by sending event data objects to an event stream in response to user actions or app conditions.

Event stream

A continuous series of structured event data, as in Event Platform/EventStreams HTTP Service . An instrument publishes events to an event stream. Contextual attributes and analytics sampling are configured per event stream. To configure an event stream manually using MediaWiki's configuration files, see Test Kitchen/Stream configuration . Event data are stored in Hive .

Instrument

See mw:Product Analytics/Glossary#Instrument .

Instrumentation

See mw:Product Analytics/Glossary#Instrumentation .

L3SC review

A process in which new data collection activities are reviewed by Privacy Engineering and Privacy Legal depending on risk tier. See foundation:Legal:Data Collection Guidelines .

Data and schemas

Base schema

A reusable default schema provided by Test Kitchen to use with web or mobile app instruments. See Test Kitchen/Schemas .

Data contract

Refers to the Test Kitchen base schemas and the conventions for creating custom schemas. See Test Kitchen/Schemas .

Fragment

A partial schema designed to be combined with other fragments to build custom schemas. See Test Kitchen/Custom schemas .

Interaction data

Properties supported by the Test Kitchen schemas that can be customized to include data specific to an instrument. For example, action_context and element_id . See Test Kitchen/Schemas .

Monotable

Instruments using the same base schema can use the same event stream. The resulting data is available in a shared Hive table. This shared table and this architectural approach is sometimes referred to as the monotable. See Metrics Platform/Decision Records/Single Table Per Base Schema .

Schema

A data structure used by Test Kitchen to validate event data. Test Kitchen schemas as structured as JSON Schemas and written as YAML files. See Test Kitchen/Schemas .

Experimentation concepts

Bucketing

See #Experiment enrolment sampling .

Central Auth ID

A persistent identifier for logged-in users across wikis, used for enrolling subjects in logged-in experiments .

Edge unique ID

A browser cookie-based identifier used by Varnish for enrolling subjects in everyone experiments. Managed at the edge layer before requests reach MediaWiki. See https://meta.wikimedia.org/wiki/Edge_Uniques

Experiment

See mw:Product Analytics/Glossary#Experiment .

Experiment enrolment sampling

The process of enrolling users into experiments and consistently assigning an enrolled user a variant of the feature that is being experimented on. Also known as bucketing. In Test Kitchen, this is performed by Experiment Enrollment Sampling Authorities (Varnish for everyone experiments, MediaWiki for logged-in experiments). See Experiment enrolment sampling .

Experiment enrolment sampling authority

A component that performs experiment enrollment sampling for active experiments. Must have access to both (1) an identifier for the subject being enrolled and (2) a store of experiment configs. Test Kitchen uses two authorities: Varnish for "everyone" experiments (using edge unique IDs) and MediaWiki for logged-in experiments (using Central Auth IDs).

Experiment orchestration

See mw:Product Analytics/Glossary#Experiment orchestration .

Group

A specific treatment variant in an experiment (e.g., "control", "treatment_a", "treatment_b"). Each enrolled subject is assigned to exactly one group.

Hypothesis

See mw:Product Analytics/Glossary#Hypothesis .

Logged-in experiment

An experiment targeting only logged-in users. MediaWiki is the experiment enrolment sampling authority for logged-in experiments, using Central Auth ID to provide consistent experience across wikis.

Everyone experiment

An experiment targeting all users (both logged-in and logged-out). Varnish is the experiment enrolment sampling authority for everyone experiments, using edge unique IDs for per-device enrolment.

Variant

A version of a feature being tested in an experiment. In single-variant experiments, groups represent different values of one variable (e.g., button color). Multi-variant experiments test multiple variables simultaneously (e.g., button color AND background color).

Metrics and analysis

Analytics sampling

Analytics sampling is the logic that determines whether an event is included in data collection for an event stream, including the sampling unit and rate. See Analytics sampling .

Baseline

See mw:Product Analytics/Glossary#Baseline .

Guardrail metric

See mw:Product Analytics/Glossary#Guardrail metric .

Leading indicator

See mw:Product Analytics/Glossary#Leading indicator .

Lagging (trailing) indicator

See mw:Product Analytics/Glossary#Trailing (lagging) indicator .

Primary metric

See mw:Product Analytics/Glossary#Primary metric .

Product health metric

See mw:Product Analytics/Glossary#Product health metric .

Rolling metric

See mw:Product Analytics/Glossary#Rolling metric .

Secondary metric

See mw:Product Analytics/Glossary#Secondary metric .