Open Experiment Standard
Section 5 · OES Spec

Metric definitions

Snapshot metric identity AND calculation — definitions change.

A portable standard must distinguish metric identity from metric calculation. Two systems can both have a metric called 'Revenue'; unless the numerator, denominator, attribution window, and filters are captured, the result is not portable. OES requires that metric definitions be snapshotted into the document at the time of analysis, not merely referenced by ID.

Fields

FieldTypePurpose
metric.idrequiredstringStable metric ID.
metric.namerequiredstringHuman name.
metric.descriptionstringPlain-English definition.
metric.roleenumprimary, secondary, guardrail, diagnostic, data_quality, invariant.
metric.directionenumincrease_is_good, decrease_is_good, no_change_expected, two_sided.
metric.typeenumconversion, revenue, count, duration, ratio, retention, percentile, custom.
metric.unitstringusers, dollars, sessions, milliseconds, events/user, etc.
metric.numeratorobjectDefinition or query for the numerator.
metric.denominatorobjectDefinition or query for the denominator.
metric.aggregationenummean, sum, ratio, percentile, capped_mean, winsorized_mean.
metric.analysisWindowobjectConversion, attribution, or retention window.
metric.dataSourceobjectWarehouse, table, or event source.
metric.sqlstringOptional SQL definition.
metric.filtersobject[]Metric-level filters.
metric.cappingobjectOutlier capping or winsorization rules.
metric.covariatesobject[]CUPED or pre-period covariates, if used.
metric.ownerobjectMetric owner or team.