difference between throughput and bit rate?
Here is my viewpoint:

Bit Rate:
The number of bit states, or binary information entities, that a channel can transmit per unit time. 

This is a design parameter.

Thus, with a simple two-state channel such as a piece of wire that can be set to high or low voltage, and a driver (and channel capacity of the wire) that can and is configured to do such transitions 1000 times per second, the bit rate would be 1000 bits per second.

With encoding such as Quadrature Phase Shift Keying, on a suitable channel such as radio frequency, two bits can be transmitted per symbol or transition, thus at 1000 transitions per second, the bit rate would be 2000 bits per second. 



Throughput:
The number of bit states of usable information, that can be successfully received over a channel per unit time.

This is an observed, dynamic parameter with a fixed and a variable loss.

Thus, with the two-state wire example above, if there is an error checking protocol above the physical layer, and if this protocol detects and demands re-transmission of 10 bits out of every 1000 in the original transmission, then the throughput would have dropped down to 990 bits per second.

If the channel gets subjected to increased noise, thus requiring additional re-transmissions, the throughput drops further. 



To be a bit (more) pedantic: Any error detection and re-transmission request protocol would typically require additional bits of header / ECC information, thus forming an overhead on the channel bit rate. This would bring throughput down further, compared to the raw bit rate.