見出し画像

データアナリストがChatGPTを使ってわかった「人間よりすごい」「人間にはかなわない」ところ

フルスタックマーケティング株式会社」の代表取締役CEO・清水優志(@fsm_shimizu)です。
企業のマーケティング活動を支援しています。

皆さん、ChatGPT使ってますか?

世の中では「ChatGPT(生成AI)を触ってない奴はダメ、生き残れない」みたいな論調ですよね… 僕はそんなコメントを見るたびに「そんなこと言われても…」って気分になっていたりしますが、一応マイペースに使っています。

僕自身、まだあまりChatGPTのポテンシャルを活かしきれていないと思うものの、特にデータ分析のプロジェクトで「くっそ便利だな…!!!!」と思うユースケースが増えてきたので、雑に紹介します。

また、後半では、使う中でわかった「人間よりすごい」「人間にはかなわない」ポイントについてまとめます。

この記事の前提

僕は本業はマーケターですが、データアナリストとして企業のR&Dチームでシニアアナリストをやっていたりもします。
一応、データ分析のためのSQLやPythonはひととおり書けて、分析要件定義からレポート作成まで1人で実行できます。

今回は容易に準備できる公開可能なデータということで、僕のXアカウントの「ツイートアクティビティ」を用意しました。

ぜんぜん真面目に運用していないことがわかる

※余談ですが、Xの投稿は「ポスト」に表現変更されたものの、いまだにアナリティクス上は「ツイートアクティビティ」になってますね。今、アップデート作業中らしいので、そのうちここも切り替わるでしょう。

ChatGPTのバージョンは「4」です。

データの統合

まず、なんかいろんなところに散らばってしまったデータをひとつに統合したい場合。

Xのツイートアクティビティって長期間のデータをまとめてダウンロードできず、1ヶ月分ずつポチポチダウンロードしなきゃいけないので、ダウンロード作業も、統合作業も、面倒です…。

ということで、5ヶ月分をローカルにダウンロードしました。

ChatGPTにデータの統合を依頼します。

添付のデータを1つのCSVに統合してください。

すぐに統合して、1つのCSVにまとめてくれました。

ChatGPTは作業するのに用いたソースコードも教えてくれます。
これを見ると、「pandas」というpythonライブラリをインポートして、「concat」という関数を使って複数のcsvファイルを結合してくれていることがわかります。

import pandas as pd

# File paths for the uploaded CSV files
file_paths = [
    '/mnt/data/tweet_activity_metrics_fsm_shimizu_20230901_20231001_ja.csv',
    '/mnt/data/tweet_activity_metrics_fsm_shimizu_20231001_20231101_ja.csv',
    '/mnt/data/tweet_activity_metrics_fsm_shimizu_20231101_20231201_ja.csv',
    '/mnt/data/tweet_activity_metrics_fsm_shimizu_20231201_20240101_ja.csv',
    '/mnt/data/tweet_activity_metrics_fsm_shimizu_20231228_20240125_ja.csv'
]

# Load and combine the CSV files
combined_df = pd.concat([pd.read_csv(file) for file in file_paths], ignore_index=True)

# Save the combined dataframe to a new CSV file
combined_csv_path = '/mnt/data/combined_tweet_activity_metrics.csv'
combined_df.to_csv(combined_csv_path, index=False)

combined_csv_path

従来はこれを手動でやらなければなりませんでしたが、今はChatGPTに依頼するだけ。本当にびっくりです。

このように、本来はPythonでコードを書いて実行しなければならないようなデータの処理は、ChatGPTがめちゃくちゃ得意なタスクです。
この領域に関しては、正直、ChatGPTの右に出るものはありません。スピードもクオリティも、人間よりもよっぽど優れています。

データのEDA

そんなわけで、統合されたCSVファイルが生成されました。

Macの「Numbers」で開いた統合済みのデータ

続いて、どんな感じのデータなのかをざっくり知るために、EDA(探索的データ分析)と呼ばれる作業をします。

以下のようなプロンプトを投げました。
「EDAしてください」と言ってもよしなにデータについて教えてくれますが、より精度高くデータを見たい場合には具体的な指示をしたほうがよいです。

添付のデータをEDAします。
以下の(1)〜(5)を順に実行してください。

(1)
データセット内のレコード数を教えてください。
また、カラム「時間」の最小値と最大値を教えてください。

