For proper calibration, I suggest to mark the filament before the extruder(50-100mm) . Heat up the nozzle and slowly extrude the filament, than measure the distance again between the extruder and you mark. Than calculate the new steps/mm value:
(Requested amount / measured amount) X current steps/mm value.
Example: You requested 100mm to extrude, you measured 96mm movement on the filament your current steps/mm value is 150 steps/mm.
The new value will be: 100/90 = 1.1111, 150 x 1.1111 = 166.667 steps/mm
Modify this value in your Firmware and re upload it, than test is again.
You can modify this value on the fly with “M92 E166.667” command so you don’t have to upload the FW after every measurement.