見出し画像

業界名を入力するだけでパレート図完成 AIにQuickChartのコマンドを生成させてみた

AIの無料版を業務で活用する中で、「グラフの出力」が一つの壁になることがあります。

文章や表の作成は得意でも、その結果をそのままグラフ化してくれるサービスは限られています。

以前の記事では、無料でグラフ画像を生成できるAPIサービス「QuickChart」をご紹介しました。

今回はその応用編です。

業界名を入力するだけで、

  • 業界の市場規模を推定

  • 主要企業を抽出

  • パレート分析を実施

  • QuickChartの実行コマンドを生成

する仕組みを作ってみました。

AIが分析を行い、QuickChartがグラフを描画することで、業界構造を数秒で可視化できます。

パレート図とは?

パレート図は、「全体のうち、どの要素がどれくらいの割合を占めているか」を視覚的に把握するためのグラフです。

画像1:convenience_store_pareto.png

例えば、

  • 業界の売上シェア

  • 商品別売上構成

  • 問い合わせ内容の内訳

  • 不具合発生要因

などの分析で広く利用されています。

棒グラフで構成比を示しながら、折れ線で累積率を表示することで、

「上位数社で市場の何%を占めているのか」

を一目で確認できます。

業界研究や競合分析を行う際には非常に便利なグラフです。

今回作るもの

今回は業界分析に特化し、

「日本の〇〇業界」

と入力するだけで、

  • 市場規模の推定

  • 主要企業の抽出

  • 売上データの概算

  • パレート図作成用QuickChartコマンドの生成

を行うプロンプトを作成しました。

システムプロンプト

あなたは業界分析およびデータ可視化の専門家です。
ユーザーから日本の業界名が入力された場合、業界構造を分析し、パレート図作成用のQuickChart curlコマンドを生成してください。
処理手順
業界全体の市場規模を概算で推定する
当該業界の主要企業を5~10社程度選定する
業界を代表する規模指標を選定する
売上高
保険料収入
営業収益
出荷額
取扱高
契約件数
など
各企業の規模指標を概算で推定する
主要企業以外は「その他」として集約する
総額を算出する
構成比を算出する
累積率(%)を算出する
パレート図作成用のQuickChart curlコマンドを生成する
パレート図の並び順ルール
主要企業のみを規模指標の降順でソートする
「その他」はソート対象外とする
「その他」は規模に関わらず必ず最後に配置する
labels配列、規模指標データ配列、累積率データ配列は必ず同じ順序とする
累積率は表示順に計算する
最後の要素(その他)の累積率は必ず100とする
正しい例
["A社","B社","C社","D社","その他"]
誤った例
["A社","B社","その他","C社"]
出力順序
必ず以下の順序で出力する
① 業界概要
② 企業別データ表
③ 累積率計算結果
④ QuickChart用curlコマンド
数値に関するルール
数値は概算でよい
実態とかけ離れない合理的な推定値を使用する
累積率は整数に丸める
構成比は小数第1位まで表示してよい
企業別データ表の形式
| 企業名 | 規模指標 | 構成比 | 累積率 |
QuickChart設定
width: 1600
height: 900
devicePixelRatio: 2
棒グラフ色: #41C9B4
累積率線色: #EBA13D
pointRadius: 4
legend: false
タイトルフォント: 24
軸ラベルフォント: 18
目盛フォント: 16
lineTension: 0
グラフタイトル
以下の形式とする
「〇〇業界の△△ パレート図」

日本のコンビニ業界の売上高 パレート図
日本の損害保険業界の正味収入保険料 パレート図
日本の自動車業界の売上高 パレート図
Y軸ラベル
業界に応じて適切な指標名を使用する

売上高 (兆円)
正味収入保険料 (兆円)
営業収益 (兆円)
出荷額 (兆円)
契約件数 (百万件)
出力ファイル名
業界名を英語化したスネークケースを使用する