(2)
以下のカラムの「平均値」「四分位数」をそれぞれ教えてください。
- インプレッション
- エンゲージメント
- エンゲージメント率(小数点第2位までの%表記に変換する)

(3)
縦軸に「インプレッション」を、横軸に「エンゲージメント」をプロットした散布図を作成してください。
なお、グラフ内の表記には日本語を使わず、英語に翻訳した表記を採用してください。

(4)
カラム「時間」を日単位で集計した「日付」と、カラム「インプレッション」の日別の合計値である「インプレッション」をそれぞれ生成したうえで、欠損している日付には「インプレッション」=0として、データを補ったデータセットを生成してください。
また、そのデータセットにもとづいた時系列グラフを、横軸を「日付」、縦軸を「インプレッション」として生成してください。
なお、グラフ内の表記には日本語を使わず、英語に翻訳した表記を採用してください。

(5)最も「エンゲージメント」の大きい投稿の「ツイート本文」を教えてください。

結果です。

  • 55件のポストのデータがあること

  • データの期間範囲は「2023-09-01 〜 2024-01-20」であること

  • 「インプレッション」「エンゲージメント」が下位75%のデータの分布には、そんなに偏りがないこと

がわかりました(エンゲージメント率だけなんか失敗してる)。

  • 「インプレッション」と「エンゲージメント」はおおむね相関関係にあること

  • いくつか外れ値的に「伸びた」ポストがあること

がわかりました(散布図の縦軸・横軸が指定と逆になってる…)。

  • 2023年9〜10月ごろはまあ頑張っていること

  • 2023年11月以降はほぼ頑張れていないこと

  • エンゲージメントが最も得られたのはXのOGP画像に関するポストだったこと

がわかりました。

このデータ分析自体はまったく大したことがなく、すごく単純なデータの探索処理をしているに過ぎません。
しかし、これが自然言語で誰でも簡単に実行できるということが驚異的です。

ただし、この章の冒頭にも書きましたが、データ分析の精度を上げるためには "具体的に" 指示をする必要があります
抽象的に「EDAしてくれ」では、当たり障りのないそれっぽい分析しかしてくれません(それでたまたま欲しい情報が得られればよいのですが)。

データの分析

EDAの結果として、例えば、「インプレッション」「エンゲージメント」が下位75%の投稿は分布にあまり偏りがなく、逆に上位数件の投稿は外れ値的に「伸びて」いることがわかりました。

ここから、「下位の投稿を分析してもあまり意味がない。一方で、上位数件の投稿の内容を分析することで、"伸びる" 投稿の特徴を抽出できるのではないか?」という仮説が立てられます。

ここを深掘りして分析してみようと思います。

データの前処理

まずは、すべての投稿のうち「上位3件の投稿」にのみ「1」というラベルを付けてみましょう。

添付したデータセットにカラム「トップポスト」を追加したうえで、「エンゲージメント」が上位の3投稿に値として「1」を、それ以外のレコードには「0」を、それぞれ挿入してください。

一瞬で実行してくれました。
こういう「ある条件にもとづいてデータを加工・分類してくれ」みたいな依頼は、ChatGPTが非常に得意とするところです。

データの可視化

つづいて、加工したデータについて、改めて色分けして散布図を生成してもらいます。

上記手順で修正したデータセットについて、縦軸に「インプレッション」を、横軸に「エンゲージメント」をプロットした散布図を作成してください。ただし、カラム「トップポスト」の値が「1」のレコードを赤色で、それ以外を青色でプロットしてください。
なお、グラフ内の表記には日本語を使わず、英語に翻訳した表記を採用してください。

また、カラム「トップポスト」の値が「1」のレコードについて、各投稿の「インプレッション」「エンゲージメント」と、「ツイート本文」をそれぞれ記載してください。

狙いどおりのグラフが生成できました。
やはり赤色の投稿(=トップ3の投稿)は、他の投稿と比べても明らかに「伸びて」いますね。

トップ3のポストについても、詳細を教えてくれました。

仮説の検証

上位数件の投稿の内容を分析することで、"伸びる" 投稿の特徴を抽出できるのではないか?」という仮説の検証です。

以下が上位3件の投稿内容の概要です。

  • XのOGP画像にテキストが表示されなくなった件

  • Netflix『ONE PIECE』の公開初週の興行成績が出た件

  • 「Adobe XD」がついにアップデート停止してしまった件

