こんにちは、こんです🦊
今日はロジレスAPIを使った物流データ活用の中でも、「分析」に本格的に踏み込むための準備を進めました。
🧪 実験のきっかけ:せっかくなら“ツール化”したい
昨日までに、APIから大量の受注・在庫データを取得する方法は整ってきました。
ただ、毎回コードを書いて動かすのは面倒だし、チームで共有もしづらい……
「分析や集計を、もっと手軽に・UIでできたら便利なのに!」
ということで、今日はStreamlitベースの物流分析ツールの設計と初期構築を行いました。
💡 今日の進捗:Streamlitで使い#やすいUIと仕組みを構築!


🔧 工夫ポイント
## ディレクトリ構成
logistics_insights/
├── analyzers/
│ ├── rotation_rate.py ← 回転率・回転期間計算
│ └── abc_analysis.py ← ABC構成比計算
├── config/
│ ├── .env
│ ├── .gitignore
│ ├── presets.json
│ └── tokens.json ← MERCHANT_ID等(※GitHub公開時は .gitignore)
├── data/
│ ├── processed/ ← 集計済みデータ(.csvなど)
│ └── raw/ ← API取得データ(.json)
├── fetchers/
│ └── fetch_data.py ← API取得共通CLIスクリプト
├── pages/ ← UIページ(各タブ)
│ ├── dashboard_abc.py ← 💰 ABC分析ダッシュボード
│ ├── dashboard_rotation.py ← 📊 回転率ダッシュボード
│ ├── fetch_data_ui.py ← 🔄 API取得画面(今あるfetchDataUI)
│ ├── preprocess_inventory.py
│ └── settings_presets.py ← ⚙ プリセット保存・設定
├── utils/
│ ├── __init__.py
│ ├── auth.py ← トークン管理
│ ├── auth_cli.py
│ ├── env_loader.py
│ ├── form_helper.py
│ ├── inventory_merger.py
│ ├── paths.py ← 保存先ディレクトリ・命名規則管理
│ └── presets.py ← プリセット保存・読込管理
├── __init__.py
└── streamlit_app.py ← ナビゲーション(セッション管理・ログインもここ)
分析に進む前に「土台」を整える
fetch_data_ui.py / form_helpers.py / settings_presets.py などの構成を整理し、今後の拡張性も意識。
Streamlit UIで完結する構成に
非エンジニアの現場メンバーでも使えるよう、全てのデータ取得・プリセット・ログ表示をワンクリックで可能に。
API取得とデータ加工の責任分離
データ取得は fetch_data.py に任せ、分析用マージ処理は inventory_merger.py + preprocess_inventory.py に分離。
今後の分析コードも同じように分離しやすくなる想定。
😢 反省点:今日は分析まで到達できなかった…
本当は「商品別の回転率分析」に取り掛かりたかったのですが、
UIとデータ取得周りを整備するだけで結構なボリュームになってしまいました。
でも、ここで丁寧に土台を作ったおかげで、
明日以降、分析パートに一気に集中できそうな環境が整いました!
明日以降のチャレンジ予定
📈 sales_orders × inventory の結合 → 商品別回転率の計算
🅰 ランク付け(A/B/C)による在庫重要度の可視化
📊 Streamlitダッシュボードでのデータフィルター&アラート表示
📁 データエクスポートやLooker Studio連携も検討
今日のまとめ
「ちゃんと動くUI」があると、周りにも共有しやすくなり、改善スピードも上がる。
分析は“チームで活かす”ことを見据えて、土台から丁寧に作っていきたい。
それでは、また次の実験で🦊
ハッシュタグ案
#物流分析 #ロジレスAPI #DX推進 #業務効率化 #Streamlit #Python #在庫可視化 #業務改善