自動発注システム比較の際の７つのポイント

# この記事について
この記事では小売り、卸、メーカー事業者の仕入れ業務に自動発注システムを導入する際に気を付けなければならないことについてまとめた記事です。筆者（江崎貴裕）は東京大学先端科学技術研究センター先端物流科学寄付研究部門 にて物流の研究を行いつつ、自身でも会社を立ち上げ（株式会社infonerv）、同社が提供する自動発注システム（α-発注）の開発に携わっています。

技術としての「自動発注」は一見コンセプトとしてはわかりやすいのですが、**実際に実務に導入できるレベルのプロダクトに仕上げるには、数えきれないほどの課題をクリアする必要があります。「需要予測さえできればあとは足りない分を発注すればいいんでしょ」という安易なプロダクトが世の中に増えてきつつあり、実務にそぐわないものを導入してしまうリスクが高くなってきています。** 実際に弊社にご相談をいただくお客様で、一度他社の（無責任な）プロダクトを導入したが全く使えず、助けてほしいといったことを言われるケースも良くあります。特に、一口に自動発注といっても、ビジネスのスタイルによって技術的にはやるべきことが全然違うため、自社にあったシステムを正しく導入することが大切です。本記事で紹介するポイントを念頭に置いていただけば、導入失敗のリスクを大きく減らすことができると思います。

ちなみに箇条書きでざっと把握されたい方はスライド資料もありますのでよろしければこちらもご参照ください。
<iframe src="https://www.slideshare.net/slideshow/embed_code/key/jCr2SoIfGSTny3?hostedIn=slideshare&page=upload" width="476" height="400" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>


# 7つのポイント
本記事で重要なポイントを7つに絞って紹介していきたいと思います。

## 1. 初期費用
やはり何と言っても重要なのが初期費用でしょう。自動発注システムは大きく分けて、オンプレミス型とSaaS型に分かれています。オンプレミス型は社内の基幹システムとして1から開発するスタイルで、一般的には数千万の開発費がかかります。SaaS型の場合、既に構築された基盤にアクセスして利用するので、初期費用は極端な場合0円というケースも存在します。

一方SaaS型の場合、一定の利用料が毎月かかり、長期的にみるとオンプレミス型の方が安上がりになるケースが多いです。オンプレミス型の場合、使ってみるまで本当に導入が成功するかわからないため、リスクは非常に大きいです。折角お金をかけて導入したが使い物にならなかったというケースは良くあります。前述の通り、（もともとが余程シンプルな業務プロセスとなっていない限り）実運用に載せられるシステムに仕上げるのは非常に難しいことが多く、そういった場合には事前に要件を完璧にそろえるのはあまり現実的ではないと思います。SaaS型の場合、試しに使ってみるということがしやすく手軽に始められます。また、製品提供側からすると、長く使ってもらうことが大切なので導入後も手厚いサポートが受けられます。

::: note info
**オンプレミスとは**、システムの稼働に必要な情報システムを自社で管理してい施設の構内に設置して運用するシステムの利用形態のことを言います。
**SaaSとは**、サービス事業者が管理しているサーバー上で稼働しているソフトウェアをインターネットを通じてユーザーが利用できる仕組みのことを言います。
:::


## 2. 計算速度
次に重要なのが、自動発注の計算を開始してから実際に発注が開始できるまでにかかる時間です。SKU数が多い場合、算出に、一晩かかるケースもあります。特にオンプレミス型でこの傾向が強く、朝判明したイレギュラーな受注に対応できないこともあります。ECなど24時間受注が発生する業態では、午前の発注に間に合わせるために、数分から数十分で計算を終わらせる必要があります。SaaS型ではマシンリソースを動的に増やせるほか、そもそも計算インフラに投資しやすいため、高速な対応が可能です。オンプレミスで同様の速度を実現しようとすると、インフラへの投資が過大になりやすい点に注意が必要です。

## 3. 制約条件対応
第三に、発注時の制約条件への対応も見逃せません。仕入れ先ごとに最低発注量が設定されていたり、コンテナ単位に容積を揃える処理が必要な場合、どの商品をいくつ発注したりしなかったりするかを「最適化」と呼ばれる技術で調整しなければなりません。この最適化に関しては、対応できるプロダクトは少ないのが現状です。