いずれも時事ネタであることがわかります。

検証結果です。
「仮説は真である。Xはトレンド性が強い投稿のほうが伸びる」

というわけで、ごくごく当たり前の結論にはなってしまいましたが、データ分析とはそういうものです。
しっかりデータを見ながら頭を使って分析したので、かなり解像度が上がりましたし、納得して「時事ネタ・トレンドに乗ったネタを投稿しよう」という気持ちになりましたとさ。

ChatGPT(GPT4)が人間を超えた部分

ChatGPTは確かにめちゃくちゃ便利で、特にデータの前処理・正規化と呼ばれるような機械的な処理は人間を遥かに上回るパフォーマンスを出します

すごいスピードでコードを書きますし、ミスることもほぼありません。そしてなにより、適当な自然言語で依頼してもやってくれます。

というわけで、「ただコードを書いて、機械的な処理をするだけ」というタスクは、完全にChatGPTに代替されました

プログラミングスクールなどで「Pythonを使ったデータ分析をしてみよう!」みたいな教材がよくありますが、あのレベルのことはぜんぶChatGPTのほうが、早く・正確にやってくれます。

ChatGPT(GPT4)が人間にかなわない部分

「総合的な知識・判断」は、人間にしかできない

一方で、以下のようなことは、やはりまだ人間に分があります。

  • どんなEDA(探索的データ分析)をするか?

  • EDAの結果からどんな仮説を立てるか?

  • どんな手順で仮説を検証していくか?

  • 最終的に仮説の検証結果をどう結論づけるか?

各所で言われていることですが、要するに「事実から何を見出す?」「どんな仮説を立てる?」「検証結果からどんな洞察を得る?」みたいな、総合的な知識・判断が必要とされるものは、まだ人間しかできません

なぜこんな仕組みになっているのかについては、明快な答えがあります。
それは「総合的な知識・判断」はコーディングできないからです。

コーディングできないことは、ChatGPTにも処理できない

ChatGPTの裏側では、Pythonのコードが動いています。
なんかいい感じのことを勝手にやってくれているように見えますが、それらはすべてPythonのコードを書いた処理の結果を、自然言語などで出力してくれているに過ぎません。

つまり、PythonにできないことはChatGPTにもできないのです。

2024年 現在、Pythonには「総合的な知識・判断」にもとづいて分析・考察を行なうことのできる機能やライブラリはありません。
したがって、人間のような高度な分析・考察は不可能です。

ChatGPTは単なるPython以上に賢いが…

もっとも、ChatGPTの強みは、世界中のコンテンツを学習データとして取り込んでいることです。
自動でPythonを書いてくれるだけでなく、世界中のコンテンツで得た知識にもとづいた分析・考察ができるわけです。

つまり、Web上に「総合的な知識・判断」をするに足るデータがあれば、人間のような高度な分析・考察もできるのでは…?と思いますよね。

しかし、十分なデータがあるということは、世の中で既にたくさんの人が分析・考察し、発信しているということでもあります。
それすなわち、分析・考察する必要もない事象だということですね。エンジニアリングでいうところの「車輪の再発明」にあたります。

まとめ

  • (良いデータ分析を行なうためには、やりたいことを具体的に依頼していく必要がありますが…)特にデータの前処理・正規化と呼ばれるような機械的な処理について、ChatGPTは人間を上回るパフォーマンスを発揮します

  • ただし、データ分析においてPythonのコードで実装できないことや、世の中で十分なコンテンツが発信されていない事象について、ChatGPTは人間の期待に応えることができません

===============

というわけで、弊社ではマーケティング支援事業や、データ分析支援事業を行なっております。
生成AI(ChatGPT)を活用したPoCプロジェクトに関わらせていただくこともあります。

創業からまだ半年の会社ですが、パートナーさんもクライアントさんも増えてきて、嬉しいことにとても忙しくなってきました!

  • 弊社でChatGPTを使ったデータ分析をやりたい

  • 弊社にデータ分析やマーケティング支援を依頼したい

という方がいらっしゃったら、以下のリンクよりお声がけください。
(「noteを読みました」と言ってもらえるの、本当に嬉しいです!)

Twitterアカウントはこちら
https://twitter.com/fsm_shimizu

この記事が参加している募集

AIとやってみた

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