How the calculation works
The model in one sentence: to hold the RPO, the changes made in the busiest RPO-length window have to cross the link within that same length of time.
- Daily change sent = daily change ÷ compression ratio. A percentage is taken of the protected data.
- Average change rate = daily change sent × 8 ÷ 86,400 seconds.
- Busiest RPO window factor depends on the RPO (R, in hours) and the peak-hour factor (p): for an RPO of an hour or less it is p; for a longer RPO the window holds the peak hour plus R − 1 average hours, so the factor is (p + R − 1) ÷ R, never more than a whole day’s change and never below 1. From a 24-hour RPO the average is enough.
- Short RPOs: the peak-hour factor describes a whole hour, so for an RPO under an hour the result assumes changes are even within that busiest hour. Bursts shorter than an hour, such as a database load that writes for ten minutes, need more; if your tools report change per minute or per RPO interval, use that peak as the factor instead.
- Link needed = average change rate × window factor ÷ link efficiency. This is the minimum sustained rate; it doesn’t add headroom for growth or for catching up after an outage.
Initial seed = protected data ÷ compression ratio × 8 ÷ (your link × efficiency − average change rate). The link has to carry the changes that keep arriving while the seed runs, so only the capacity left over goes to the seed. If nothing is left over, the seed never finishes.
Seed by shipment = your shipping time + the time to send the changes made while the data was in transit, again over the spare capacity.
Units. Decimal sizes use powers of 1,000 (1 TB = 10¹² bytes); binary sizes use powers of 1,024 (1 TiB = 2⁴⁰ bytes). Link speeds are decimal (1 Mbps = 10⁶ bits per second).
The peak-hour factor and the compression ratio are yours to enter; the defaults (1 and 1) assume changes spread evenly and no compression, which understates the bandwidth for most busy systems.
Worked example
20 TB protected, 3% a day, 2:1 compression, a 15-minute RPO and a peak-hour factor of 3:
- Daily change: 3% of 20 TB = 600 GB; 300 GB a day is sent after compression
- Average rate: 300 × 10⁹ bytes × 8 ÷ 86,400 s = 27.78 Mbps (3.472 MB/s)
- The RPO is under an hour, so the window factor is the peak factor, 3, assuming changes are even within the busiest hour: 27.78 × 3 = 83.33 Mbps of data
- At 90% efficiency the link needs at least 92.59 Mbps sustained
The initial seed over a 200 Mbps link: 180 Mbps of data capacity, less the 27.78 Mbps of ongoing change, leaves 152.22 Mbps for the seed. The 10 TB seed (20 TB ÷ 2) is 8 × 10¹³ bits, which takes 525,547 seconds, about 6 days 1 h 59 min.
Seeding by shipment in 4 days: the changes made meanwhile (4 days at 27.78 Mbps) take about 17.5 hours to send afterward, so the total is about 4 days 17 h 31 min, faster than the network seed by about 1 day 8 h 28 min.
With a 4-hour RPO instead, the window holds the peak hour plus three average hours: (3 + 4 − 1) ÷ 4 = 1.5 times the average, so the link needs 46.3 Mbps, half as much.