この手続きが自動化されていないと、結局人が調整する必要が生じ、自動発注システムの利点が失われてしまいます。

## 4. リードタイムや発注日、倉庫営業日
今発注したものがいつ届くか、また次回発注できるのが明日なのか一か月後なのか、といった要素は自動発注のパフォーマンスに大きな影響を与えます。単純ですが、これらの情報を正しく反映できる仕組みになっていることが重要です。特に、年末年始はもちろん、輸入商品の場合は海外の長期休暇も考慮できる必要があります。

## 5. 精度とアルゴリズム
需要予測の陰に隠れがちですが、**「安全在庫」** という概念が重要です。需要予測には大抵の場合、一定の誤差が生じます。特にリードタイムや発注の間隔が長い場合はこの効果が顕著です。そのような場合でも欠品にならないようにするため、予備の在庫を持っておく必要があります。これを安全在庫といいます。在庫管理ではこの安全在庫をいかに適切に計算するかが肝となります。

::: note info
この安全在庫を計算するための、**古典的な**公式があります。それは「（予測誤差の標準偏差）× 安全係数」といった式で与えられるものです。この計算式は結構多くの自動発注システムで採用されていますが、実はその性能は**かなり悪い**です。この公式でうまく在庫制御できるケースは非常に限られており、小売りや卸などでは基本的には上手く動きません（在庫過多になったり、想定より沢山欠品したりします）。
::: 

この点について、どれだけ工夫を凝らしているかがその製品で「どれだけ本気で効率的な在庫管理をする気があるか」の指標になります。

## 6. 例外事象への対応力
現実はAIが想定するほど単純でないことが良くあります。倉庫間の商品移動をした結果、大量出荷として判断されてしまった、とか、仕入れ先で欠品したため仕入れができず売切れて販売数が落ち込んでしまったとか、得意先から特別に入った注文のために在庫を準備したとか、商品アップデートで品番が変わったがデータは引き継ぎたいとか、例はいくらでも上げられます。こうした際に、入力したデータの取り扱いや、AIが出す推奨量を調節できる取り回しの良さは重要です。もし実務上こういったイレギュラーなケースが生じる場合、柔軟に対応できる解決策があるかはチェックしたほうが良いでしょう。

## 7. AIの解釈性
自動発注システムのAIが出した結果について、なぜその発注数になったのか、計算過程を追跡できることが重要です。これまで上げたような様々な要因を考慮して発注数を調整する場合、最終的な計算結果だけでは状況が把握しづらくなります。
需要予測で検知したパターンや在庫予測のグラフなどを示してくれるかどうかも重要な点です。
これらの点を軽視すると、違和感のある推奨をAIが出してきたときになぜそのような値なっているかがわからず、修正の方針もたたないため、結局使えないシステムになってしまいます。


# 幅広く対応できる自動発注SaaS「α(アルファ)-発注」
最後に、上記のポイントをクリアした例として、手前味噌ですが、我々の提供する自動発注SaaS 「α-発注」
https://a-orders.com/
について簡単に紹介したいと思います。この製品では、幅広いビジネススタイルの様々なお客様に使っていただけるよう、細かく機能を突き詰めています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828672/c89e7d54-2dfe-c119-2b44-89ec3266471a.png)

特に、発注条件についてはかなり細かく幅広い条件を設定できるようになっており、需要予測と最適化を組み合わせた高度な計算をわずかな時間（例えば数千SKUの場合 5分程度）で完了させることができます。また、6で述べた例外事象への対処も、ほとんどの場合種々の機能を活用することで対応可能となっています。また、AIの計算結果についても詳細に計算根拠と処理が記録され、どれくらいの在庫推移になるかグラフでも確認できるため安心して利用することができます。

# まとめ
自動発注システム導入に際して重要となるポイントについて紹介しました。自社の業務フローやビジネススタイルによっては必要でない項目もあったかもしれませんが、必要要件を考える際に本記事が何かのお役に立つことを願っています。