Not really sure about the filtering thing since there’s nothing to filter. Here’s how the popular tab works:
1. Get the list of popular posts in the last X days. Depending on your settings, it could be all, 30, 7, or 1 day. This is done using the stats_get_csv()
function from Jetpack itself. What the plugin gets in return is a mixed list of pages and posts ordered by number of views. Limit of posts/pages list returned is 50.
2. The plugin then grabs all the post IDs from the list and store it as a comma separated list of IDs. This is for step #3.
3. call get_posts()
function passing in the list of IDs (which is list returned by jetpack stats) for the function to know which posts to get. This is not stored anywhere. This is only done for WP’s built-in caching system. This is in preparation for the next step which could be resource intensive if we don’t do this step.
4. From the list of popular posts (from #1), for each item on the list do the following: get all data for the current item i.e. title, ID, type etc…, if it is NOT a blog post, continue on to the next item. If it is a blog post, store all the needed data for this item, then go to the next item on the list. Repeat until you get 5 blog posts (or whatever setting you set).
The only place where the order of the posts are manipulated is in #1, and that is done using a JetPack function. The only other thing I can think of is because the JetPack function caches it’s data. also, how long have you had Jetpack activated? Just checked out your site and the widget is showing the list consistently now. I assume you have set the Popular Posts Date Range to Daily?