It will probably end up pissing off ISPs to the point of either finding ways of faking the data, blocking the data, or just as policy telling customers to ignore the speed numbers.
If the data is blocked, the browser should figure out why and explain to the user that there seems to be
an issue with their network; in other words "Blocking" should make it even worse for the ISP.
a smarter browser UI could be a tremendous help to support technicians, which the ISPs should absolutely love ---- perhaps even tell the user exactly which entity to contact, even display their ISP's support number on the screen, to help accelerate the problem resolution process, and providing access to comments by other users of the same ISP, leading to happier customers, and customers who can share info with each other pertinent to troubleshooting or why this is happening, etc.
A lot of people won't be able to distinguish when something is their ISP's fault and when it might be the end servers fault.
I am suggesting the browser should also take some responsibility to the interpretation of the results here.
There should be a highly visible "troubleshooting" button that causes some tests to be run. Explanations should be right there in a natural language that any English speaker could understand.
The browser should not show an alert if there is not enough data to make a conclusion with a fair measure of
statistical confidence.
We can definitely make a strong distinguishment between a "web site performance issue" and a client connectivity issue, with data from a sufficient number of users.
The browser would also need to take into account geographic location and client connectivity, however.
e.g. Is the site slow because the visitor is half way around the world from the nearest mirror,
or is it slow because they're connecting over congested WiFi or 3G networks, instead of a wired connection?
I realize it's not "easy", but the web browser is the only software component that is in a position to take the kinds of measurements that are required and help alert the user to the problem, tell the user which entity they should contact, and assist with troubleshooting.