これは独立した架空データの実行例です。自分のデータは一つ上のフォルダの01_rawへ入れてください。

# Python本体を含む公開サンプル一式

集計用Pythonソース、起動CMD、設定ひな形、検証テスト、架空Raw、分類見本、生成済みExcel、ダッシュボードを同梱している。Pythonファイルは.pyのままで、拡張子の復元は不要。

## 起動と再集計
1. ZIPをすべて展開する。
2. 表示だけならindex.htmlをブラウザで開く。Python不要。
3. 再集計する場合はWindows Python3.13.x（tkinter付き）を用意する。依存ライブラリはopenpyxl3.1.5とXlsxWriter3.2.9。
   導入例：py -3.13 -m pip install -r "90_システム本体/requirements.txt"
4. 「02_サンプルを再集計.cmd」を実行すると、同梱の架空分類を使って本物の集計処理を実行する。ChatGPTへの依頼は不要。
5. 03_dashboardに生成した日付付きExcelを、同じフォルダのHTMLで選ぶ。ルートのindex.htmlは固定の公開デモであり、再集計しても埋込みデータは自動更新しない。
6. 通常の操作画面は「01_週次更新を開始.cmd」から起動する。再集計で保存したサンプル分類も再利用する。

同梱するのはソースコードで、Python本体やライブラリ自体は含めない。SQLiteは初回実行時にローカルで作成される。配布ZIPにDBや実運用履歴は含めない。
自分のRawを使う場合は別フォルダに展開してサンプルCSVを取り除き、通常更新を使う。専用再集計ボタンは同梱8CSVの一致を確認し、別のRawがあれば処理前に停止する。
同梱テスト：py -3.13 -m unittest discover -s "90_システム本体/監査" -p "test_*.py"

以下はデータの定義と詳細手順。

# Amazon広告KWダッシュボード サンプルデータ

この一式は、動作確認とポートフォリオ展示のためにゼロから生成した架空データである。実在の広告アカウント、顧客、商品、ブランドの実績は含まない。乱数シードは730219。
期間は2025-03-03〜2025-04-27（8週間）、架空3ブランド、SP・SB、84キーワード、672行。数値はクリック・購入・費用・売上の関係を保ち、勝ち・負け・保留の表示を試せるよう生成している。日付はデモ用で、直近の市場状況を示すものではない。

## 最短で表示する
ZIPをすべて展開し、index.htmlをブラウザで開く。同梱した生成済みExcelと同じデータを自動表示する。Python不要。データ読込タブで03_dashboardのExcelを選び直すこともできる。CSVや分類Excelをダッシュボードへ直接入れない。

## 入力項目
01_rawのCSVは本ツールの入力形式。Amazon公式エクスポートそのものではない。広告レポートで取得した項目を、必要に応じて次の列名へ揃える。

|列名|内容|形式・例|
|---|---|---|
|ブランド|利用者が付与するブランド識別名|DEMO-HARUNOA。元レポートになければ追加|
|キャンペーン名|広告区分とキャンペーンを識別|DEMO-HARUNOA_SP_一般。SP/SBを区切り付きで含める|
|検索語句|検索語句レポートの実際の検索語句|保温 ボトル。入札キーワードと混同しない|
|広告売上|広告に帰属する売上|0以上の数値、通貨記号なし。サンプルは円|
|インプレッション|広告表示回数|0以上の整数|
|クリック数|広告クリック数|0以上の整数|
|広告費|広告費用|0以上の数値、サンプルは円|
|広告購入数|広告に帰属する購入・注文件数|0以上の整数。販売個数とは区別|

CSVはUTF-8 BOM付き、1行目は列名。ファイル名に開始日と終了日をYYYYMMDD_YYYYMMDDで含める。例：20250303_20250309_DEMO.csv。1ファイルに同期間のブランド・広告区分をまとめる。CTR/CVR/CPA/ROASは入力不要で、合計から計算する。広告区分はこの版ではキャンペーン名から推定するため、SP/SBがない名前は整形が必要。
広告商品、レポート種類、言語、帰属期間によって元の項目名と取得可否が異なる。クリック帰属とビュースルー帰属、注文数と販売個数、異なる通貨・期間を混ぜない。このサンプルはSP/SBの検索語句のみで、SDや商品ターゲットを再現するものではない。

## Python版で集計から試す
本体はこのZIPに同梱。サンプル専用の空フォルダへ本体を展開し、この01_rawの8CSVだけを入れて通常更新する。実運用中のRawに混ぜない。
初回は84件が新規分類になる。02_classificationのCSVとExcelは分類内容・返却形式の見本である。新しく作成された依頼Excelには固有の検証情報があるため、同梱の返却見本を別の依頼にそのまま取り込まない。画面で生成した依頼Excelの編集可能な意味分類欄へ、対象IDに対応する見本の分類を入力して返却するか、通常どおりChatGPTへ依頼する。
分類を取り込んで最終Excel生成→ダッシュボード確認。2回目以降は既存分類を再利用する。同じ入力なら新規分類0件となることを検証済み。
架空Raw取得メタデータ.csvも見本。実際の取得日証拠ではなく、このデモの帰属条件を説明するためのもの。実データに流用しない。

## 見る順番
最新期間の訴求軸→継続成績→訴求軸をクリックしてKW→グラフ→今週の対応。全体の高低だけでなく、購入数とクリック数、比較対象、期間を確認する。
一般化・厳格判定は確認済み意味クラスタの根拠を入れていないため保留となる。架空の分類を実際の人間レビュー済みとして扱わない。通常の週次・継続判定とは別の条件である。
勝敗とスコアは最新の本体で計算した結果で、表示用に直接書き換えていない。サンプルの好成績は運用成果の主張ではない。

## 再利用と実データ
サンプルは入力形式の理解・動作確認用。利用者自身のデータを表示するには、同じV2形式の最終Excelを生成する。ブラウザで選んだファイルはこのダッシュボードから外部送信しない。ChatGPTでの意味分類は別工程である。
Amazonセラーとして活動する個人が作成した分析ダッシュボード。Amazon公式ツールではない。