automobile_pareto.png
banking_pareto.png
airline_pareto.png
curlコマンド生成ルール
curlコマンドはそのまま実行できる完全な形式で出力する
JSON内の引用符は必ず半角ダブルクォートを使用する
全角引用符(“ ”)を使用しない
labels配列の最後の要素は必ず「その他」とする
出力ファイル名は業界に応じて変更する
折れ線グラフは lineTension=0 を使用する
累積率線は折れ線グラフとして描画する
棒グラフは order=2、累積率線は order=1 とする
xAxesのフォントサイズは16とする
yAxesのフォントサイズは16とする
タイトルは日本語で出力する
【動作確認済みサンプル】
curl -X POST https://quickchart.io/chart \
-H "Content-Type: application/json" \
-d '{
"width": 1600,
"height": 900,
"devicePixelRatio": 2,
  "chart": {
    "type": "bar",
    "data": {
      "labels": ["セブン-イレブン","ファミリーマート","ローソン","ミニストップ","セイコーマート","その他"],
      "datasets": [
        {
          "label": "売上高",
          "backgroundColor": "#41C9B4",
          "data": [5.2,2.8,2.6,0.3,0.2,0.4],
          "yAxisID": "count",
          "order": 2
        },
        {
          "label": "累積率",
          "type": "line",
          "borderColor": "#EBA13D",
          "backgroundColor": "#EBA13D",
          "data": [45,70,92,95,96,100],
          "yAxisID": "percent",
          "fill": false,
          "lineTension": 0,
          "pointRadius": 4,
          "order": 1
        }
      ]
    },
    "options": {
      "legend": {
        "display": false
      },
      "title": {
        "display": true,
        "text": "日本のコンビニ業界の売上高 パレート図",
        "fontSize": 24
      },
      "scales": {
        "xAxes": [{
          "ticks": {
            "fontSize": 16
          }
        }],
        "yAxes": [
          {
            "id": "count",
            "position": "left",
            "scaleLabel": {
              "display": true,
              "labelString": "売上高 (兆円)",
              "fontSize": 18
            },
            "ticks": {
              "beginAtZero": true,
              "fontSize": 16
            }
          },
          {
            "id": "percent",
            "position": "right",
            "scaleLabel": {
              "display": true,
              "labelString": "累積率 (%)",
              "fontSize": 18
            },
            "ticks": {
              "min": 0,
              "max": 100,
              "fontSize": 16
            }
          }
        ]
      }
    }
  }
}' \
-o convenience_store_pareto.png

ユーザープロンプト

以下の日本の業界についてパレート図を作成してください。
業界名:
{{コンテキスト}}
要件:
市場規模を概算で推定
主要企業を抽出
その他を集約
累積率を計算
QuickChartで実行可能なcurlコマンドを生成
出力ファイル名も適切に設定
数値は概算で構いません

動作確認① スーパーマーケット業界

まずは以下を入力します。

日本のスーパーマーケット業界

AIは業界規模や主要企業の売上を推定し、QuickChart実行用のcurlコマンドを出力しました。

画像2:出力結果

生成されたコマンドをターミナルで実行すると、以下のパレート図が作成されます。

画像3:supermarket_pareto.png

上位企業だけで市場の6割を占めていることが視覚的に分かります。

動作確認② 牛丼業界

続いて牛丼業界で試してみます。

日本の牛丼業界

同様に生成されたコマンドを実行すると、以下のパレート図が作成されました。

画像4:gyudon_industry_pareto.png

牛丼業界は主要プレイヤーが限られているため、累積率の立ち上がりが非常に急であることが分かります。

動作確認③ カレーショップ業界

最後にカレーショップ業界を分析します。

日本のカレーショップ業界

生成されたコマンドを実行すると、以下のグラフが出力されました。

画像5:curry_shop_pareto.png

カレーショップ業界は、特定の企業が市場シェアの大半を占めており、一強の市場構造となっていることがわかります。

業界によって市場集中度が異なることが、グラフを見るだけで把握できます。

AI × グラフ自動化が変える分析業務

従来であれば、

  1. 情報を調査する

  2. Excelに転記する

  3. 集計する

  4. グラフを作成する

という作業が必要でした。

しかし現在は、

  • AIで情報収集

  • AIでデータ整理

  • QuickChartでグラフ生成

という流れを組み合わせることで、分析の初期段階を大幅に効率化できます。

もちろん、AIが出力する数値は推定値であり、厳密な市場調査の代替にはなりません。

しかし、

「業界の構造をざっくり把握したい」
「どの企業が市場を支配しているのか知りたい」

といった用途であれば、十分に有用な情報を短時間で得ることができます。

まとめ

AIによって情報収集のハードルは大きく下がりました。

さらにQuickChartのようなグラフ自動化ツールを組み合わせることで、得られた情報を視覚的なインサイトへ変換することも容易になっています。

これから重要になるのは、

  • どの情報を取得するのか

  • 情報の精度をどう担保するのか

  • 何を明らかにしたいのか

という問いを人間が持つことです。

AIが調査し、AIが整理し、AIがグラフを描く時代だからこそ、「何を知りたいのか」を定義する力の価値は、これまで以上に高まっていくのかもしれません。

いいなと思ったら応援しよう!

この記事は noteマネー にピックアップされました

noteマネーのバナー