Webhook Retry Calculator
Size an exponential backoff schedule with jitter: total retry window, delivery probability and the retry storm your consumer will see.
Inputs
Total Retry Window
0.35hours
Expected Window With Jitter
0.18hours
Delay Before the Final Attempt
640.0seconds
Cumulative Delivery Probability
99.935%
Peak Retry Rate With Jitter
1,000.0events/s
Assessment
Schedule is well balanced
Step by step
Values used
Base delay before the first retry = 5 seconds; Backoff multiplier = 2 ×; Maximum attempts = 8 attempts; Delay cap per attempt = 3,600 seconds; Full-jitter range applied to each delay = 100 %; Per-attempt delivery success = 60 %; Events failing in the same instant = 5,000 events
Webhook Retry
With base delay b, multiplier m and cap c, the delays are min(b·m^i, c); their sum is the geometric series b(m^k − 1)/(m − 1) over the k attempts before the cap, plus (attempts − k) × c afterwards.
Jitter and delivery
Full jitter halves the expected delay, so the expected window is the nominal window × (1 − jitter ÷ 2); cumulative delivery probability = 1 − (1 − p)^attempts.
Total Retry Window
= 0.35 hours
Expected Window With Jitter
= 0.18 hours
Delay Before the Final Attempt
= 640.0 seconds
Cumulative Delivery Probability
= 99.935
Peak Retry Rate With Jitter
= 1,000.0 events/s
Assessment
= Schedule is well balanced
How it works
Exponential backoff grows geometrically until it hits the cap and then becomes linear, so the total window is a geometric sum plus a flat tail. Full jitter randomises each delay uniformly, which halves the expected wait and — more importantly — spreads a synchronised retry storm out over the delay window instead of concentrating it in one second. A retry schedule without jitter is a self-inflicted denial of service on the consumer: every failed delivery retries in lockstep, so the recovering endpoint is knocked over again by your own traffic.
Formulas
Webhook Retry
With base delay b, multiplier m and cap c, the delays are min(b·m^i, c); their sum is the geometric series b(m^k − 1)/(m − 1) over the k attempts before the cap, plus (attempts − k) × c afterwards.
- b
- Base delay before the first retry
- m
- Backoff multiplier
- c
- Per-attempt delay cap
- k
- Attempts made before the cap is reached
Jitter and delivery
Full jitter halves the expected delay, so the expected window is the nominal window × (1 − jitter ÷ 2); cumulative delivery probability = 1 − (1 − p)^attempts.
- jitter
- Randomised share of each delay
- p
- Per-attempt success probability
Frequently Asked Questions
How is Webhook Retry calculated?
With base delay b, multiplier m and cap c, the delays are min(b·m^i, c); their sum is the geometric series b(m^k − 1)/(m − 1) over the k attempts before the cap, plus (attempts − k) × c afterwards. Exponential backoff grows geometrically until it hits the cap and then becomes linear, so the total window is a geometric sum plus a flat tail. Full jitter randomises each delay uniformly, which halves the expected wait and — more importantly — spreads a synchronised retry storm out over the delay window instead of concentrating it in one second.
Why does Webhook Retry matter?
A retry schedule without jitter is a self-inflicted denial of service on the consumer: every failed delivery retries in lockstep, so the recovering endpoint is knocked over again by your own traffic.
What values do I need to enter?
This calculator takes 7 inputs: Base delay before the first retry, Backoff multiplier, Maximum attempts, Delay cap per attempt, Full-jitter range applied to each delay, Per-attempt delivery success, Events failing in the same instant. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
How many attempts should a webhook get?
Enough to ride out a normal outage and no more — typically six to ten attempts spread over a few hours to a day, then a dead-letter queue with an operator-visible replay. Retrying for a week hides the failure, ties up delivery workers and eventually replays events the consumer no longer has context for.
You might also need
- API Abuse CalculatorCommonly used together
- API Rate Limiting Security CalculatorCommonly used together
- Webhook Verification CalculatorCommonly used together
- OWASP Risk CalculatorAlso in Web & API Security
- CORS Policy CalculatorAlso in Web & API Security
- Remote Code Execution Risk CalculatorAlso in Web & API Security