Why changing decimation in benchmark_rx.py affects SNR so much?

I’m running a link via benchmark_tx and benchmark_rx files. They are
both
running at 1e6 symbols/sec and a 5 Mhz carrier. The settings are default
otherwise. I’ve noticed that when I change the decimation rate at the
receiver, the SNR changes quite a bit while keeping BER the same. I
would
think with a 1 Msps BPSK, I’d need about 2 MHz of bandwidth at the
receiver,
but if I increase my bandwidth to 8 MHz the SNR will increase by 3-4 dB
while the BER remains the same. Why is this?
Also, what practical affects should I see from changing the RRC filter
rolloff?
Thanks.
-William