ChatGPTにCSVを渡す際のポイントとGA4からのデータ取得
ChatGPTでデータを扱う際に有効なデータ形式としてCSVがあります。この記事では、ChatGPTにCSV形式でデータを渡す際のポイントと、実際にGA4(Googleアナリティクス4)かデータをCSV形式でエクスポートし、ChatGPTに送信する方法を説明します。
この記事の内容は執筆時の2024年9月現在のもので、使用したモデルはGPT-4oです。実際にChatGPTを使用して調査した結果をもとに記事を執筆していますが、今後、ChatGPTのアップデート等によってノウハウが変わる可能性があります。また、データを送信する際には機密情報の取り扱いにご注意ください。
chatGPTにデータを送信する際のポイント
CSV形式のファイルで送信する
ChatGPTでデータを扱う際に良く発生するのが、見かけ上は正しい処理をしているように見えても、誤った結果が出力されるという問題です。与えたデータとは関係のない結果が出力されたり、比較的簡単な計算でも間違った結果が出力されたりといったことが起こります。結果が誤っているだけではなく、正しい結果を得るために何を改善すれば良いのか分かり辛いという問題もあります。
この問題を回避するためには、Pythonのコードを記述して実行できる機能である「Code Interpreter」を使用するのが良いでしょう。プログラムコードの記述が上手く行きさえすれば、データの読込や計算処理を正確に行うことができます。出力結果に誤りがあったとしても、記述されたコードを確認すれば、プロンプトの改善の方向性が見出しやすくなります。
Code InterpreterはchatGPT上では明確に使用するためのUIは存在しませんが、プロンプトの内容によって必要に応じて使用されるようです。プロンプトの表現を調整したり、「Code Interpreterを使用して」「プログラムを記述して」などの指示を加えたりすることで使用を促すこともできます。Code Interpreterが使用された場合にはコードのアイコンが表示され、クリックすると記述されたコードを確認することができます。
Code Interpreterを使用する際のポイントがデータの渡し方です。データはプログラムで扱いやすい形式のファイルとして渡します。そのためjsonやxlsxなど他の選択肢もありますが、この記事ではCSV形式でデータを送信します。CSVであれば内容の確認・編集が容易であり、GA4を始めとする多くのツールでCSV形式でのエクスポートに対応しているという利点があります。
CSV形式にしたファイルは、ChatGPTの画面上からファイルのまま添付します。プロンプト中にデータを含めてもCode Interpreterを使ってくれることが多いですが、コードを生成する際にデータがハードコーディングされるため、データ量が多くなった時に、コードの生成に時間がかかってしまいます。
CSVのフォーマットを整える
ファイルを送信する際には、CSVのフォーマットを整える必要があります。以下の点に注意してください。
- GA4などのツールでデータをエクスポートした場合、ファイルの情報や総計などが付いている場合があります。これらはエラーの原因になるため、削除する必要があります。
- 空の列や行がある場合にもエラーの原因になるため、削除します。CSVファイルをメモ帳などのテキストエディタで開いた際に、行の末尾に「,」があったり、最後の行が空欄になっている場合には空の列・行が存在しています。
- 欠損値がある場合には0埋めするなどデータの補正をします。
- 文字コードはUTF-8にします。Excelで作成したデータをCSV形式で保存する場合にはshift_jisで保存しないよう注意してください。
- ヘッダは1行にします。
エラーや結果の間違いが起こるのは、データの整形に不足があるケースが多いです。プロンプトでフォーマットについての情報を与えても良いですが、整形済みのデータを渡した方が確実で手っ取り早いかと思います。
実例:GA4からデータを取得して簡単な分析をする
実際に、GA4からChatGPT用のデータをエクスポートしてCSV形式でChatGPTに渡してみます。
GA4の「探索」からデータを取得
例として、過去1年間のチャネル毎のセッション数をCSV形式でエクスポートします。GA4の「探索」機能でデータを作成していきます。
- GA4で新しい探索を作成します。
- 期間を選択します。
- 一番左のウィンドウで「ディメンション」に「日付」「セッションのデフォルト チャネル グループ」、「指標」に「セッション」を選択します。期間を選択します。
- 「行」に「日付」、「列」に「セッション の デフォルト チャネル グループ」、「値」に「セッション」を指定します。
- 「表示する列グループ数」を増やします。今回は20を選択しました。
- 表にデータが表示されるのを確認します。セッションの降順になっているので、列のタイトルをクリックして日付の昇順に並び替えます。
- 最後に、表右上のダウンロードアイコンから、CSV形式でダウンロードします。
データをフォーマットする
GA4からダウンロードしたファイルは文字コードがUTF-8になっているため、そのままExcelで開くと文字化けします。そのため、Excelで空のシートを開いてから、「データ」→「テキストまたはCSVから」を選択してデータをインポートします。
データが読み込めたら、データを整形していきます。今回は以下の操作をしました。
- 最初の数行はメタ情報のため、行ごと削除します。
- 「総計」行は行ごと削除します
- 「総計」があった列(M列)は列ごと削除します
- ヘッダが2行になっているので(探索で「列」のディメンションを指定したため)、ヘッダを一行に調整します
- 最終行に空白の行があるので、行ごと削除します。
整形したら、「ファイル」→「名前を付けて保存」で保存します。その際に、ファイルの形式に「CSV UTF-8 (コンマ区切り) (*.csv)」を選択します。これでCSVファイルは完成です。
正直、結構大変な作業です。何回か繰り返す場合には、フォーマットの工程自体をchatGPTで自動化しても良いかと思います。
作成したデータをchatGPTで使用する
作成したファイルを使って、主要なチャネルのセッションの推移のグラフを描いてみます。
データの加工も試してみます。今回使用したサイトのセッション数は、週ごとに周期性があるため、7日間ごとにデータを足し合わせたグラフを描きました。曜日による変動が除外され、より変化の傾向が掴みやすくなったかと思います。
出力されるグラフで日本語が文字化けしないようにするには、Google Fonts等で「Noto Sans JP」などの日本語のフォントをダウンロードし、ttfファイルを添付してそのフォントを使用するようにプロンプトに指示します。
より実用的な分析例については、こちらの記事で紹介しているので、ぜひご覧ください。
アクセス解析・SEOツール「アナトミー」のAI分析機能のご紹介
弊社が開発しているアクセス解析・SEOツール「アナトミー」ではこの度、生成AIによる分析機能をリリースしました。
アナトミーが取得しているGA4のアクセスデータをもとにAIが分析を行い、結果を出力します。AIによる出力結果はPDFとしてダウンロード可能のため、レポーティングにご活用いただけます。
プロンプトを直接入力するのではなく、予め用意された選択肢から分析したい内容を選択していくことで、簡単に分析レポートを作成することができます。データの定義や関係性を事前に定義することで、AIによるデータの解釈の精度を高めています。
機能は引き続き拡充予定です。無料のdashboardプランからご利用いただけるので、ぜひお試しください。AI分析機能についてはこちらのページでご紹介しているので、ご覧いただけますと幸いです。