[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Schedule](https://evolu.dev/docs/api-reference/common/Schedule) › jitter

```ts
function jitter(
  factor?: number,
): <Output, Input>(
  schedule: Schedule<Output, Input>,
) => Schedule<Output, Input>;
```

Defined in: [packages/common/src/Schedule.ts:663](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Schedule.ts#L663)

Adds randomized jitter to delays.

Jitter helps prevent "thundering herd" when many clients retry simultaneously
after a service recovers. The delay is randomized within a range:

- `factor = 0` — no jitter (original delay)
- `factor = 0.5` — delay varies ±50% (e.g., 1s becomes 500ms-1500ms)
- `factor = 1` — full jitter, delay varies 0-200% (e.g., 1s becomes 0-2s)

### Example

```ts
// AWS-style full jitter
const awsStyle = jitter(1)(exponential("1s"));

// Conservative jitter (±25%)
const conservative = jitter(0.25)(exponential("1s"));
```