All of the prior responses to your problem are good. There is another possible explanation.
I would check your magazine end cap. That cap secures your barrel into the receiver. If it's not exceptionally tight, your barrel can move just as the shot leaves your muzzle. It's not a big movement but it's enough to really move your pattern, especially at longer ranges.
I suggest that you tighten that end cap as tight as possible by hand and then using some padded pliers, tighten it 4 more clicks. I also mark both the cap and the barrel band on my 870's so that I know it's in the exact same place each time.
If you'll do that and then shoot again from a good solid rest, use a good slip on recoil pad and good hearing protection, you may find that your problem has been cured.
"If he's out of range, it just means that he has another day and so do you."