株式会社Spelldata

〒100-0004
東京都千代田区大手町一丁目7番2号
東京サンケイビル27階
Tel: 03-3242-3150
Fax: 050-3488-8836
営業時間: 土日・祝日を除く 9:00〜17:30

実際の品質による判定

新しくなったGoogle PageSpeed Insights

2018年1月11日
著者: 竹洞 陽一郎

大きく様変わりしたGoogle PageSpeed Insights

2018年1月9日、Googleは、PageSpeed Insightsの大幅な改変をブログで発表しました。
("Real-world data in PageSpeed Insights")

従来、Google PageSpeed Insightsは、ベストプラクティスの適合度でのスコアリングツールで、実際の表示速度では判定はしていませんでした。
この1月の改変で、Google PageSpeed Insightsは、Chromeを使っているユーザの閲覧時のデータを利用し、表示速度の統計分析を提示するようになったのです。

しかし、判定が出るサイトと判定が出ないサイトがあります。
それはどうしてでしょうか?
この新しい仕組みの背景を理解すると、その理由が分かります。

パーセンタイル値による配信品質表示

新しいGoogleのPageSpeed Insightsでの判定は、以下の画像のようになります。

パーセンタイル値が表示された新しいGoogle PageSpeed Insights

大規模なアクセス数のあるサイトであれば、以下のように表示されます。
そうでない場合は、速度の箇所が「Unavailable」と表示されて、統計データが表示されません。

二つの指標値

FCP (First Contentful Paint)
これは、W3C Web Performance Working Groupで策定しているPaint Timing APIで取得できる指標値です。
以下のように定義されています。
First Contentful Paintは、ブラウザが、テキスト、画像(バックグラウンド画像を含む)、白地ではないcanvas、SVGなど、何かしら最初にレンダリングを開始した時間となります。
これにはwebfontのダウンロード待ちのテキストも含みます。
ユーザがページのコンテンツを消費し始めることのできる最初の時間です。
DCL(DOMContentLoaded)
これは、HTML仕様で定義された指標です。
DOMContentLoadedは、CSS、画像、サブフレームの読込完了を待つことなく、最初のHTMLドキュメントの読込が完了しパース処理された時間。
この後に、CSSや画像などの読込処理などがあるため、表示終了の指標にはならないのですが、HTMLの読込と解釈が終わった時間としては意味があります。

標本の取得

どのように標本(サンプル)となる観測値を取得しているかというと、Chromeに仕込んであるChrome User Experience Reportを使っています。
これは、ChromeでデフォルトでOnになっている機能です。
具体的には、Chromeの設定の詳細設定にあります。

ChromeでのUser Experience Reportの設定

そこで、Googleは、統計学のサンプリング手法の一つである、Randomized responseという手法を、データ収集に利用しています。(※)
これは、「あなたは麻薬を使った事がありますか?」とか「あなたは中絶したことがありますか?」というような、自分を認識されている状況では正直には答えづらいアンケート調査などで使われている手法です。
それは、主に、プライバシー保護の観点で使われています。

※参照記事: Learning Statistics with Privacy, aided by the Flip of a Coin

これは、デフォルトでOnになっているので、Chromeを使っている全てのユーザのWebサイトのアクセス情報とその表示秒数が取得されます。
しかし、それらの全てが使われるわけではありません。
それは、アクセス数の多いサイトの分布に比べて、アクセス数の少ないサイトの分布は、真の分布と異なる確率が高くなっていくからです。

これは、統計学では、「サンプルサイズ」(標本の大きさ)として計測や分析では考えないといけない事項です。
サンプルサイズが大きいほどに、真の分布(そのサイトの全てのWebパフォーマンスの分布)に近似していきます。

あるWebサイトの真の分布と標本の分布の関係

従って、新しいGoogle PageSpeed Insightsも、分析結果を保証するために、ある一定以上のアクセス数のあるWebサイト=サンプルサイズが十分なWebサイトであれば、「ページの読み込み分布」が表示されます。

速さの判定

新しいGoogle PageSpeed Insightsでは、どのように速さを判定するのでしょうか? この帯グラフの下には、以下のように説明が書いてあります。

