supplier-selection について
supplier-selection は、カタログと仕入先データを使って SKU ごとに仕入先を順位付けするスキルです。Python による採点方法、同点時の規則、仕入先や倉庫の条件に応じた調整を定めています。
主な機能
- 01SKU でカタログを抽出
- 02仕入先の納期と信頼性データを結合
- 03価格と納期を正規化
- 04候補仕入先を採点・順位付け
- 05仕入先と倉庫の条件を反映
活用シーン
- 01発注先の仕入先を選定
- 02価格と納期で候補仕入先を比較
- 03倉庫や仕入先の制約に応じて調達先を調整
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ anthropics/ cwc-workshops --skill supplier-selectionインストール後、Claude Code で/supplier-selectionを入力して読み込まれたか確認します。
詳細
サプライヤーの選定
サプライヤーの順位付けは計算であり、判断ではありません。コードを実行して Python で計算してください。文章で推論しないでください。
方法
指定された SKU について:
/mnt/user/data/supplier_catalog.csvを読み込み、SKU が一致する行に絞り込みます。各候補について(supplier_id, unit_price, min_order_qty)が得られます。supplier_idをキーに/mnt/user/data/suppliers.csvと結合し、lead_time_daysとreliabilityを取得します。- 候補間で価格とリードタイムを正規化します(最小値・最大値を使って [0,1] に変換し、0 が最良)。信頼性はすでに [0,1] の範囲で、高いほど良好です。
- 各候補を採点します:
score = 0.5 × (1 − norm_price) + 0.3 × (1 − norm_lead_time) + 0.2 × reliability - 最も高いスコアの候補を選びます。同点の場合:
unit_priceが最も低い候補、次にlead_time_daysが最も短い候補、次にsupplier_idのアルファベット順で決めます。
コードで実行する
短い Python スクリプトを書いて実行してください。サプライヤーごとにツールを呼び出したり、見積もりを説明して比較したりしないでください。例:
import csv
sku = "SKU-0057"
catalog = [r for r in csv.DictReader(open("/mnt/user/data/supplier_catalog.csv")) if r["sku"] == sku]
suppliers = {r["supplier_id"]: r for r in csv.DictReader(open("/mnt/user/data/suppliers.csv"))}
# join, normalize, score, sort — print the winner as JSON
サプライヤー固有の例外
以下の注意事項はカタログデータには含まれていません。スコアを計算した後に適用し、選択先が変わった場合は、その理由を説明してください。
| サプライヤー | 例外 |
|---|---|
| SUP-01 Cascade Distribution | 500 units を超える注文には48時間前の通知が必要です。通知がない場合は自動的に2件に分割出荷されます。大量の PO ではリードタイムの計算に加算してください。 |
| SUP-02 Alpine Wholesale | 12月20日~1月3日は休業です。この期間の PO は1月4日まで受領確認されません。年末年始の補充品は12月15日より前に到着させてください。 |
| SUP-03 Backcountry Supply Co | 今年、テント・シェルターのカテゴリで2回、数量不足の出荷がありました。リードタイムが同程度なら、このカテゴリでは別のサプライヤーを優先してください。 |
| SUP-04 Sierra Outfitters | 250+ units で、カタログに記載のない3%の値引きがあります。推奨数量が200~249の場合は、数量を切り上げる価値があることがよくあります。 |
| SUP-05 Granite Gear Partners | 西海岸の DC のみです。WH-EAST 向けの場合、カタログ上のリードタイムに2~3日加算してください。 |
| SUP-07 Ridgecrest Imports | 輸入品のみです。リードタイムは港湾の混雑状況に左右されます。緊急注文では、提示されたリードタイムを当てにしないでください。 |
| SUP-09 Summit Source | MOQ は厳密に適用されます。MOQ 未満の PO は数量を切り上げず、受注を拒否します。 |
| SUP-12 Trailhead Mercantile | 新規登録のサプライヤーです。6か月分の実績が蓄積されるまでは、記載された信頼性を1段階低く見積もってください。 |
倉庫のリードタイム調整
- WH-WEST (Reno):ほとんどのサプライヤーは東海岸の DC から出荷するため、サプライヤーの注記に別途記載がない限り、目安としてカタログ上のリードタイムに +2日 加算してください。
- WH-EAST (Carlisle):2交代制の入荷ドックがあり、当日入荷のスケジュール調整が必要な緊急 PO に最適な配送先です。
- WH-CENTRAL (Kansas City):余剰在庫や移送のハブです。PO ではなく倉庫間移送で調達する場合、ほぼ常に WH-CENTRAL が出発地になります。
緊急対応の例外
再発注ポリシーのスキルで expedite と判定された場合は、スコアを無視し、min_order_qty が目標注文数量以下のサプライヤーのうち、lead_time_days が最も短いサプライヤーを選んでください。
出力
{"supplier_id": "SUP-03", "unit_price": 21.40, "lead_time_days": 7, "score": 0.81} を返し、その supplier_id を PO で使用してください。
コメント
Markdown 対応