I'm going to broaden this a bit as I think this may be helpful to other.
So, where you servo winds up at is determined by a variety of factors, how the horn is mounted and how the servo is mounted among them. That and cheap servos are not perfect devices.
When you feed a servo, you want to adjust for that and also constrain it from travelling where it should not go (so it doesn't stall or break).
int desiredValue = 90;
int constrainMin = 30;
int constrainMax = 150;
int offset = -5;
int servoValue = constrain(desiredValue + offset, constrainMin, constrainMax);
myserveo.write(servoValue);
HTH