3.8 aint bad for a 4Mbps. Im guseeing its a business line or something like that given your high upload rate compared to you download speed.
Well its pretty much a given that yo will never get your full speed of your subscription. Depends on a few things which are dynamic and case spesific - but boils things like SNR margin (signal to noise ratio)
If your SNR is too low to get a certain speed out of the line, they need to boost it, that creates noise on the line which in turn slows your data rate due to interferance.
Any bad copper wire from telkoms back bone to your house , degrade the quality of the connection and create interferance.
The way your LAN is connected, which devices you connect. In a perfect network with all components match equally with no bottlenecks would give you 100% of your speed rate.
Things like MTU MTU/Latency RWIN and TCP transfer window size play a role MSS etc. - basically optimizing your network such that your mbps connection speed you have available ,given your ave latency, choose a optimal size that the packets you receive needs to be in order to cause the least interruptions , and feels smooth and not 'start stop' effect.
If you optimize your network like this (windows also do some of these automatically) your max speed will be lower than the rated max speed, but jitter will be lower thus establish higher throughput.