You can try and correlate this yourself, as even different servos of the same make and model (nb. I've mostly only used cheap little things like generic SG90s) will have clear differences this way, and even the exact same servo may behave noticeably different at different points in time, and of course load changes things.
This seems to be true even when using a dedicated servo/PWM board or a clock-tied microcontroller such as on the Arduino (the Pi PWM channels are clock-tied anyway).
I think the only way to get precise positioning with a servo is to have some independent system of locating/calibrating it. I've done this with a continuous rotation servo that had a fair bit of gear on top, including a Pi Zero and an Arduino, using a photoresistor at the top of a tube that extended from the top almost all the way to the bottom of the servo, which was mounted on a plastic plate with 12 or 16 leds mounted in it at the same radius as the tube. By lighting up one led, I could rotate the servo to an exact point because the signal (light from the led) attenuated very rapidly because of the tube (making it easy to center it directly over the led). I also had a routine at start up where I'd light them all up, it would rotate to one, then they were turned off one by one (the interval could be quite short, 100 ms or so) to locate the position.
I in fact do not recommend that at all, it was ponderous and a lot of work. However, you get the idea; using hall effect sensors the same way might be better (guessing...). Finally, if you really want precise control a stepper motor is probably a better choice.