Just so I understood correctly, a vertical spread of 18”, with a 2.5” horizontal. If that is correct then it’s called vertical stringing, usually related to variable velocity of shots or aim.

You need to run your chosen pellets out of your gun over a chrono. The extreme spread (ES) & thus standard deviation (SD) need to be small like <10fps ES, then the vertical string will be small. The smaller the ES/SD number the better. Weighing pellets should help get the best numbers here.

The other critical thing is the repeatability of the aiming mark & your ability to hold steady & repeat it. A springer requires a complete break of hold & movement of the gun to cock & load, so repeatability is difficult. That’s one reason a PCP off a bench with bags etc is more repeatable, no movement of the gun &in hold reloading.

Start with the chrono, if good numbers, then make sure you have an aiming point that can be centred on your scope.