- 過去1年半のあいだに Stack Overflow のトラフィックが約35%減少した現象を時系列データで追跡した Observable データノートブック。データ出典は stackoverflow.com/site-analytics
- 当初は約50%減少と測定されていたが、観測された損失のうち約15%は2022年5月ごろの Google Analytics クッキー再分類に関連しているとみられ、その変更以降のデータのみを含むようにチャートを修正
- トラフィック低下は質問・回答数の約50%減少および投稿が受ける投票数の減少にも同様に反映
- チャートは利用量を49日移動平均で表現しており、データセット範囲は 2008-07-31 から 2023-07-23 まで
- 本文は多数のチャートセルで構成されており、提供されたテキストにはグラフがレンダリングされていないため、traffic / posts / votes の3データセットの生テーブル数値のみ確認可能
主要な変化の要約
- 過去1年半のあいだに Stack Overflow のトラフィックが約35%減少
- 初回測定値は約50%減少だったが修正された
- 観測損失のうち約15%は2022年5月ごろの Google Analytics クッキー再分類(strictly necessary として定義・保存される変更)に関連しているとみられる
- チャートはこの変更以降のデータのみを含むよう更新
- トラフィック減少はサイト利用指標にも同様に反映
- 質問・回答数が約50%減少
- それらの投稿が受ける投票数も減少
- チャートの利用量は49日移動平均で表現
- データ出典は stackoverflow.com/site-analytics
トラフィックデータ (traffic)
- traffic_2008Jul31_2023Jul23 データセット、418行規模
- 日付と3つの整数指標で構成され、値の範囲はおよそ 3M–22M / 1.5M–9.5M / 120k–520k
- 表示区間は 2022-06-01 から始まる日次数値
- 2022-06-01 → 18,524,758 / 7,945,523 / 351,184
- 2022-06-14 → 20,002,931 / 8,485,223 / 390,082
- 2022-06-04 など一部の日付では 6,346,105 程度と、平日に比べて低い値を記録
投稿データ (posts)
- posts_2008Jul31_2023Jul23 データセット、1,992行規模
- 日付と3つの整数カラムで構成され、値の範囲はおよそ 4k–23k / 2k–12k / 1.5k–12k
- 表示区間は 2018-02-08 から始まる日次数値
- 2018-02-08 → 21,397 / 10,148 / 11,249
- 2018-02-22 → 21,631 / 10,356 / 11,275
投票データ (votes)
- votes_2008Jul31_2023Jul23 データセット、1,991行規模
- 日付と4つの整数カラムで構成され、値の範囲はおよそ 400–3,600 / 10k–75k / 10k–65k / 2,000–9,500
- 表示区間は 2018-02-08 から始まる日次数値
- 2018-02-08 → 3,347 / 65,834 / 57,278 / 8,556
- 2018-02-21 → 3,206 / 66,063 / 57,693 / 8,370
1件のコメント
Hacker News の意見
これらの数値は、2022年5月の数日の間にトラフィックが急激かつ恒久的に減少したことを示している。1日の新規訪問は約100万から30万へ、1日の総ページビューは約2,000万から1,400万へ、1日のセッションは約940万から610万へ落ち込んだ。
しかし同じ期間、投稿数や投票数にはそれに見合う減少はなく、2023年2月に両方が急落するまでは、季節変動を除けば比較的一定だった。トラフィックデータは Google Analytics 由来で、投稿・投票データは StackOverflow 内部の計算によるものなので、2022年5月の急落は、Google Analytics がトラフィック/訪問者の追跡方法を突然変えたことによる測定上の産物かもしれないように見える。
https://i.imgur.com/qMj7Lge.png
https://news.ycombinator.com/item?id=36856249
スタッフの Catija も「2022年4月から5月の間に『トラフィック』の数値が週あたり4,000万減り、そのときクッキー追跡が変わった。その後12月までに再び正常化した。クッキー変更前のトラフィックは週あたり1億4,000万〜1億5,000万程度だった。ただし私たちはこれを把握しており、『補正』してきた」と答えている。
彼らは投票や投稿をあまりしない可能性が高いので、突然の減少は自然検索トラフィックに非常に悪いことが起きたという意味かもしれない。Google の変更、ひどい新しい検索エンジン最適化戦略、広告購入の停止といったものだ。新しいコンテンツの比率はずっと以前から暗い調子で一定のペースで減ってきたが、2023年初めの数か月は特に深刻だった。
SO でまだ存在しない質問についていちばん助けになったのは、むしろ彼らの厳格さだった。最小再現例、明確な思考過程、すでに試したことを備えた質の高い質問を書く過程で、たいていは投稿する前に自分で解決できた。
https://en.m.wikipedia.org/wiki/Rubber_duck_debugging
私の SO アカウントはもうすぐ12年で、レピュテーションは2,000を少し超える程度だが、あまり気にしていない。今でもモバイル開発タグの基本的な質問にはある程度答えているが、SO で唯一不満なのは、レピュテーションの高い一部モデレーターたちの敵対性だ。
そういうことを楽しんでいるように見える人もいて、レピュテーションが専門性を意味するわけではないことを忘れている。12年間、この問題を解決できていない。新規ユーザーが非常に妥当な質問を投稿して、その後二度と反応しないのを毎日のように見てきた。以前は単純で基本的な質問にも気前よく賛成票が入っていたが、今はそうではない。
フォーラムの衰退もこれに関係しているように見える。Reddit はアプリが1日に200件ずつ通知を送るので今も機能しているが、それがなければ現在ほど人気ではなかっただろう。SO は専門家でなければ参加しづらい敵対的な場所なので、初心者の立場では質問するかROMる以外にやることがない。資格がないように感じてしまう。
JavaScript、Python、pandas、Git のような基本的な質問をしたり答えたりして、レピュテーションが10万を超える人が大勢いる。
SO や他の SE サイトに投稿するときはいつも、「A は良い考えではないかもしれず、B のほうがよい解決策かもしれないことは分かっているが、私の特定の状況では本当にA をやりたい」と明確に書かなければならなかった。
それでも人々は、その質問を B の重複だとして閉じようとする。
そのうえで、私が書いた内容を完全に無視していると言うと、逆に私がミスリードしたと責められ、反対票を受ける。それが SO 流だ。
問題は、Googleがスパマーとの戦いに負けているように見えることだと思う。スクレイピングされたコンテンツサイトを避けるために、検索語に stackoverflow を入れなければならなくなってから、もうかなり経つ
そのスパムにはGoogle Ads/Analyticsが入っている可能性があり、ユーザーがスパムをクリックして検索結果ページに戻り、別のものを試すことでエンゲージメントが上がる。そのうちの一つが広告結果かもしれない。これらすべてがGoogleの収益に貢献している
数年前は、プログラミング関連の検索をするとStack Overflowが1番目か2番目の結果だった。今では上位2〜3枠に スパムっぽいゴミ がかなり頻繁に出てくる
以前、似た質問に答えたことがあったのに覚えておらず、2分で新しい回答を書いたら低評価の集中砲火を浴びてSOを去った。自分の昔の回答を探す時間のほうが、新しい回答を書く時間よりずっと長くかかったはず
重複を探す責任は回答者ではなく質問者にあると言ったら、それでも時間をかけるべきで、そうしないなら答えるなと言われた
すべてのユーザーがモデレーターだ。明示的なモデレーターもいるが、彼らは頻繁にクローズしたり低評価を付けたりするのではなく、別の問題に対応している。小さなサイトでは、一般ユーザー権限で投票し、クローズする程度だ
SOは、まだ見たことのない問題のためのライブラリとして残るだろうし、もともとその役割に向いている
この記事は自分には ChatGPTの台頭 についての記事に見えるが、過剰なモデレーションが大きな問題だという点にも同意する
gamedev StackExchangeでOpenGLを学んでいて行き詰まったとき、つらい出来事があった。モデレーターがOpenGL ESに関する似た質問を根拠に、自分の質問をすぐ重複扱いにしたが、OpenGL ESは関連はあるものの別APIだ。抗議しようとしたが退けられた。ほどなくして、何年も作っていたゲームを諦めたが、そのモデレーターの判断もそこに影響した。答えを得る道の前に壁があるように感じた。過剰なモデレーションは単なる不便ではなく、ユーザーが物事を成し遂げる能力を損ないうる
自分がStack Overflowに行く場合のほとんども、検索エンジンに質問を入力したからだ
2013年ごろフロントエンド開発を学ぼうとしていて、レスポンシブWebデザインとTwitter Bootstrapに魅了されていたのを覚えている。そのサイトにいくつか質問を投稿したが、素人くさい質問だと何度も嘲笑され、それ以来そのサイトを使わず、結局フロントエンドも学ばなかった
SOでは良い経験しかしていないが、とにかく平均以下の要領の悪い人たちのせいで落ち込まないでほしい
モデレーション地獄もあったが、SOの質問に答えなくなった主な理由はこれだ。良い回答を書くには時間がかかり、素早いコピー&ペースト回答は間違っていても高評価を得るし、多くの回答の中から採用回答を選ぶ人はたいてい、それを判断する知識を持たない質問者だ
さらに、質問者がもう気にしていないかのように、回答が採用されないことも多い。SOの点数競争をゲーム化する昔の記事には強い反発があったが、SOは壊れたシステムを直そうとするより、そのままだった。SOがExperts Exchangeなどから脱した動きだったように、今こそコミュニティが ポストSOのQ&Aサイト を始めるのに良い時期だ
逆に、ドキュメントがほとんどないソフトウェアの難しい部分、たとえば低レベル領域に答えると、多くても数票だ。採用されれば運がいい。難しく曖昧なSOタグには、知られざる英雄が何人かいる。多くの時間を注いでいるが、報酬はほとんどない。SOの次に来るものは、これを直す方法を見つけなければならない
Stack Overflowで感じた問題は、いくつかに絞るのは難しいが、おおよそこんな感じ。以前はGoogleがSOの非常に関連性の高い結果をうまく表示してくれていたが、ある時点からそうではなくなり、SOのモデレーションはどんどんひどくなっていった
探していたまさにその奇妙な質問を見つけたのに、答えになりそうなコメントが1つだけあり、モデレーターが「トピックに合わない」などの理由で攻撃的に閉じてしまっているケースは数え切れない。その結果、正確な答えがコメントに埋もれ、否定的な反応を受けることが多い。こうしたことが重なって、欲しい情報をノイズの中から拾い出すのがますます難しくなり、解決策はGitHubのコメントやどこかのブログで見つけるほうが簡単になった
Googleが最近w3schoolsや、さらに悪いことにgeeks4geeksのようなコンテンツファームを勧めてくるのは、Stack Overflowより常に悪い。アルゴリズムが何をしているのかは分からないが、Google検索をできるだけ早く終わらせようとしていることだけは確かに見える。「[言語] [記号]」で検索しても、ドキュメントではなくこうしたコンテンツファームに飛ばすのも冗談みたいだ。最近のGoogleでは本当に有用なものを見つけにくい
しかし私は本当にXが必要なので、その回答は役に立たない。次にXを行う方法を尋ねる別の質問を見つけると、モデレーターが前の質問の重複だとして閉じてしまう。質問者が「私は本当にXが必要なので、その質問の重複ではない」と明記していても閉じられる
最多投票の回答に埋もれた下位コメント:「それは質問への答えではありません。YでXをするにはこうします」 そして実際に質問に答えた人は、最多投票の回答のやり方をしなかったという理由で10件のコメントで攻撃される
SharePoint開発者ではなく初めてだったが、マニュアルや仕様を読んでシステムを把握する昔ながらのやり方には慣れていた。ビットマップ形式、太陽光インバーター、組み込み建設ソフトウェアなどを扱ってきたのでSharePointも簡単なはずだったが、StackOverflowなしでは無理だったと思う。2023年に再びSharePointの作業が必要になったときは、公式ドキュメントが非常によく整備されていて、ほかに何も必要なかった。これは孤立した例だが、最近私が扱うほとんどすべてのものでも似たような状況だ。経験がさらに10年積み上がったこともあるが、業界が公式チャネルをはるかにうまく扱えるようになった影響も大きいと思う。問題が起きたら、今はStackOverflowに行くのか、それともGitHub Issuesのような場所に行くのか?
ところが100以上の投票があり、懸賞金50で自動承認されたA1は「動作する」と言いながら、Yの文脈でのlibSについて、文脈を取り除いたFの一部だけを長々と説明する。コメントには「正解ではないのでA15を見よ」と付き、別のコメントはA15のU関連の根拠が二次サイトなので信頼できないと文句を言う。A2〜A7はA1の焼き直しで、A8はYの文脈の質問へのリンクを出して重複だと言い、A9〜A14は異なる動作をするlibTの例を挙げて「動作する」と言う。A15だけが「質問はXの文脈におけるlibSについてのFを尋ねており、Yではないと明記しているので、libSのXの文脈で見ると動作しない。理由はfooだ」と述べ、libSのドキュメントやソースコード、例にリンクする。その後libS vN+1でXの文脈におけるFが追加されると、数年後にコメントで「この回答は無効」と書かれる。その後にはランダムな回答が続く