98%はそれほど多くない
(whynothugo.nl)- 98%という数字は、宝くじの当選や試験の最高点のような例外的な成果では高く見えるが、Webサイトのように基本的に動作すべき領域では不十分な場合がある
- 食中毒を出さないレストラン、期日どおりに賃金を支払う雇用主、会計してから店を出る客のように、基本的な期待値が関わる状況では、2%の失敗でも繰り返し被害になる
- 新しいブラウザ機能を使ったWebサイトが人口の98%にしか動作しない場合、約1億5,000万人が排除される計算になる
- 「全人口ベースで98%サポート」は実際の訪問者分布とは異なる場合があり、ある顧客サイトでは直近1年の訪問ブラウザのうち、nested CSSのサポートは約70%にとどまっていた
- 新機能が優雅に機能低下できないなら、98%サポートは「広くサポートされている」のではなく、一部ユーザーにとって基本的な最低条件を満たしていない状態になる
98%では十分ではない状況
- 98%は文脈によって意味が大きく変わる
- 宝くじで98%の確率で当たる、あるいは試験で98%の確率で最高点を取れるなら、非常に良い結果である
- レストランの客が98%の確率でしか食中毒を避けられないなら、毎月または毎週、体調を崩す人が出る可能性がある
- 雇用主が98%の確率でしか賃金を支払わない、あるいは客がレストランを出る前に98%の確率でしか会計しないなら、受け入れがたい
- 基本的な期待値が関わる状況では、2%の失敗率でも大きな問題になる
- Webサイトが98%の人にしか動作しないなら、約1億5,000万人には動作しない
- Webサイトの変更が訪問者の98%にしか動作しないなら、既存ユーザーの2%を事実上締め出すのと同じである
ブラウザ対応率と実際の訪問者の違い
- 一般人口ベースの対応率は、実際のサイト訪問者の対応率と異なる場合がある
- ある機能が全人口の98%に動作しても、特定サイトの実際のユーザーには70%しか動作しないことがある
- nested CSSの事例で、この違いが明らかになる
- nested CSSは2023年から標準だが、特定サイトでは「安全に使える」という判断がそのまま当てはまるとは限らない
- ある顧客Webサイトの直近1年のブラウザ分布を確認したところ、新しいCSS機能をサポートしていた訪問ブラウザは約70%だった
- 一般的に「広くサポートされている」と見える機能でも、そのサイト訪問者の30%を排除する可能性があった
- 堅牢なエンジニアリングとは、大多数にだけ動作することよりも、例外的な状況を優雅に処理することに近い
- 新機能が優雅に機能低下できない場合、98%サポートは2%のユーザーにとって基本的な最低条件を満たしていない状態のまま残る
1件のコメント
Hacker News の意見
98%で十分な場合も多い
事業計画が市場の98%を超える部分を必ず獲得しなければ成り立たないなら、それはすでに失敗した計画であり、そんなことは起こらない可能性が高い。
いつものように「状況による」という問題。ユーザー層が概して技術に不慣れなら、アップデートもされない10年以上前のブラウザをサポートしなければならないかもしれないが、そうでなければ少なくとも年に1回くらいはブラウザを更新できるコンピュータを使っている人だけを気にすればよい場合もある。
結局のところトレードオフは、コードの複雑さと開発時間対より大きな市場であり、会社ごとに個別に判断する問題である。
「98%で動作するなら、約1億5千万人には動作しない」という言い方があるが、一晩に70人分しか料理できないなら、最新ブラウザにアクセスできない1億5千万人をそもそも全員受け入れることはできない。最新ブラウザを使えるのに使わない人たちは、私の料理もあまり好まない可能性が高い。
レストランが生き残るために80億人を満足させる必要はなく、記念日・誕生日・創造的な料理の楽しみのために通い続けてくれる約1,000人を満足させればよい。
ヨットのシェフとして働いていたときは、10人だけ満足させればよく、乗組員とゲストが全員同じ料理を食べる方式にしていた。補給会社に頼らず自分で買い出しをしたので、ゲストが1か月乗船したときの月の食費は約3万ドルから1万ドルに減った。2005年ごろの St. Barts の食材はフランスから毎日空輸されていて高かったが、そのおかげでシャトーブリアンやオッソブーコのような料理も乗組員に出せた。
だから、私が毎日食べたいと思う、バランスが取れていて食物繊維が多く健康的な料理が、全員が毎日食べる料理になった。
ゲストやオーナーが毎日食べたいものを言ってくれなかったのかと尋ねる人がいるが、夫は Fortune 500 企業のCEOで、引退後も取締役会長だった。毎日数十億ドル規模の決定を下す人で、妻も非常に忙しかった。彼らにとって毎晩のメニューに答えることは最もやりたくないことの一つで、その決定を私に委ねていた。私はいつも自分が食べたいものを作り、それは常に正解だった。
全員を満足させることは不可能だ。試さない方がいい。そうすると壊れてしまう。
Webサイトやモバイル開発をしたことがある人なら、ブラウザとプラットフォームの組み合わせがものすごく多く、ロングテールの設定までサポートするのは時にほぼ不可能で、費用対効果もほとんどないことを知っている。以前いくつかのWebアプリを運用していたときも、壊れていたり、ときには悪意のあるブラウザプラグインのせいでかなりのエラーが発生した。任意のブラウザプラグインの組み合わせをすべて自分のサイトと照合して、動作するか確認することはできない。
結局、本当に状況次第なので、この記事のように一律の指針を出すやり方が嫌いだ。もし Gmail ユーザーの2%が突然ログインできなくなったら、数千万人に影響する大事件だ。しかし「あなたは Google ではない」という格言のように、多くの小さなECサイトでは、10年以上前のブラウザを使っている1人を直そうと努力するのは理にかなわない。他のコメントにもあるように、こうしたユーザーはどうせ購入に至る可能性も最も低い部類だ。
同様に、Webサイトに少しでも社会的なネットワーク効果があるなら、一部の人口を無視したとき、直接影響を受ける割合よりはるかに大きな利用減少が起きる。
サイトの機能自体にソーシャル要素がなくても、すべての事業は口コミというネットワーク効果の影響を受ける。人々は肯定的な体験より否定的な体験をはるかによく共有するので、50人に1人がサイトが壊れていると感じれば、オンラインのフィードバックのかなりの部分が否定的なものになり、その2%ではなく市場全体で評判を損なう。
事業では、到達可能な市場全体の小さな一部を得るためにも懸命に努力しなければならない。特定の市場に集中するという戦略的判断で到達可能な市場全体を意図的に狭めるのはよいが、特に理由もなく人々を排除するのは無意味だ。テキサスのBBQ店にベジタリアンメニューがないのは、誰もそれを期待して行かないので問題ないが、一般的なレストランならベジタリアンメニューが数品もないのは愚かだ。Web開発者が、この20年間うまく動作してきたやり方を使うのを面倒がり、きらびやかな新技術を使いたいという理由で人々を排除するのは、さらに愚かだ。
例えば Uber、ビザ・移民関連のWebサイト、格安航空会社の予約サイトなどだ。
もちろん通常はそこまで極端ではないが、考慮すべきだ。悪い評判は良い評判より速く広まる。
そして、すでにサポートしていたものがあるなら、壊さないようにするだけでよい。たいてい、それは最初から動作させるより簡単だ。
今年のクリスマスの後、リビングからツリーを片付けていたら、移動する過程で針葉があちこちに落ちた。掃いたが、1回目はいくつか見落とし、2回目に掃いてもまだ数本残っていた。
そのとき、針葉の99%以上を取り除いてもまったく十分ではないことが強く実感できた。掃除の多くはそんなもののようだ。ごく小さな汚れでも視覚的にははっきり目立つからだ。むしろ100%に近づくほど、残った汚れがより際立って見える。
全体的な趣旨には同意するが、ここでの問題は開発者が統計に不慣れだということではなく、そのほとんどすべてが収益中心で動いているという単純な事実だと思う。
先週、あるイベントのチケットを買おうとしたが、公式ルートはTicketmasterだけだった。アカウント確認に電話番号を強制されたものの、彼らが使っているメッセージ業者が私の番号にコードを届けられなかった。家にあるいくつかの番号でも試したが、すべて失敗した。
検索してみると同じ問題がたくさん出てきたので、明らかに既知の問題だったが、私にできることは実質的になかった。彼らにとっては単純な計算だ。私の小さなEU加盟国をカバーする別のSMSプロバイダーは、より高くつくのかもしれない。過去に私の携帯通信事業者を悪用した詐欺師を避けようとしているのかもしれない。いずれにせよ、チケット販売の損失よりも解決コストのほうが高い可能性が高い。
政府機関が強制しない限り、私がそのイベントを見られるかどうかには大して関心がないのだ。
技術が社会参加の基盤になる地点がある。そのときは、すべての人に提供されるよう規制すべきだ。
こういう態度は、その2%のユーザーになったことがないという特権から来ている。やがてある日、自分たちがその2%になって、実際にシステムを使えなくなるまでは、そう考えるのは簡単だ。
iOSアプリを作っていたとき、技術リードとプロダクト管理が現行の主要OSバージョンとその1つ前だけをサポートしようと主張し続けていて、ずっと腹が立っていた。エンジニアたちはバグ修正、性能改善、機能開発の代わりに、iOS X-2のサポートを取り除くことに時間を使っていた。リファクタリングを妨げるわけでもなく、特にバグが多いわけでもなく、アーキテクチャを損なうわけでもないコードだった。私の目にはただのユーザーいじめに見えたし、当時も理解できなかったし、今も理解できない。
今は8年前の携帯電話を使っているが、案の定、App Storeの半分くらいのアプリがこうした態度のせいでもう動かない。だから今では、確実に自分が2%に入ったようだ。
より広い要点は、パーセントは誤解を招きうるということだ。だからよくそのように使われ、より良く見せる。
たいてい、より正確な表現は98%ではなく「50人に1人」のようなオッズ比表記を使うことだ。パーセントは両端で一種の特異点を持ち、小さな数値の変化が現実には大きな差を生むことがある。成功率が98%から99%になると大したことがないように聞こえるが、失敗が50人に1人から100人に1人に減るということだ。効果が2倍になったわけだ。
SPFがその例だ。SPF 30は紫外線の1/30、つまり3%を通し、29/30、つまり97%を防ぐ。SPF 50は1/50、つまり2%を通し、49/50、つまり98%を防ぐ。この場合、分母で表現したほうが効果をはるかに直感的に示せる。
SPF 30と50を比較するほうが、97%と98%を比較するよりも効果の増加をよく表している。
通過量で表現することもできるだろうが、名前はSun Protection FactorであってSun Transparency Factorではない。
しかし、両端の小さな差が実際にも小さい場合がある。特に期待値ではそうだ。たとえば、98%の確率で100ドルを受け取る場合と、99.9%の確率で100ドルを受け取る場合を考えてみよう。
後者の期待値は前者より少し高いだけだ。99.9ドルから98ドルを引いた1.90ドルの差である。一方でオッズの差は非常に大きい。(0.999/0.001)/(0.98/0.02)≈20.39だ。つまり99.9%の確率は999対1のオッズで、98%の確率は49対1なので前者は20倍以上高いが、期待収益はほとんど同じだ。
関連記事: Science is a strong-link problem
https://news.ycombinator.com/item?id=35712694
宝くじのようなものは強いリンクの問題だ。システムの価値は最も強いリンクの価値に等しい。食品安全は弱いリンクの問題だ。食事の安全性は、最も安全でない一口の食べ物によって決まる。
筆者はCSSについて、弱いリンクの基準を擁護しているようだ。大多数が何を見るかのほうが重要で、1回か2回大成功しても失敗を埋め合わせることはできない、という意味だ。
Meat Loafの曲「Two Out of Three Ain’t Bad」を思い出す。日本では66%の誘惑 “66% is Good Enough” のようなタイトルで発売された https://www.discogs.com/release/8303076
問題には大きく2種類あると思う。部分点を得られる問題と、そうでない問題だ。
レストランの例は部分点を得られない側だ。食べ物の98%が安全だというのは十分ではなく、全部でなければ意味がない。従業員の給与も同じで、全部でなければ大問題だ。給料を一度でも払い損ねれば、とてつもない問題になる。
しかしウェブサイトのCSSは、ある程度の部分点を得られる。完璧でなくても、理論上は一部の価値を提供できる。
「完成」のパーセントを測るとき、自分がどの種類の問題を扱っているのかを知ることは本当に重要だ。
欲しい商品がいくつか売られなくなると、多くの顧客は特定のスーパーマーケットに行かなくなる、という統計を思い出す。
あるブランドのチョコレートスプレッドを置かないことは些細に見えるかもしれないが、ある顧客がそのせいで必要なほかの食料品12点もその店で買わなくなるなら、取り扱いをやめた商品が全体の2%にすぎないことにはあまり意味がない。スーパーマーケットの商品構成が安定しているのは、誰も新製品を作らないからではなく、小さな割合の変更でも顧客をいら立たせるからだ。
あるウェブサイトで注文できなければ、私はそれ以上試さない。翌週にESRブラウザーが更新されて動くようになるかもしれないが、その頃には検索結果のそのリンクをクリックしなくなっている。
問題の一部は、米国政府と英国政府のウェブサイトが「2%ルール」を使い、公式には98%だけをサポートしていることにある。
3年前にFirefoxのシェア2.2%が政府系ウェブサイトでサポート打ち切りの危険域に近づいたと言われていたが、今では1.9%まで下がっている。
https://news.ycombinator.com/item?id=36776603
https://analytics.usa.gov/によると、「過去30日間に16.6億セッションがあった」という。計算が正しければ、2%は3,300万セッションだ。
人を数字のように扱うのは嫌だ。
98%は多くも少なくもない。ただ間違っているのだ。
自分がその2%のうちの1人なら、それが自分にとってはすべてだ。自分が2%の中にいるのには妥当な理由があるかもしれない。そして、それを気にしない態度は間違っている可能性がある。
正しい理由で2%の人にしか動作しないウェブサイトのほうが、間違った理由で2%の人に動作しないウェブサイトよりもよいと思う。