配信ボタンは、見られない作品にも出ていた:診断の結果画面を「本当」に寄せる
ガチアニメ診断 開発の記録 / 2026年10月
ガチアニメ診断の結果画面には、運命の1作の表紙と、「見られるところ」のボタンが並びます。作ったばかりのとき、このボタンも画像も、実際とは違うものを出していました。どれくらい違っていたのかを、手元のデータで数え直して、書き残します。
配信ボタンは、全作品に同じ二つだった
最初の版では、結果画面の配信ボタンは、DMM TV と U-NEXT の二つだけで、どの作品にも、同じ二つが出ていました。ボタンを押すと、そのサービスの検索ページに飛びます。でも、その作品が、そのサービスで見られるとは限りません。
診断のデータには、作品ごとに、「どのサービスで配信されているか」(Filmarks の配信状況)が入っています。6,091 作のうち、これが分かっているのは 4,489 作(73.7%)。この 4,489 作で、当時の二つのボタンが、本当に見られる所を指していたかを数えると、こうなります。
| 当時の二つのボタン | 作品数 | 割合 |
|---|---|---|
| 二つとも、見られる所を指している | 3,192 | 71.1% |
| どちらかは、見られない所を指している | 1,297 | 28.9% |
| うち、二つとも見られない所 | 295 | 6.6% |
3〜4 作に 1 作で、ボタンを押しても、その作品は見つからない。「ページが見つからない」という状態でした。
直し方:実際の配信状況で絞る
- 配信サービスを、2 つから 12 に増やしました(Netflix、Prime Video、Disney+、U-NEXT、Hulu、DMM TV、ABEMA、dアニメストア、FOD、TELASA、Lemino、バンダイチャンネル)。検索の URL は、実際にブラウザで開いて確かめています。
- その作品の配信状況に入っているサービスだけを、ボタンにします。
- ただし、そのまま全部を出すと、結果のカードが縦に伸びすぎます。メジャーな順(Netflix、Prime Video、Disney+、U-NEXT、Hulu の順に優先)に並べて、上位の 3 つだけを出します。
- 配信状況が分からない作品(残りの 26.3%)は、確かめようがないので、メジャーな順の上位 3 つを、これまでどおり出します。
途中で、DMM TV の検索 URL が 404 になっていることにも気づきました(/vod/search/ から /vod/list/ に直しています)。
配信状況は、データを取った時点のものです。配信は入れ替わるので、ボタンを押した先で、いまも見られるとは限りません。
画像でも、同じことが起きていた
作品の表紙の画像にも、実際とは違うもの、出ないものがありました。
- http の画像が、出ない。診断は https で配信しています。画像の URL が
http://だと、ブラウザが混在コンテンツとしてブロックして、出ません(「アルプスの少女ハイジ」の公式サイトは、証明書も無い状態でした)。http の画像は「無い」ことにして、あとから来る https の画像で、埋めるようにしました。 - 仮の絵を、本物として出していた。画像が無いときの「仮の絵」や、公式サイト共通の汎用画像は、実物の絵ではありません。これらは、弾くようにしました。
- ロゴが混ざる。Filmarks の共有用画像は、240×240 の正方形で、ポスターが正方形でないと、余白に自社のロゴが入ります。ページに埋め込まれた別の画像(260×364、ポスターの比率のまま)を優先するように直しました。全 7,247 件を取り直した結果、ポスターの比率の画像を使う件数が 4,477 件に増えました(古い形のままなのは 89 件)。
- 画像が、そもそも無い。原因の大半は、Annict と Filmarks で、タイトルの区切り方が違い、作品の突き合わせが一致しなかったことでした。同じシリーズの画像で補うようにして、画像のある割合が 77% から 86% に上がりました。
最終的に、診断に使う 6,091 作のうち、画像のあるものは 92.5% です。
分かったこと
結果画面は、見た目よりも、「押したらどうなるか」で信用が決まる。
- 全員に同じものを出すのは、楽だが、3 割近くの確率で外れる。実際の状況(配信状況)を見て、絞る。
- 「分からない」ときの出し方も、決めておく。配信状況が分からない 26.3% は、ふつうの上位 3 つに倒しました。
- 実物でないものは、弾く。仮の絵、汎用の画像、ロゴ入りの画像は、空欄より悪い、と判断しました。
この記事の割合は、2026年10月8日時点の診断のデータ(6,091 作)で数えたものです。画像の件数は、コミット(2026年9月25日)の記録によります。
この話に出てくるもの
- ガチアニメ診断(作品ページ) — 何を作ったのか、画面と数字で
- 「82%より80%が選ばれる」 — 結果画面の数字が食い違っていた、別の記録
ほかの記録
- 「82%より80%が選ばれる」:診断の適合度%が、並び順と食い違っていた — 診断の適合度%は、並び順とは別の物差しで作られていた。旧い表示では、回答者の35〜40%で上位3作の表示が逆転。作り物の回答者1,000人で測り直した記録。
- Python の splitlines() で JSONL が壊れる:犯人は U+2028(見えない改行文字) — JSONL を splitlines() で読むと、あらすじ中の U+2028 で行が割れて JSON が壊れる。実データ(7,255行と7,247件、U+2028 は8個)で確かめて、split("\n") に直した記録。
- 診断を12問にしたら、結果はどこまで変わるのか — 50問の診断を12問から始められるようにした。短くして結果は変わらないのか、作り物の回答者1,000人で測った記録。タイプはほぼ同じ、運命の1作はかなり変わる。
コメント
感想や、記事の間違いの指摘は、ここへ。書くには、GitHub のアカウントが要ります。
押すと、giscus(giscus.app)と GitHub に接続します。押さなければ、接続しません。詳しくはあつかいに書いています。