Prediction model

161 views
Skip to first unread message

dmitriy....@gmail.com

unread,
Nov 26, 2016, 5:05:20 AM11/26/16
to Prerender
Hi there,

Some time ago I wrote an article (https://nesteryuk.info/2016/09/27/prerendering-pages-in-browsers.html) about a model which can be used to predict the next page to be visited by the user on a site. Since I am working on implementing this model (https://github.com/dnesteryuk/sirko-engine), I am looking to hearing feedback. Please, let me know your thoughts. It is important to validate the model. Thanks!

Adam Ribaudo

unread,
Nov 26, 2016, 8:25:41 AM11/26/16
to Prerender, dmitriy....@gmail.com
Thanks for sharing! I just completed a very similar project for a client using Google Analytics and Google Tag Manager as the mechanism for pushing 'pre-render' tags to the user's browser. It was based on this work by Mark Edmondson - http://code.markedmondson.me/predictClickOpenCPU/supercharge.html#1

So far, my predictions are about 15% correct so I'm looking for ways to improve the model. I'm curious to hear if you've deployed this in a production setting and what kind of accuracy you achieve?

Adam Ribaudo

unread,
Nov 26, 2016, 8:32:24 AM11/26/16
to Prerender, dmitriy....@gmail.com
Follow-up question - What do you think the best way is to measure the positive impact of prerender tags on the user experience? I'd like to measure in terms of page load time, but what is the page load time when the page is prerendered in a hidden tab? 0 seconds?

There are also cases where the prediction may be correct, but the user navigates to the page before it finishes it prerendering which invalidates the prerender. This means I can't simply assume that every correct prediction resulted in a page load time of 0 seconds. Measuring the effects of prerender seems like a more difficult engineering challenge than implementing prerender!

Jonathan Drake

unread,
Nov 26, 2016, 9:23:57 AM11/26/16
to Adam Ribaudo, Prerender, dmitriy....@gmail.com
*not a dev but want this to work for many reasons*

What if you could execute this as is and then pre-render based on onscreen actions of the cursor. 
"Past studies of user behavior in Web search have correlated eye-gaze and mouse cursor positions, and other lines of research have found cursor interactions to be useful in determining user intent and relevant parts of Web pages")

Also the ability to pre-render aspects of the website will also go a very long way...

Pre-render sprites.
Pre-render DNS
Pre-render CSS (people do a poor job with minimizing the numbers and size)
Pre-render the Javascripts when possible

Put a priority on what IS known and then make steps from there.

Thoughts?

Appreciate the work being done with/on this


Jonathan



--
You received this message because you are subscribed to the Google Groups "Prerender" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prerender+unsubscribe@chromium.org.

Philip Tellis

unread,
Nov 26, 2016, 11:13:19 AM11/26/16
to Jonathan Drake, Adam Ribaudo, Prerender, dmitriy....@gmail.com
boomerang measures page load time including prerender time.  It's a little complicated with prerender because navigationStart isn't directly related to the user navigating.  We came up with a few interesting metrics.

1. Time from user requesting page to page becoming available to that user

The start time is the max of navigationStart, click time and before unload time.
The end time is onload time if visibilityState is hidden or visible or time of transition from prerender to a non-prerender state if visibilityState was prerender (there can be only one such transition)

2. Network time

The start time is navigationStart and the end time is onload time with intermediate points set by navigationTiming (all browsers that support prerender also support navigationTiming)

3. Hidden time

The start time is the onload time in prerender state
The end time is the time of transition from prerender to a non-prerender state.
It would be good if the page didn't do expensive things or log analytics during this time.

--
hello world

dmitriy....@gmail.com

unread,
Nov 27, 2016, 1:15:53 PM11/27/16
to Prerender, dmitriy....@gmail.com
No, I've not tried my solution in a production yet, it is still under development. Since the solution isn't completed, I've not tried to measure accuracy too. My goal is to finish implementing what I have in my head (there are more things than I described in the article), then I need some real data to test the model. Currently, I use dummy data for testing, but it is far from a real picture.

As far as I know GA only tracks pages when they get visible to users, hence, if the prediction is correct, you should see performance improvements in GA. Am I wrong here?

Btw, how do you measure the accuracy? Do you use 80/20 approach (80% of data is the training data, 20% is the test data which you try to predict)?

субота, 26 листопада 2016 р. 15:32:24 UTC+2 користувач Adam Ribaudo написав:

Adam Ribaudo

