Model one burst of events.
Supply the workload, failure probability and worker capacity. Inspect the expected attempt count before making a scaling or retry decision.
The work behind the burst.
With 1,000 initial events and 2 allowed retries, expect 973 events to succeed and 27 to exhaust all attempts. Counts are statistical averages.
Attempts by wave
| Wave | Expected | Share of initial |
|---|---|---|
| Initial attempt | 1,000 | 100% |
| Retry 1 | 300 | 30% |
| Retry 2 | 90 | 9% |
Optional planning comparison.
What each number means.
Let N be original events, p failure probability as a fraction, R maximum retries, d seconds per attempt and C worker slots. For each wave i = 0…R, expected attempts are N × pⁱ, with wave zero always equal to N. Sum the waves to get A, the expected total.
Exhaustion: N × p^(R+1) events fail every allowed attempt on average. These are not necessarily refused, lost or dead-lettered; the real system determines the terminal outcome. Success is the complement.
Capacity: total worker-seconds are A × d. For positive N the capacity-time floor divides that by min(C, N), because each event has no more than one in-flight attempt at a time. Zero events give zero work. This is a lower bound on expected service time under the assumptions, not a promised finish time.
Budget: request-only cost is A × your price / 1,000,000. A budget compares that expectation to a threshold. It neither stops work nor estimates how many events a real policy would reject.
Limits and a hand-checked example
Attempts must fail independently at a constant rate. There is no batching, backoff, duplicate delivery beyond modeled retries, cold start, throttling, poll delay, multi-tenant contention or duration variance. Provider compute, memory, gateway, logging, storage and network charges are excluded. This is a planning model, not a load test or cloud quote.
For 100 events, 50% failure and one retry, the waves contain 100 and 50 expected attempts; 25 events exhaust both attempts. At 200 ms and ten slots, the resulting 30 worker-seconds give a three-second capacity floor. Real waits and partial occupancy can make the burst take longer.