If I had to come up with an algorithm for that feature I would not base it on pages in an eReader but on positions (small section defined by Amazon, probably 128 letters). This way it is independend of the book you are reading and the fonts size and page settings.
To begin with I would set a starting value based on an everage reading speed. Then The value alters based on the actual persons reading speed.
I have no idea how you can neclect flipping pages (maybe by putting a minimum time for reading one section, i.e. position) or longer periods for example when putting down the device to poor yourself a cup of coffee (maybe by defining a upper limit for reading a position).
I do not have a PW yet (coming in nevember in Germany) but I like this feature already. And like in a real book I check the following pages to judge how long it takes to finish the book or chapter. How accurate is this estimate? Can not be accurate!