このページのFCPおよびDCLイベントの分布は、「速い(上位の1/3)」、「平均(中間の1/3)」、「遅い(下位の1/3)」に分類されます。

この箇所は、統計学の知識が無いと、理解しづらいと思います。
この「速度スコア」の定義が、「PageSpeed Insightsについて」というページで書かれています。

PageSpeed Insights では Chrome ユーザー エクスペリエンス レポート(CrUX)のデータを組み入れて、ページに関する実際のパフォーマンス データを表示します。PSI レポートで確認できる指標は First Contentful Paint(FCP)と DOMContentLoaded(DCL)の 2 つです。

各指標(FCP または DCL)の中央値が、CrUX レポートでモニタリングされる全ページと比較されます。分布内での位置に応じて、各指標には次のようにカテゴリが割り当てられます。

  • 速い: 指標の中央値は、すべてのページの読み込みのなかで上位の 1/3 に含まれています。
  • 遅い: 指標の中央値は、すべてのページの読み込みのなかで下位の 1/3 に含まれています。
  • 平均: 指標の中央値は、すべてのページの読み込みのなかで中間の 1/3 に含まれています。

全体の速度スコアは、各指標に割り当てられたカテゴリに基づいて評価されます。

  • 速い: ページのすべての指標が「速い」に分類されている場合。
  • 遅い: ページの指標のいずれかが「遅い」に分類されている場合。
  • 平均: 上記以外の場合。

速さの基準

Webサイトの標本の分布の合成による、全体の分布の作成

これを分かりやすく説明します。
まず、表示速度が、速い・平均・遅いという基準が必要です。
それを、新しいGoogle PageSpeed Insightsでは、標本として取得しているの全世界のWebサイトのアクセスで得られた表示速度を基礎に決めているのです。

様々なWebサイトの表示開始時間の標本の分布を合成した分布

判定基準の決定

新しいGoogle PageSpeed Insightsは、このようにして出来上がった分布の面積を3等分して、速さの指標を決めています。
このように、全体の分布を基準にして判定するため、Googleの内部ではこの境界の秒数は持っていても、外部には公表していません。

分布に基づく、相対的な評価基準

判定作業

このように、様々なWebサイトの表示開始時間の標本の分布を合成した分布に基づいて、調べたいWebサイトの表示開始時間の分布を置いて、その中央値を以って判定します。

判定したいWebサイトの標本の分布の中央値がどこに位置するかを見る

この作業を、表示開始時間(FCP)だけでなく、DCLについても行うわけです。

判定したいWebサイトの標本の分布のFCP・DCLの中央値、双方が「速い」の箇所に位置していれば、「速い」と判定されます。
どちらが「平均」の箇所に位置していれば、「平均」と判定されます。
どちらかが「遅い」の箇所に位置していれば、「遅い」と判定されます。

ページ読み込み分布と標本の分布の関係

新しいGoogle PageSpeed Insightsの「ページの読み込み分布」の帯グラフは、この標本の分布を表しているわけです。
Webパフォーマンスのデータは、大抵は、複数のサーバの性能の分布の合成になります。
個々のサーバの性能の分布は、正規分布になることが多いのですが、それらのバラツキの違いが、Webパフォーマンスの分布として合成された時、左右非対称の分布を生み出します。

左右対称の分布の場合は、標準偏差などを見ますが、左右非対称の分布の場合は、パーセンタイル値を使って判定する方が妥当です。
それで、帯グラフで表されるわけです。

以上を理解すれば、新しいGoogle PageSpeed Insightsのデータの読み解き方は、ばっちりです。

注意して頂きたい事項

Chromeを使っているユーザだけではあるものの、実ユーザが体験した表示速度をRUM(Real User Monitoring)の仕組みを導入することなく、Chromeに組み込まれているデータ収集機能だけで取得できるのは便利です。
従来のベストプラクティスの適合度判定に比べれば、実ユーザの経験している表示速度が分布として見える化されて、表示速度判定されるのは大きな進歩です。
とは言え、限界もあるので、それは注意する必要があります。

上記のことを留意すれば、ちょっとした確認には使えるツールです。
もちろん、あなたのWebサイトがそれなりにアクセス数が多ければ、ですけど。

[前のページに戻る]