In Nic & Phillips talk at Velocity in NYC they talked about what they learned collecting navtimings with mPulse/Boomerang. One interesting key thing is that we should use fetchStart instead of navigationStart as a start point. Checkout out the video for a couple of minutes:
https://youtu.be/yrWLi524YLM?t=15m27s
What's important is that using navigationStart we also get the time for initializing tabs/cache and redirects. I knew about the redirect but didn't think about the example in the video: If the user comes from a Google search, Google often do a extra redirect (to measure the click) and with navigation start, we pickup that redirect (that is out of our control).
The extra time we add should then be what we has as fetchStart today (fetchStart - navigationStart):
And for mobile: