見出し画像

ChatGPTで市場調査してみた(検証つき)

ChatGPTを使って、市場調査はできるのか?
「アイスクリームブランドの認知度調査」という設定で実験します。


実験1: ストレートに聞いてみる

とりあえず、ストレートに聞いてみましょう。

ChatGPTの回答がこちら。

ChatGPT4

残念ながら、具体の数字は出せないそうです。
ただ、認知率は「比較的高い」と予想しているので、聞き方次第で数字も引き出せそうな予感がします。


実験2: 出力形式を指定して、推定させてみる

ストレートに聞くとダメだったので、以下のように出力形式を指定して推定させてみます。

ChatGPTさんの回答がこちら。

ChatGPT4

真偽はさておき、ちゃんと推定してくれています。
予防線の張り方が妙に人間っぽいですね。

推定の結果、ChatGPTによると、日本におけるハーゲンダッツの認知率は「85%」とわかりました。

さて、この数値はどのくらい信頼できるのでしょうか・・・?
ChatGPTのアンケート回答の信頼性を検証するため、いくつか追加の実験をしてみます。


実験3: 100回試行してみる

まずは数値のバラつきを見るために、実験2を100回繰り返してみます。
結果がこちら。

「ハーゲンダッツ」の認知率のヒストグラム(GPT4で100回試行)

一定のバラつきはあるものの、全くでたらめな数字ではなく、90%の付近に山型に分布していることがわかります。外れ値を引くリスクを気にするなら、複数回試行した結果を平均する(or 最頻値や中央値をとる)と無難そうです。

この結果だけでも考察しがいがありそうですが、一旦脇に置いて、次の実験に進みます。


実験4: 実際のアンケート結果と比較してみる

ChatGPTの結果だけでは推測の域を出ないので、実際にアンケートを取って、ChatGPTの結果と比較してみます