unread,
Nov 27, 2016, 3:33:40 PM11/27/16
to dmitriy....@gmail.com, Prerender
Thanks for those notes on performance testing, Philip. I wasn't aware of Boomerang and didn't realize I could tap into those events you mentioned.

Dmitriy, I'm not using machine learning for my solution, so there's no training/test data. Your blog post inspired me to write my own - https://www.noisetosignal.io/2016/11/using-google-analytics-to-predict-clicks-and-speed-up-your-website/ In it, I describe that I'm simply pulling 'previous page path' and 'page path' data from GA to calculate a probability that users travel from page A to page B. It's pretty dumb/simple.


 

--
You received this message because you are subscribed to the Google Groups "Prerender" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prerender+unsubscribe@chromium.org.



--

Adam Ribaudo
Noise to Signal LLC
https://www.noisetosignal.io
(617) 600-8011

Jonathan Drake

unread,
Nov 28, 2016, 2:02:02 AM11/28/16
to Adam Ribaudo, dmitriy....@gmail.com, Prerender
Glad to of found this discussion and progress.

Appreciate the posts as well.

I believe that not all pages are equal in terms of value to the user and to the company yet I do not see this taken into account when which pages/assets to pretender.

This is highlighted and magnified when a prospect moves through a purchase sequence. In terms of real monetary value a page in the purchase path is going to be well over 10x more valuable to prerender. Incorporating and placing a appropriate weight to this variable will pay real dividends.

Thoughts?

Jonathan

To unsubscribe from this group and stop receiving emails from it, send an email to prerender+...@chromium.org.



--

Adam Ribaudo
Noise to Signal LLC
https://www.noisetosignal.io
(617) 600-8011

--
You received this message because you are subscribed to the Google Groups "Prerender" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prerender+...@chromium.org.

Adam Ribaudo

unread,
Nov 28, 2016, 7:59:37 AM11/28/16
to Jonathan Drake, Dmitriy Nesteryuk, Prerender
Hi Jonathan, 

Thanks!

You make a fair point that not all pages are equal and that there's incentive in making sure that the user receives an exceptional experience for key pages. However, I don't think a purchase flow is a good use case for prerender. What is the value in pre-rendering a shopping cart before anything has been added? Or a checkout thank you page before the shipping details have been entered? Anything that requires user input would need to wait for that input.

The 'prefetch' command allows you to request specific assets and could be used to grab the 'shopping_cart.css' or other files in advance.

One benefit of my implementation in Google Tag Manager is that a business user could manually override the predictions using the GTM interface. For instance, if they wanted to added 5 new predictions that are important to the business, they could do so. I could even create a 2nd variable with manual overrides so that they aren't overwritten by the next pull from Google Analytics. Thanks for the inspiration!


To unsubscribe from this group and stop receiving emails from it, send an email to prerender+unsubscribe@chromium.org.



--

Adam Ribaudo
Noise to Signal LLC
https://www.noisetosignal.io
(617) 600-8011

--
You received this message because you are subscribed to the Google Groups "Prerender" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prerender+unsubscribe@chromium.org.

Philip Tellis

unread,
Nov 28, 2016, 9:29:33 AM11/28/16
to Adam Ribaudo, Jonathan Drake, Dmitriy Nesteryuk, Prerender

At SOASTA we have a method to measure page importance based on how its performance impacts the probability of a conversion. We call it conversion impact score. When the session path suggests multiple likely pages that the user could go to next, it's best to pick the one with the highest conversion impact based on what the user has already done.

https://www.soasta.com/blog/website-monitoring-conversion-impact-score/

We've found that performance of pages in the checkout flow have little impact on conversion (as long as they load without error). Product and search pages have the most impact.

Philip

Jonathan Drake

unread,
Nov 28, 2016, 9:51:05 AM11/28/16
to Philip Tellis, Adam Ribaudo, Dmitriy Nesteryuk, Prerender
I like the conversion impact score and method to get to it. 
I also have used and told many people about mpulse (after torbit closed)
Appreciate the share.

It is also data from one site so important to do it on a case by case basis or 
until there is enough data to make overall decisions. 

Is this something that mpulse does for customers out of the box?

Adam Ribaudo

unread,
Nov 28, 2016, 10:20:55 AM11/28/16
to Jonathan Drake, Philip Tellis, Dmitriy Nesteryuk, Prerender
Philip's note about search/product pages providing the most impact made me think of another use case for prerender: prerendering the first result in the search results. I believe Google does this already on google.com but this could be applied with GTM on anyone's website that returns search results.


