😸

GPT-5でダミーデータのデータ分析の検証

に公開

はじめに

2025年8月にリリースされた"GPT-5"でのダミーデータのデータ分析の検証をしてみました。

検証内容

  • 下記のようにGPTにダミーデータを作成をお願いしてみる。
ぶっきらぼうで申し訳ないのですが、ダミーデータを作りたい。何か良い事例はあったりしますか?

※可能であれば、[より長く思考する]を選択すると、より良いダミーデータを作成できます。

そうすると、ダミーデータを10パターン作成してくれました。

こんな事例を出してくれました!

1) E-commerce / 注文データ(テスト:売上分析・BI)
2) ユーザープロファイル(認証やセグメンテーションテスト)
3) プロダクトカタログ(EC/在庫)
4) 決済/取引ログ(不正検知テスト)
5) センサ/時系列データ(IoT、モニタリング)
6) Webサーバアクセスログ(解析、ログパイプライン)
7) サポートチケット(カスタマーサポートのワークフロー)
8) マーケティングリード / キャンペーン(A/Bテスト用)
9) 社員(HR)データ(アクセス制御や権限テスト)
10) 医療/患者(臨床試験・分析のモック)

そして、Pythonのサンプルも出力してくれました!!

# 使い方: pip install faker pandas
from faker import Faker
import pandas as pd
import random
from datetime import datetime, timedelta

F = Faker("ja_JP")
F.seed_instance(42)
random.seed(42)

def gen_orders(n=1000):
    rows=[]
    base = datetime(2025,1,1)
    for i in range(1, n+1):
        order_id = f"ORD-{i:06d}"
        user_id = f"U-{random.randint(1,500):04d}"
        product_id = f"P-{random.randint(1,200):04d}"
        qty = random.choices([1,2,3,4,5], weights=[70,15,8,5,2])[0]
        price = random.choice([980,1980,2980,4980,7980])
        total = qty * price
        # 日付をランダムだが業務時間帯に多少偏らせる
        order_date = base + timedelta(days=random.randint(0,240),
                                      hours=random.choices(range(8,22), weights=[1]*14)[0],
                                      minutes=random.randint(0,59))
        status = random.choices(["pending","shipped","delivered","cancelled"], weights=[5,20,70,5])[0]
        payment = random.choice(["card","paypal","cod"])
        addr = F.postalcode()  # 郵便番号
        city = F.city()
        rows.append([order_id,user_id,product_id,qty,price,total,order_date.isoformat(),status,payment,addr,city])
    df = pd.DataFrame(rows, columns=["order_id","user_id","product_id","qty","price","total","order_date","status","payment_method","shipping_postcode","shipping_city"])
    return df

df = gen_orders(100)
df.to_csv("dummy_orders.csv", index=False)
print("generated dummy_orders.csv")

今回は、「1) E-commerce / 注文データ(テスト:売上分析・BI)」を使用しました。出力をお願いしていき、出力されたダミーデータをダウンロード。

結果を見ると、綺麗なダミーデータとなっております!

前まで割と細かなプロンプトを投げないとダミーデータがイマイチだったこともあったので、これは進歩を感じました。

出力してくれたダミーデータを元にプロンプトを投げてみます。

#プロンプト
次の項目について分析してください。

#ステップ1
##グラフ出力項目
月別注文推移
支払方法の円グラフ
都道府県別の棒グラフ

##傾向
データから読み取れる傾向を分析してテキストで出力

#ステップ2
##今後の戦略
データ分析した結果から、今後の売上を考察してアドバイス文を出力

#ステップ3 グラフ出力をチェックする。もし文字化けがあればPythonによるグラフ出力のラベル、目盛りなどのテキストすべてのフォントに送信した日本語フォントを適用して出力する #制約条件 Pythonによるグラフ出力の際はグラフのラベル、目盛りなどのテキストすべてのフォントに日本語フォントを使用して出力する

出力結果

実行内容(要点)
- グラフ(PNG)を出力(日本語フォント適用)
    - 月別注文推移: /mnt/data/analysis_outputs/monthly_orders.png
    - 支払方法の円グラフ: /mnt/data/analysis_outputs/payment_pie.png
    - 都道府県別棒グラフ: /mnt/data/analysis_outputs/prefecture_bar.png
- テキストファイル(分析+戦略): /mnt/data/analysis_outputs/analysis.txt
- 使用フォント(自動検出): Noto Serif CJK JP(環境に存在したため適用しました)

分析結果(要約)

総注文数: 100 件
配達済み: 63 件, キャンセル: 4 件 (4.0%)
平均注文金額: 約 5,291 円, 中央値: 3,960 円

上位都道府県(注文数)

- 神奈川県: 25 件
- 広島県: 17 件
- 北海道: 12 件

支払方法比率
- bank_transfer: 29 件 (29.0%)
- paypal: 24 件 (24.0%)
- cod: 24 件 (24.0%)
- card: 23 件 (23.0%)
傾向(自動判定): 月別の注文数に目立つ増減はなく、大きな上昇/下降トレンドは見られませんでした(データ数が100件のため、判定に限界があります)。

今後の戦略(提案)
1. 支払方法最適化:上位の支払方法に合わせて決済UX(特にbank_transferとオンライン決済)を改善し、決済失敗・離脱を減らす。
2. 地域別施策:神奈川県・広島県・北海道で注文が多いため、その地域向けの広告や在庫最適化、配送改善を検討。逆に注文が少ない地域は初回割引や送料無料キャンペーンで獲得を狙う。
3. 月次キャンペーン:谷間の月(グラフを確認)にプロモを投入して売上を平準化。
4. キャンセル対策:キャンセル率(4%)の原因を調査(支払い失敗、在庫切れ、配送遅延等)して対処。
5. 商品/価格戦略:平均単価を上げる施策(セット販売、推奨商品)でLTVを向上。

最後にPPTでまとめをお願いしました!

表紙から綺麗に出力してくれました!




分析内容の記載もありました!

色などの変更はプロンプトを投げれば、してくれると思います!

最後に

GPT-5では、ダミーデータを簡単に出力できるようになったのとそれを元に分析ができるようになったと思いました!!
GPTにデータ分析をさせる際はプロンプト文は極力、同じ定型文にすることを推奨します。そうすることで、業務効率化アップや何度もプロンプト文を考える時間も省けるからです。必要に応じて、プロンプト文の追加だったり修正はしてください。

注意事項

ChatGPTに機密情報に関わることをアップロードするのは情報漏洩に繋がる可能性があるので、安易にアップロードしないこと。

ヘッドウォータース

Discussion