Headlessly

Experimentation

Experiment, FeatureFlag — A/B testing, hypothesis validation, and progressive rollouts.

Test with real revenue data. Validate business hypotheses. Roll out progressively.

Experiment

A/B tests, multivariate tests, feature flag experiments, ML experiments, and prompt experiments.

import { Noun } from 'digital-objects'

export const Experiment = Noun('Experiment', {
  name: 'string!',
  slug: 'string##',
  description: 'string',
  hypothesis: 'string',
  type: 'ABTest | Multivariate | FeatureFlag | MLExperiment | PromptExperiment',
  status: 'Draft | Running | Paused | Completed | Archived',
  organization: '-> Organization',
  owner: '-> Contact',
  startAt: 'datetime',
  endAt: 'datetime',
  targetAudience: 'string',
  trafficAllocation: 'number',
  variants: 'string',
  metrics: 'string',
  primaryMetric: 'string',
  results: 'string',
  winner: 'string',
  confidence: 'number',
  sampleSize: 'number',
  conversions: 'number',
  tags: 'string',
  start: 'Started',
  conclude: 'Concluded',
  pause: 'Paused',
})
VerbEventDescription
startStartedBegin running the experiment
concludeConcludedDeclare results and winner
pausePausedTemporarily pause the experiment

FeatureFlag

Progressive rollouts, beta access, kill switches.

export const FeatureFlag = Noun('FeatureFlag', {
  key: 'string!##',
  name: 'string!',
  description: 'string',
  organization: '-> Organization',
  experiment: '-> Experiment',
  type: 'Boolean | String | Number | JSON',
  defaultValue: 'string',
  variants: 'string',
  targetingRules: 'string',
  status: 'Draft | Active | Paused | Archived',
  rolloutPercentage: 'number',
  evaluations: 'number',
  lastEvaluatedAt: 'datetime',
  rollout: 'RolledOut',
  enable: 'Enabled',
  disable: 'Disabled',
})
VerbEventDescription
rolloutRolledOutIncrease percentage rollout
enableEnabledTurn on the flag
disableDisabledTurn off the flag

On this page