Jonathan Drake

unread,
Nov 28, 2016, 11:37:54 AM11/28/16
to Adam Ribaudo, Philip Tellis, Dmitriy Nesteryuk, Prerender
do you mean the search results in google or the search results on a site when a person does a site search?


Hi there,

Some time ago I wrote an article ( https://nesteryuk.info/2016/09/27/prerendering-pages-in-browsers.html) about a model which can be used to predict the next page to be visited by the user on a site. Since I am working on implementing this model ( https://github.com/dnesteryuk/sirko-engine), I am looking to hearing feedback. Please, let me know your thoughts. It is important to validate the model. Thanks!

Adam Ribaudo

unread,
Nov 28, 2016, 11:40:58 AM11/28/16
to Jonathan Drake, Philip Tellis, Dmitriy Nesteryuk, Prerender
I referred to both:

Today, my understanding is that Google will submit a prerender link for the first search result on google.com (non-definitive source: http://searchengineland.com/ranking-first-good-first-prerender-better-206876)

In the future, I could imagine website owners implementing a similar mechanism on their website: prerender the first result of their on-site search.

Jonathan Drake

unread,
Nov 28, 2016, 11:45:28 AM11/28/16
to Adam Ribaudo, Philip Tellis, Dmitriy Nesteryuk, Prerender
this would be very valuable (and/or their top selling products as the power law holds from the sites i have seen)
especially considering the stats from a client and the next page path is most likely going to be the #1 clicked site. 

Do you allow for pre-fetching the ip address as well?



Philip Tellis

unread,
Nov 28, 2016, 12:00:21 PM11/28/16
to Jonathan Drake, Adam Ribaudo, Dmitriy Nesteryuk, Prerender
Conversion Impact Score is available to customers who get the datascience add on for mPulse, but they get much more as well.

To pre-fetch the IP address, you could either do a dns-prefetch (which is highly recommended anyway for 3rd party resources), or do a preconnect, although IMO, a preconnect is only useful for resources on the current page as the connection might timeout by the time the user gets to the next page.

Philip

--
hello world

Jonathan Drake

unread,
Dec 2, 2016, 12:44:35 PM12/2/16
to Philip Tellis, Adam Ribaudo, Dmitriy Nesteryuk, Prerender
here is the hover intent system that could be incorporated:


and pre-render those pages that fire via this. It would not be ideal but it would get a head start on the next page a second or two (enough to start the process)

thoughts?

Jonathan

dmitriy....@gmail.com

unread,
Jan 4, 2017, 5:14:01 AM1/4/17
to Prerender, philip...@gmail.com, ad...@noisetosignal.io, dmitriy....@gmail.com
I am not sure about the hover solution. In most cases, the browser won't have enough time to pre-render the next page. Also, the user may point the cursor to different links without clicking on any of them. Chrome prerenders only one page, hence, only the page behind the first link will get pre-rendered.

Btw, 
To unsubscribe from this group and stop receiving emails from it, send an email to prerender+...@chromium.org.



--

Adam Ribaudo
Noise to Signal LLC
https://www.noisetosignal.io
(617) 600-8011

--
You received this message because you are subscribed to the Google Groups "Prerender" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prerender+...@chromium.org.



--

Adam Ribaudo
Noise to Signal LLC
https://www.noisetosignal.io
(617) 600-8011

--
You received this message because you are subscribed to the Google Groups "Prerender" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prerender+...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "Prerender" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prerender+...@chromium.org.




--

Adam Ribaudo
Noise to Signal LLC
https://www.noisetosignal.io
(617) 600-8011



--

Adam Ribaudo
Noise to Signal LLC
https://www.noisetosignal.io
(617) 600-8011




--
hello world

--
You received this message because you are subscribed to the Google Groups "Prerender" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prerender+...@chromium.org.

dmitriy....@gmail.com

unread,
Jan 14, 2017, 2:56:44 AM1/14/17
to Prerender, dmitriy....@gmail.com
Hello guys,

Here is a demo of my solution http://demo.sirko.io. I am very close to release the first version.

sergio pallares

unread,
Feb 7, 2017, 1:10:07 PM2/7/17
to dmitriy....@gmail.com, Prerender

Tu eres tonto


El sáb., 14 ene. 2017 8:56, <dmitriy....@gmail.com> escribió:
Hello guys,

Here is a demo of my solution http://demo.sirko.io. I am very close to release the first version.

--
Reply all
Reply to author
Forward
0 new messages