> ## Documentation Index
> Fetch the complete documentation index at: https://docs.niadra.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Experiments

> Each experiment on an element or an agent, arm by arm against `control`, with CUPED and the mixture sequential test, whose p-value holds at any look.



## OpenAPI

````yaml openapi/en/cell.json GET /v1/measure/experiments
openapi: 3.1.0
info:
  title: Niadra data API
  version: '1'
  description: >-
    Writing, context, history, objects, identity, privacy and governance of one
    space. Every space has a stable address, with the space and the region in
    its name.
servers:
  - url: https://{space}.{region}.api.niadra.com
    variables:
      space:
        default: acme-prod
        description: The space, which comes in the source key.
      region:
        default: us-east-2
        description: The region of the space, which also comes in the key.
security: []
paths:
  /v1/measure/experiments:
    get:
      tags:
        - signals
      summary: Experiments
      description: >-
        Each experiment on an element or an agent, arm by arm against `control`:
        CUPED-adjusted, with the

        mixture sequential test, whose p-value and interval hold however often
        the report is read.


        **Authentication.** Console person token with the `analysis` role (or
        admin), or a source key with the `admin` scope. It answers only in a
        space with the `measurement` feature on (the `features` document); in a
        space without it, 404.
      operationId: experiments_v1_measure_experiments_get
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentReport'
          description: Successful Response
      security:
        - sourceKey: []
        - personToken: []
components:
  schemas:
    ExperimentReport:
      additionalProperties: false
      description: >-
        Every experiment on an element or an agent, arm by arm, from what people
        did after they were assigned:

        incremental, as only a holdout says.
      properties:
        as_of:
          format: date-time
          title: As Of
          type: string
        experiments:
          items:
            $ref: '#/components/schemas/ExperimentResult'
          title: Experiments
          type: array
      required:
        - as_of
        - experiments
      title: ExperimentReport
      type: object
    ExperimentResult:
      additionalProperties: false
      properties:
        agent:
          anyOf:
            - type: string
            - type: 'null'
          title: Agent
        alpha:
          title: Alpha
          type: number
        arms:
          items:
            $ref: '#/components/schemas/ArmOutcomes'
          title: Arms
          type: array
        comparisons:
          description: >-
            Empty until each arm holds enough people for the normal
            approximation.
          items:
            $ref: '#/components/schemas/ArmComparison'
          title: Comparisons
          type: array
        cuped_days:
          description: The days before each person's assignment taken as the covariate.
          title: Cuped Days
          type: integer
        element:
          anyOf:
            - type: string
            - type: 'null'
          title: Element
        ends_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Ends At
        experiment:
          maxLength: 256
          minLength: 1
          title: Experiment
          type: string
        kind:
          enum:
            - element
            - agent
          title: Kind
          type: string
        starts_at:
          format: date-time
          title: Starts At
          type: string
      required:
        - experiment
        - kind
        - starts_at
        - alpha
        - cuped_days
        - arms
        - comparisons
      title: ExperimentResult
      type: object
    ArmOutcomes:
      additionalProperties: false
      description: >-
        The people one arm holds and what they did after they were assigned,
        from the outcome links.
      properties:
        arm:
          title: Arm
          type: string
        converted:
          description: People with an outcome in a success state.
          title: Converted
          type: integer
        outcomes:
          title: Outcomes
          type: integer
        people:
          title: People
          type: integer
        value_minor:
          description: Their lines' money, each line once whatever the method.
          title: Value Minor
          type: integer
      required:
        - arm
        - people
        - converted
        - outcomes
        - value_minor
      title: ArmOutcomes
      type: object
    ArmComparison:
      additionalProperties: false
      description: >-
        One arm against `control` on one metric, adjusted by CUPED when the
        history varies, with the mixture

        sequential test: its p-value and interval hold at any look, so the
        report may be read every day.
      properties:
        arm:
          title: Arm
          type: string
        arm_mean:
          title: Arm Mean
          type: number
        ci_high:
          title: Ci High
          type: number
        ci_low:
          description: The always-valid interval of `difference` at the test's `alpha`.
          title: Ci Low
          type: number
        control_mean:
          description: Per person, before the adjustment.
          title: Control Mean
          type: number
        decided:
          description: '`p_value` at or below `alpha`: the difference is real.'
          title: Decided
          type: boolean
        difference:
          description: The arm minus the control, per person, adjusted.
          title: Difference
          type: number
        looks:
          description: The daily looks kept before this one.
          title: Looks
          type: integer
        metric:
          enum:
            - conversion
            - value
          title: Metric
          type: string
        p_value:
          description: The running minimum over the daily looks and this one.
          title: P Value
          type: number
        relative:
          anyOf:
            - type: number
            - type: 'null'
          description: '`difference` over the control''s mean.'
          title: Relative
        variance_reduction:
          anyOf:
            - type: number
            - type: 'null'
          description: >-
            The share of the variance CUPED removed; absent when it did not
            apply.
          title: Variance Reduction
      required:
        - arm
        - metric
        - control_mean
        - arm_mean
        - difference
        - relative
        - ci_low
        - ci_high
        - variance_reduction
        - p_value
        - decided
        - looks
      title: ArmComparison
      type: object
  securitySchemes:
    sourceKey:
      type: http
      scheme: bearer
      description: nia_sk_...
    personToken:
      type: http
      scheme: bearer
      bearerFormat: JWT

````