AQ Tech Blog

Amazon SageMaker Canvasを活用した需要予測分析

作成者: kentaro.tanaka|2026年03月09日

はじめに

デジタルエンジニアリング部の田中です。

今回はAmazon SageMaker Canvas(以下、SageMaker Canvas)を用いて需要予測モデルを構築し、販売数予測(推論)について検証を行いました。
SageMaker Canvasとは、ノーコードでデータの取り込みから学習モデルの構築・評価・予測まで実施することができる機械学習サービスです。
通常のSageMakerの場合、Pythonによるコーディング、アルゴリズム選択、ハイパーパラメータの調整などをエンジニアが細かく制御するのに対して、Canvasを使うことでプログラミング不要で一連の作業を完結できます。
私自身、初めて本サービスを利用しましたが、すべての操作が画面上で完結するため直感的に需要予測の検証を行うことができました。

本記事では、具体的な構築フローから推論までの流れをまとめます。

検証の概要

今回の目的

  • 販売データをもとに、今後3か月の販売数量をシミュレーションする。

使用したデータ

今回はチュートリアルとして既に準備されているCSV形式の売上データセットを使用しました。(45,000件)

※一部抜粋

item_id Location time_stamp demand price Product_category
sku - 021 Mumbai 1/1/2019 332.71 97.59703796 Appliances
sku - 021 Mumbai 2/1/2019 331.07 97.59703796 Appliances
︙          
sku - 021 Mumbai 8/1/2019 293.67 107.2880143 Appliances
sku - 021 Mumbai 9/1/2019 294.23 107.2880143 Appliances
sku - 021 Mumbai 10/1/2019   107.2880143 Appliances
sku - 021 Mumbai 11/1/2019   107.2880143 Appliances
sku - 021 Mumbai 12/1/2019   107.2880143 Appliances

ご覧の通り、demand(販売数)の中身があるデータとないデータがあります。

これはデータの役割が分かれているためです。
このデータセットは「販売実績(学習用)」と「未来の需要(予測用)」の2種類で構成されており、それがdemand値の有無に繋がります。

モデル作成からビルドまでの手順

1. モデルの作成

「My Models」メニューの「New model」より、モデル名を入力し作成します。

2. データセットの選択

学習用モデルとして使用するデータセットを選択します。
今回はチュートリアルとして準備されている「canvas-sample-retail-electronics-forecasting.csv」を選択しました。

3. ビルドの設定と実行

次に予測対象とする項目の設定を行います。

設定内容は以下の通りです。

項目 設定値 理由
Target column demand 販売数を予測するため。

予測対象を設定後「Configure model」より、詳細な設定を行います。

設定内容は以下の通りです。

項目 設定値 理由
Item ID column item_id 商品を識別する一意な値を指定するため。
Group column - Optional Location 地域ごとの商品の販売数を予測するため。
Time stamp column time_stamp データの時系列順序を担保するため。
Months 3 3か月先まで販売数を予測するため。

次にビルドを実施しますが、ビルドの種類について補足します。
ビルドの種類としては、「Quick build」と「Standard build」の2種類が用意されています。
特徴としては、以下の通りです。

項目 Quick build Standard build
ビルドに掛かる時間 数十分 数時間
予測精度 中 高
コスト 低 高

今回は、検証目的での予測およびコストを抑えたいという理由より「Quick build」によるビルドを実施しました。
使用したデータセットは45,000件で、今回のビルドには約20分かかりました。
なお、ビルド時間はデータセットのデータ量や各種設定によって変動します。

モデル性能評価と予測の手順

1. モデル性能の評価

ビルドが完了後、以下のような画面に切り替わります。

この画面では、構築したモデルの性能を評価できます。
以下は各項目の解説と実際の値の評価です。

項目 意味合い 今回の値 評価
Avg. wQL 予測の絞り込み精度。値が小さいほど高精度。 0.033 高水準の値で、ズバリここ!とピンポイントで予測しています。
MAPE 平均誤差率。値が小さいほど誤差が少ない。 0.045 仮に400個売れると予測した場合、誤差4.5%(382~418個)の範囲に収まります。
WAPE 加重誤差率。値が小さいほどデータ全体で予測と実績の差が少なく安定性が高い。 0.044 MAPEとほぼ同じ値なので、特定のデータに引っ張られず安定しています。
RMSE 具体的な誤差の数。値が小さいほど良い。 18.819 今回は平均して約18~19個外れることがありますが、MAPEが良いため許容範囲内になります。
Column
impact
項目の重要度。値が大きいほど予測への影響が大きい。 1.price:51.41%
2.Product_category:1.12%
今回は価格の情報が決め手になっています。

各数値の詳細な解説はこちらより確認できます。

チュートリアル用のデータということもありますが、良好なモデルが完成しました。
その中でも需要予測の観点で、よりポイントの高かった項目を抜粋します。

  • Avg. wQL (0.033) =「迷いがない」
    一般的に0.05を切ると良好な水準とされており、大きく外れるような極端なデータが少ない安定した予測モデルであることを示しています。
  • MAPE (0.045) =「外さない」
    誤差5%を切る値となっており、発注管理や在庫調整をサポートするための参考値として十分活用することができます。

2. 予測結果の確認

機械学習とモデルのテストまで完了したため、最後に予測結果を出力・確認します。
「Predict」タブを開き、「Start Predictions」を押すことで販売数を予測するジョブが開始されます。


※ジョブは約20分ほど掛かります

StatusがReadyに変わったら、該当するジョブの三点リーダから「Preview」を押して結果を確認します。

結果は以下の通りです。

商品・地域に加えて、今後3か月分(タイムスタンプ表記)の販売数の予測値が出力されていることが分かります。
予測値について、ビジネスの現場で「どう使い分けるか」という視点で解説します。

項目 意味合い
p10 悲観的な予測。最悪でも、これくらいは売れるはずという見積り。
p50 標準的な予測。確率的に一番ありえる見積り。
p90 楽観的な予測。うまくいけば、ここまで伸びるかもしれないという見積り。
mean 計算上の平均。基本的にはp50とほぼ同じになる。

予測結果はCSV形式でのダウンロードも可能のため、Excelに取り込んで具体的な売上シミュレーションを行ったり、BIツールで可視化してチームへ共有するなど、様々な分析が可能です。

以上、予測結果の確認になります。

作業終わりの注意点

1. 不要な課金を防ぐために

【重要】最後に必ずログアウトしてください

ブラウザを閉じるだけではセッションが切れず、課金($1.9/h)が続いてしまいます。
無駄なコストが発生しないよう、画面上のボタンから明示的にログアウト操作を行ってください。
※課金額は2026年3月時点のものです

まとめ

SageMaker Canvasを活用することで、モデルの構築から予測結果の出力まで、非常に短期間で完結できました。
改めてになりますが、複雑なコードを一切書くことなく、画面操作だけで予測を出力できるのはとても便利でした。
用途に応じた設定もクリック操作だけで完結するため、誰でも手軽に高度な分析ができる点がSageMaker Canvasを利用する大きなメリットだと感じました。

以上、SageMaker Canvasを活用した需要予測分析の解説でした。
本記事が活用を検討されている方の参考になれば幸いです。