What you are really after is rate of flow ?
Build up a table of values- pump a gallon of oil at a specific pwm or voltage. Do that for a range of rates you may need. Now you know the flow at various voltages/pwm and can probably get pretty close to the output you want via voltage/pwm over time. Once you have those values, I doubt there is anything that will change.
If we are talking very low rates and need revolutions, maybe you simply then have a fixed pwm and just count pulses sent out (x pulses = y revolutions = z oil). Not sure if that would work, just a thought.
I think I would at least play around with that before doing more hardware.
I have a little water pump that runs at 12v/70%pwm which draws 2A and gets me 2GPM. I had done some experiments to get voltage vs rate and settled on 70% to get 2GPM. When it runs, I just keep track of time (only to the second) and the result is pretty accurate- within an ounce or two (not that it matters a great deal in this case, just nice to know). To detect when the pump is actually needed or is finished, I use adc to measure back emf between pwm pulses. With a peristaltic pump it all probably looks the same whether liquid/no liquid, so that would probably be of no use (compressing the silicone tube is probably most of the work).