Calculate goodput — the application-level useful data rate excluding retransmissions and overhead.
Goodput is the application-level useful data rate — what remains after subtracting protocol overhead (headers, framing, control packets) and retransmissions from the raw link rate. It represents what the end user or application actually experiences as usable throughput.
Goodput
goodput = link_rate * (1 - overhead%) * (1 - retransmission%)
Throughput measures total data rate including retransmissions and protocol overhead, while goodput measures only the unique, useful application data successfully delivered — throughput can be high while goodput is low if many packets need retransmission.
High retransmission rates (from packet loss) have the largest impact, because each retransmission wastes bandwidth carrying data already sent once AND triggers TCP congestion control which further reduces sending rate.