# A Ramp Schedule — Safe Rollout Plans for AI Features

Source: https://www.skillbyai.com/en/ai-feature-rollouts/s-ramp

> Hold, check, advance.

## Stages with holding periods

A ramp moves through stages, for example dogfood, opt-in beta, 1%, 5%, 25%, 50% and 100%. Each stage **holds** long enough to collect meaningful data (enough requests, a full weekly cycle for some products) and ends with a **gate check** against the guardrails. Advancing should be a deliberate decision, and pausing or stepping back must be easy. Early stages surface obvious problems; later stages reveal rarer issues and load and cost effects.

## Small, observed steps

Exposure grows in stages, each with a holding period and a gate check.

![Four ideas: ramp schedule, shadow mode, canary comparison, A/B sizing.](assets/figures/ai-feature-rollouts/section-4-map.svg) — Figure 4.1 — Ramp, shadow, canary and A/B.

## Printing a ramp schedule, run

I ran this with Python 3 (scipy 1.18.1 where imported) on example numbers, not data from a real product. Holding 7 days of dogfooding, 14 days of opt-in beta (about 1% of users) and 3 to 4 days at each later step gives an earliest full rollout on day 35, if every gate passes.

```python
schedule = [("internal dogfood", 0, 7), ("opt-in beta", 1, 14), ("1%", 1, 3), ("5%", 5, 3),
            ("25%", 25, 4), ("50%", 50, 4), ("100%", 100, 0)]
day = 0
for name, pct, hold in schedule:
    print(f"day {day:>2}: {name:<17} exposure {pct:>3}%  hold {hold} days, then check gates")
    day += hold
print("earliest full rollout: day", day - schedule[-1][2])
```

Output:

```
day  0: internal dogfood  exposure   0%  hold 7 days, then check gates
day  7: opt-in beta       exposure   1%  hold 14 days, then check gates
day 21: 1%                exposure   1%  hold 3 days, then check gates
day 24: 5%                exposure   5%  hold 3 days, then check gates
day 27: 25%               exposure  25%  hold 4 days, then check gates
day 31: 50%               exposure  50%  hold 4 days, then check gates
day 35: 100%              exposure 100%  hold 0 days, then check gates
earliest full rollout: day 35
```

## Hold through a full weekly cycle when usage varies

Weekend and weekday traffic can differ; a 2-day hold may miss problems that appear on Monday.

**Quiz:** What happens at the end of each ramp stage?

- [x] A gate check against guardrail metrics before advancing
- [ ] Automatic jump to 100%
- [ ] The feature is deleted
- [ ] Metrics are reset without review

*Answer:* A gate check against guardrail metrics before advancing. Advance only on evidence.