今回は、アイスクリーム50ブランドの認知率を調査して、ChatGPTの出力と比較します。調査対象の50ブランドは、認知率が一定バラつくように、東洋経済ONLINEの「売れ筋アイス『トップ300商品』ランキング最新版」(https://toyokeizai.net/articles/-/586640)から、1~50位から10ブランド、51~100位から10ブランド・・・のように、50位ごとに10ブランド選定しました。

<調査対象ブランド>
チョコモナカジャンボ/ジャイアントコーン/ハーゲンダッツ/pino(ピノ)/明治 エッセルスーパーカップ/PARM(パルム)/雪見だいふく/パピコ/あずきバー/ガリガリ君/Lady Borden(レディーボーデン)/アイスボックス/ザ・クレープ/かじるバターアイス/パナップ/Sof(ソフ)/ガーナ濃密チョコレートアイス/ホームランバー/ミルクレア/チェリオ/ブラックモンブラン/センタン チョコバリ/牧場しぼり/サクレ/ZERO ビスケットクランチチョコバー/フロリダサンデー/ラムネバー/フォンディ チョコレート/昔なつかしアイスクリン/イタリアンプリンアイスバー/辻利 お濃い抹茶/ナタデココin杏仁豆腐/明治 チョコレート効果 CACAOアイス/BRULEE(ブリュレ)/パリッテ/やわもち/パリパリサンド/SUNAO(スナオ)/おいしく果実/レモネードアイスバー byレモニカ/センタン ウエハーサンド/センタン 喫茶店のクリームソーダ/とろ〜りれん乳三昧/ダンディーチョコレート/大納言あずき最中/メロンボール/BAKE CHEESE TARTアイスクリーム/ビエネッタカップバニラ/メイトーフローズンヨーグルト/フローズンキャラメル


その他の調査設計は以下の通りです。
本当はもう少しサンプル取りたいところですが、費用の関係で今回は100sで調査します。

<調査設計>
・調査手法:インターネット調査(Freeasy)/本調査
・調査対象者:15~79歳の男女個人
・設問数:1問(「以下のアイスクリームを知っていますか?」について、マトリクス形式で聴取。ブランドはランダム順に表示。)
・回収数:100s
・回収割付:性年代(10歳刻み)を人口構成比に準拠
・調査日:2023/04/11


アンケート調査の結果がこちら。ChatGPTの出力値も併記しました。

ChatGPTの値は、一定バラつくことをふまえて、10回出力した平均値を採用しています(プロンプトは、実験3にブランドを追加したものです)。

50ブランドの認知率(n=100)/GPT4は10回試行した結果の平均値

ドンピシャで一致するわけではなさそうですが、一定相関はありそうです。散布図を描いてみましょう。

アンケート/ChatGPT4で取得した、50ブランドの認知率の散布図

ChatGPTが出力した認知率が高いほど、アンケート結果の認知率も高い」ことがわかります。ChatGPTの値でアンケートの認知率をどの程度説明できるか?を表す決定係数も0.88と、88%のばらつきを説明できている結果となりました。

このことから、「GhatGPTが出力する認知率は、実際の認知率とは一致しないが、認知度を測る指標としては一定使えそう」といえそうです(少なくとも今回のアイスの例で)。

ただし、結果を注意深く観察してみると、傾向から外れたブランドも散見されます。特に、実際の認知率が低いと外れる傾向にありそうです。どのようなブランドだと当たりやすい/外れやすいか、は要検証といえます。
また、今回はアンケートの結果を「実際の値」として採用していますが、アンケートの値自体もサンプリングによって変動する値なので、厳密にはその点も加味した検証が必要と思われます。


まとめ

実験の結果、以下のことがわかりました。

  • ChatGPTに直接聞くと答えてくれない数字(認知率)でも、形式を指定して推定させると出力してくれる(実験1・2)

  • ChatGPTの出力する認知率は一定バラつくが、全くデタラメな値ではなく、一定の値を中心とした単峰な分布に従っている(実験3)

  • ChatGPTの出力する認知率と、実際のアンケートで取得した認知率との間には相関関係がある(実験4)


冒頭の問いに戻ると「条件付きではあるが、簡単なお題ならプレ市場調査くらいはできそう」といったところでしょうか。

すぐにできる活用としては、アンケート調査設計のために認知者の出現数を予測してみたり、ざっくり競合の認知率を見立ててみたり、といった活用ができそうです。また、少し飛躍させると、仮想市場的に市場の反応をシミュレーションできるようになる日も近いかもしれません。


考察

実験の結果、アイスの例では「ChatGPTの出力する認知率と、実際のアンケート結果との間には相関関係がある」ことがわかりましたが、日本のアイスクリームブランドの認知率はおそらく学習データ内にないはずなので、認知率的な数値が推定できたのは少し不思議な気がします


以下、言語モデルの専門家ではないのであくまで推測ですが、ChatGPTが認知率的な数字を推定できた理由について考えてみます。

実験1の出力をあらためて見てみると、「ハーゲンダッツ」の記述に「人気」というワードが存在していることがわかります。

実験1のChatGPT4の出力(再掲)

ここから想像を膨らませると、GPT4内の「ハーゲンダッツ」が存在するベクトル空間の周囲に「人気」や「認知率ー高い」などの単語が存在していて、さらにその周囲に「85」「90」「95」といった認知率を表す数字が存在しているイメージでしょうか。

この空間に対して、実験2のように「数値で出力して」と指示することで、「ハーゲンダッツ」→「人気」「認知率ー高い」→「85」「90」「95」と数字までアクセスして、「認知率」として出力してくれたのかなーと。

同様に、認知率が低めのブランドの周囲は「認知率ー低い」→「40」「45」「50」のような空間が形成されていて、そこから確率に基づいて数字が出力されていると考えられます。ただし、認知率が低いブランドほど、そもそもの学習データ内のテキストが少ないはずなので、実験4で触れたように推定が安定しないのではないか、と考えられます。

上記の推測に基づくならば、学習データ内に一定存在するブランドであれば、認知率的な数値が推定できるのもありえるかな、と思います。


と同時に、今回はだいぶナイーブな実験だったので、パッと思いつく限り、以下の点は要検証といえそうです。もし興味のある方がいらしたら、ぜひ検証していただけるとうれしいです。(サーベイしていないので、既に検証している論文等があるかもしれません。)

今後の課題(検証点)

  • ブランドの認知度や特徴によって、推定精度は変わるか?
    実験結果からの仮説として、認知率が低い≒学習データ内にテキストが少ないと安定しない可能性があります。また、ブランド名称が一般名詞にも存在する/表記が揺れやすいなど、ブランド名称の特徴で傾向があるかもしれません。加えて、学習データ時点で発売されていないブランドや、学習データ期間以後に認知率が大きく変動したブランドは当然ながら安定しないと思われます。

  • アイスクリーム以外のカテゴリでも、同様の推定が成り立つか?
    仮説として、学習データに少なそうなニッチなカテゴリや、認知率や人気と紐づけて記述されづらいカテゴリは推定が安定しなさそうです。

  • 認知率以外の数値でも、推定が成り立つか?
    認知率は「人気」などのテキストから推定しやすそうな指標ですが、他の数値でも成り立つのかは検証が必要そうです。また、単位系としても、%はテキストが豊富そうな数字なので、例えば、%→長さ(cm)、などにすると、違う結果になるかもしれません。
    また、本編では割愛しましたが、実験3の結果を細かくみると、下一桁が0,5に集中していました。これは、人間がキリのいい数字を使いがちな傾向に引っ張られているためと推察されますが、桁数や単位が変わることでこの傾向が変わるのか/推定に影響するのかも気になります。

  • プロンプトによる(質問文、聞き順等)推定のゆらぎはあるか?
    ChatGPTは確率に基づいてテキスト生成をしているだけなので、インプットの指示が変わった結果、指示の意味は同じでも、推定が大きくぶれる可能性がありそうです。(現に、「ハーゲンダッツ」単独で聞いた実験3と、50ブランドについて聞いた実験4では、同じ「ハーゲンダッツ」のスコアに若干の傾向差がありました。)
    一方で、プロンプトによる結果の変動を逆手にとって、「20代の認知率を推定して」などのように、興味のある特定の属性をプロンプトに入れた場合に、推定結果に反映されるか?などの問いもたてられそうです。

  • 言語によって推定精度に差はあるか?
    一般に、学習データには英語が多く日本語は少ないとされているので、日本語の方が推定が安定しない可能性があります。ただ、日本のブランドについて聞く場合は日本語テキストの方が強いはずなので、おそらく英語で聞くより日本語でダイレクトに聞く方がよい気もします。
    この点は、コストのかかる海外市場の調査の代わりになるか?という観点で、検証できると実用性が高そうです。

最後までお読みいただき、ありがとうございました。
よいChatGPTライフを!

この記事が気に入ったらサポートをしてみませんか?