Apply the Mathis equation to see the throughput ceiling packet loss imposes on a single TCP stream.
The Mathis equation comes from averaging the AIMD sawtooth: a loss event halves the congestion window and it then grows one segment per RTT, so the mean window — and therefore throughput — scales with the inverse square root of the loss rate. Goodput subtracts the retransmitted share from the offered rate. Loss hurts far more than intuition suggests: going from 0.01% to 1% loss cuts a single stream's ceiling tenfold, which is why a 'barely lossy' WAN link kills bulk transfers.
TCP Retransmission
throughput ≈ MSS ÷ (RTT × √p), where p is the loss probability.
Goodput after loss
goodput = segments/s × MSS × 8 × (1 − p)
throughput ≈ MSS ÷ (RTT × √p), where p is the loss probability. The Mathis equation comes from averaging the AIMD sawtooth: a loss event halves the congestion window and it then grows one segment per RTT, so the mean window — and therefore throughput — scales with the inverse square root of the loss rate. Goodput subtracts the retransmitted share from the offered rate.
Loss hurts far more than intuition suggests: going from 0.01% to 1% loss cuts a single stream's ceiling tenfold, which is why a 'barely lossy' WAN link kills bulk transfers.
This calculator takes 4 inputs: Maximum segment size, Round-trip time, Packet loss rate, Segments sent per second. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
It models loss-based Reno/CUBIC behaviour, so treat it as the pessimistic bound. BBR and other rate-based algorithms are far less loss-sensitive and can exceed this figure on links with non-congestive loss.