> The Markdown version of [readout`: read out an experiment's lift](readout.html) on the aayudha docs site. Every page is listed in [llms.txt](../llms.txt).

# `readout`: read out an experiment's lift

Calling an experiment early, or quoting a number nobody can check, turns a test into an opinion. `readout` reads
both arms' counts once each has reached the Experiment's minimum sample, and writes the lift, the significance test,
and the confidence interval into the Experiment as its Result.

<!-- BEGIN GENERATED: skill-card -->

| Field | Value |
|---|---|
| In plain words | Reads out an experiment once it has enough people, and writes down the measured lift. |
| Journey stage | [Measure and learn](../journey-8-learn.md) |
| Accountable seat | [Revenue Architect](https://github.com/rahulnakmol/agentic-ayudha/blob/de79988060cd4c1522adb9e991f78cc9e58b9a68/seats/revenue-architect/CHARTER.md?utm_campaign=docs-site&utm_medium=docs&utm_source=agentic-ayudha) (Kuber) |
| Does the work | Kuber, the Accountable seat's twin, in the [`spec`](../how-models.md) model lane, with the seat's paired human when it has one |
| Consulted | [Product Strategist](https://github.com/rahulnakmol/agentic-ayudha/blob/de79988060cd4c1522adb9e991f78cc9e58b9a68/seats/product-strategist/CHARTER.md?utm_campaign=docs-site&utm_medium=docs&utm_source=agentic-ayudha) (Arjun) |
| Informed | [Founder](https://github.com/rahulnakmol/agentic-ayudha/blob/de79988060cd4c1522adb9e991f78cc9e58b9a68/seats/founder/CHARTER.md?utm_campaign=docs-site&utm_medium=docs&utm_source=agentic-ayudha) (Atri), [Marketer & Documenter](https://github.com/rahulnakmol/agentic-ayudha/blob/de79988060cd4c1522adb9e991f78cc9e58b9a68/seats/marketer-documenter/CHARTER.md?utm_campaign=docs-site&utm_medium=docs&utm_source=agentic-ayudha) (Sauti) |
| Layers it can touch | [L08 Analytics / reporting](../concepts-layers.md) |
| Who reasons | your agent's own model, inside the skill |
| Writes as | the bot identity (a GitHub App); without one, your identity, tagged as human fallback |
| Where it runs | the `aayu` command, a skill in your agent, an MCP tool (only with `[mcp] expose_writes` on) |
| The skill your agent reads | [skills/readout/SKILL.md](https://github.com/rahulnakmol/agentic-ayudha/blob/de79988060cd4c1522adb9e991f78cc9e58b9a68/skills/readout/SKILL.md?utm_campaign=docs-site&utm_medium=docs&utm_source=agentic-ayudha) |

<!-- END GENERATED: skill-card -->

## When to use it

- An Experiment has run long enough that both arms may have reached its minimum sample.
- You need the measured lift written down where anyone can reproduce it, before deciding which version stays.

Measuring a Goal against its baseline after a release is [`measure`](../skills/measure.md). No Experiment yet? Start with
[`experiment`](../skills/experiment.md).

## Run it

Run it once the experiment has had time to collect people. Your agent reports the Result exactly as written.

```text
Use the readout skill to read out Experiment issue 57 and tell me the Result as written.
```

<!-- BEGIN GENERATED: skill-usage -->

```sh
aayu readout <experiment>
```

| Input | Required | What it does |
|---|---|---|
| `<experiment>` | yes | Experiment to read out. |
| `--source` | no | Where the per-arm counts come from; default posthog. One of: `posthog`, `growthbook`. |
| `--metric` | no | GrowthBook metric ID (with --source growthbook); PostHog uses the Experiment's Metric. |
| `--from` | no | Start of the PostHog readout window (YYYY-MM-DD, UTC); default the Experiment's creation. |

<!-- END GENERATED: skill-usage -->

With GrowthBook: `aayu readout 57 --source growthbook --metric met_signup`.

> **Needs setup:** the counts come from PostHog or GrowthBook. Connect the one you use with `aayu init
> --integrations`, then store its read-only key with `aayu auth set-secret posthog` or `aayu auth set-secret
> growthbook`. Connecting PostHog is in [PostHog and Sentry](../guide-integrations.md#connect-posthog); GrowthBook
> has no step-by-step guide yet, and aayu cannot check its key's role, so give it a read-only key.
>
> **Honest status:** the PostHog and GrowthBook readouts have not been proven live against real accounts here.

## What you get back

A Result section in the Experiment issue: the lift of the treatment over the control, relative and absolute, marked
significant or not significant at the chosen alpha, with the z-test, the confidence interval, a table of users and
conversions per arm, the window, and the source query. The Experiment moves to `status:measured`.

**You should see** the Experiment labelled `status:measured` and its Result starting `Lift of`. Stuck? See
[everything else](../troubleshooting.md#everything-else).

## Gates

<!-- BEGIN GENERATED: skill-gates -->

It checks these before it acts, and stops when one fails:

- **min-sample:** The experiment reached its minimum sample size.

<!-- END GENERATED: skill-gates -->

While either arm is under the minimum sample, or the stated minimum disagrees with the Experiment's own parameters,
it stops with exit 4 and writes nothing. Wait, then run it again.

## What only a person does

<!-- BEGIN GENERATED: skill-human -->

The registry reserves no step of this verb for a person.

<!-- END GENERATED: skill-human -->

The Result says what the data shows, "not significant" included. Deciding what it means for the product, and which
version stays, is a person's call.

## What's next

- Measure the Goal the Feature serves: [`measure`](../skills/measure.md).
- The whole after-release flow: [did it work?](../guide-learn.md)
- [Every skill](../skills/index.md).
