とは?


は利用者が登録する売上等の実績データを基に、 将来の予測を行うサービスです。予測の対象は売上金額でなくても構いません。販売された商品の個数でも、 電力の使用量でも、日次の時系列に並んだ数値データであれば予測対象となり得ます。ただ、ここでは便宜上、 予測対象の時系列データを売上データと呼ぶことにします。

操作の流れ

を利用するためには、まずマスタデータの登録を行います。 その後、予測対象の売上データ等の商品データを登録し、続いてデータの学習・予測の実行、 予測結果の検証という手順で操作を行います。

マスタデータ

マスタデータには店舗情報、商品情報、イベントマスタ情報の3種類のデータがあります。 このうち、店舗情報と商品情報は必須のデータです。なぜなら、売上データは店舗・商品に 紐づけて登録されるからです。
イベントマスタ情報は必須ではありませんが、「お試しキャンペーン」や「ポイント3倍デー」など 売上に影響するイベントがあり、それを予測に取り込みたいという場合には、イベントマスタ情報の 登録が必要となります。

商品データ

商品データには予測対象の売上データと、その売上データに関連するイベント情報があります。
売上データは、売上の発生した日の日付と、その日の売上高を持つCSV形式のデータです。このチュートリアルでは サンプルデータを使って実際に予測を行っていきます。サンプルの売上データは こちら からダウンロードできます。
イベント情報はイベントマスタに登録したイベントを売上データと関連付けるためのデータです。イベント情報は ではありませんが、売上に影響するようなイベントがある場合には、そのデータを登録することで予測精度の向上 が期待できます。
イベント情報は、データ画面のイベントカレンダーで1日ごとに設定していくこともできますが、CSVファイルで まとめて登録することもできます。このチュートリアルではCSVファイルによる登録を行ってみます。 サンプルのイベント情報ファイルは こちら からダウンロードできます。

それでは、以下でを使う際に必要となる一連の手順について、 ハンズオンで説明していきます。

店舗情報の登録


店舗管理画面

まず最初に店舗情報を登録します。では店舗情報と呼んで いますが、これは実際に店舗である必要はありません。お客様の業務に合わせて、部署や顧客などと 読みかえてご利用ください。
店舗情報の登録は店舗管理画面で行います。サイドメニューの「店舗管理」をクリックしてください。 初期状態では店舗はひとつも登録されていません。

店舗情報の入力

では、最初の店舗を登録してみましょう。
店舗一覧パネル上部の「追加」ボタンを押下してください。画面右側の入力フィールドが入力可能状態 となるはずです。ここで「店舗コード」と「店舗名」を入力します。このチュートリアルでは、店舗コード は「Store1」、店舗名は「店舗1」とします。
店舗コードは店舗を一意に識別するための任意の文字列です。すでに店舗を管理するコードがあれば、それを お使いいただけます。
もうひとつ、「郵便番号」フィールドがありますが、これは必須項目ではありません。予測に気象情報を 取り込みたい場合のみ、入力してください。このチュートリアルでは郵便番号は入力しません。

店舗の登録

店舗情報の入力が終わったら、「登録」ボタンを押下します。このとき確認ダイアログが開きますので、 「OK」ボタンを押下してください。
登録が正常に行われると、下図のように店舗一覧に店舗情報が表示されるようになります。 これで店舗情報の登録は完了です。

商品情報の登録


商品管理画面

続いて商品情報の登録を行います。商品登録の手順は店舗の時とほぼ同じです。
商品情報の登録は商品管理画面で行います。サイドメニューの「商品管理」をクリックしてください。 商品情報と同様、初期状態では商品はひとつも登録されていません。

商品情報の入力

チュートリアルで使用する商品を追加してみましょう。
チュートリアル用の商品を追加するため、商品一覧パネル上部の「追加」ボタンを押下してください。 ここで「商品コード」と「商品名」を入力します。このチュートリアルでは、商品コード は「Item1」、店舗名は「商品1」とします。
商品コードは商品を一意に識別するための任意の文字列です。すでに商品を管理するコードがあれば、それを お使いいただけます。

商品の登録

商品情報の入力が終わったら、「登録」ボタンを押下します。このとき確認ダイアログが開きますので、 「OK」ボタンを押下してください。
登録が正常に行われると、下図のように商品一覧に商品情報が表示されるようになります。 これで商品情報の登録は完了です。

イベントマスタの登録


イベント管理画面

では、売上に影響を与えるようなイベントを登録し、それを 組み込んで予測を行うことができます。イベント管理画面では、予測に組み込みたいイベントの種類(例えば、 店休日、特売日など)を登録することになります。そのイベントが、どの店舗・商品に対して、いつ起こった かは、データ画面で登録することになります。
では、サイドメニューの「イベント管理」をクリックして、イベント管理画面を開いてください。

イベント情報の入力

このチュートリアルでは、イベントとして「店休日」を登録します。店休日が毎週水曜日などに固定されて いる場合は「店休日」をイベントとして登録しなくても正しく予測できますが、店休日が不規則な場合には イベントとして登録することで予測精度の向上が期待できます。
イベントでも「イベントコード」と「イベント名」は必須です。このチュートリアルでは、イベントコード は「StoreHoliday」、イベント名は「店休日」とします。
イベントにはもうひとつ、「イベント色」というフィールドがあります。ここではデータ画面のイベントカレンダーに イベントを表示する際の色を指定します。これは、イベントカレンダー上で、どの日に何のイベントがあるのか をわかりやすくするためです。下図はイベントを色分けしたイベントカレンダーの例です。 チュートリアルではイベントの種類はひとつだけですので、ここではデフォルトのまま登録することにします。

イベントの登録

イベント情報の入力が終わったら、「登録」ボタンを押下します。このとき確認ダイアログが開きますので、 「OK」ボタンを押下してください。
登録が正常に行われると、下図のようにイベント一覧にイベント情報が表示されるようになります。 これで商品情報の登録は完了です。

売上データの登録


データ画面

データ画面はで一番頻繁に使うことになる画面です。この画面で、 売上データの登録、イベントの登録、登録した売上データの学習の実行、予測の実行など、様々な操作を行います。 早速、サイドメニューの「データ」をクリックして、データ画面を開いてみましょう。

売上データの登録

ここでは先ほど登録した店舗・商品に対して、売上データを登録します。まず、 こちら からサンプルの売上データをダウンロードしてください。ここで使用するデータは2013年1月1日から2015年6月30日 までの売上データです。
sample_sales_train.csv というファイルがダウンロードされたと思います。このファイルを任意のフォルダに保存して ください。
では、ダウンロードしたファイルを使って、売上データの登録を行っていきます。まずデータ画面上部にある 「データ登録」ボタンを押下して、「売上データの一括登録」ダイアログを開きます。 「売上データの一括登録」ダイアログでは任意のフォーマットのCSVファイルから売上データを登録します。 任意のフォーマットと言っても、日付け、売上、店舗コード、商品コードのカラムが含まれている必要があります。 これらのデータに対応するカラム名は任意で、対応するカラム名を「売上データの一括登録」ダイアログで指定 します。デフォルトでは、それぞれ「Date」「Sales」「StoreCd」「ItemCd」となっています。サンプルデータでは デフォルト値と同じ設定となっていますので、カラム名の変更は必要ありません。
日付けのフォーマットはデフォルトでは「yyyy/MM/dd」となっていますが、これも変更可能です。サンプルデータでは デフォルトのフォーマットとなっていますので、これも変更は不要です。
売上データのCSVファイルの指定では、「参照」ボタンを押下して先ほどダウンロードした sample_sales_train.csv を 選択します。
このほか、データがない日の取り扱いの指定を行う項目があります。これは売上データCSVで日付が飛んでいる場合、 その日のデータをどのように扱うかを指定するものです。デフォルトでは「売上を0とする」が選択されていますが、 これはデータが存在しない日の売上をゼロと見做して処理を行うことを指定します。 もう一つの選択肢の「欠損値とする 」は、その日のデータが欠けているものとして処理を行うことを指定します。 実際には売上があったにもかかわらず、何らかの理由により売上データの収集されずデータが飛んでいる というような場合には、「欠損値とする 」を選択します。 サンプルデータには欠けている日はありませんのでどちらでも構わないのですが、ここではデフォルトのまま、 「売上を0とする」を選択しておきます。
このほか、CSVファイルから任意のカラムを読み込んで、学習・予測に利用することができます。特定のカラムを読み 込ませたい場合は、外部データの取り込み方法の指定で「カラム名を指定する」を選択し、読み込むカラムの名前を 指定します。「すべてのカラムを取り込む」を選択した場合は、カラム名の指定は不要でです。 入力ができたら「登録」ボタンを押下します。
データの登録が正常に行われると、「売上データ」パネルに今登録した 商品1・店舗1 の行が追加されている はずです。同じ行に表示されている「最終日付」は、登録したデータの最後の日付を表示しています。
画面右側のグラフパネルには、今登録したデータのグラフが表示されています。 グラフパネルの上の統計情報パネルがあります。統計情報パネルはデフォルトでは閉じられていますが、 パネルタイトルをクリックすることで開くことができます。ここには、現在選択されているデータの平均値や 最大値・最小値などの統計情報が表示されます。

イベントデータの登録


続いて、今登録した売上データに対して、イベントデータを登録します。これは、イベントマスタで登録した イベントを、売上データに紐づける作業になります。
イベントデータの登録方法はふたつあります。イベントカレンダーから登録する方法と、CSVファイルで一括して 登録する方法です。このチュートリアルではCSVファイルで登録しますが、イベントカレンダーから登録する方法も 説明しておきます。

イベントカレンダーからのイベントの登録

イベントカレンダーから登録する場合は、まず、データ画面の登録データリストからイベントを登録する売上データを 選択します。その後、イベントカレンダーでイベント発生日を指定し、カレンダー左上のプルダウンメニューで設定する イベントを選択してください。 カレンダーにイベントを入力したら「登録」ボタンを押下して設定内容を保存してください。

CSVファイルでのイベントの登録

CSVで登録する場合は、まずイベントの発生日と発生するイベントのイベントコード、および対象の店舗コード・ 商品コードが記載されたCSVファイルを用意します。このチュートリアルでは、サンプルのイベントCSVファイルが 用意してありますので、それを使います。 このCSVファイルには2013年1月1日から2015年7月31日までのイベントデータが含まれています。
サンプルのイベントCSVファイルは こちら からダウンロードしてください。
イベントデータCSVファイルの準備ができたら、データ画面右上にある「イベント登録」ボタンを押下してください。 「イベントデータの一括登録」ダイアログが開きます。 このダイアログで、先ほどダウンロードしたイベントデータCSVファイルを指定し、「登録」ボタンを押下します。 イベントデータの登録が正常に行われると、イベントカレンダーにイベントを表す丸いマークが表示されます。
イベントカレンダーで確認する場合は、イベントのある月まで移動する必要がありますので注意してください。

以上でデータの準備は終わりました。次からはいよいよ学習と予測を実行していきます。

学習


学習とは?

予測を行うには、過去の実績データからそのデータが持つ様々な特徴を抽出する必要があります。抽出された 特徴を将来に当て嵌めることで予測を行うわけです。この特徴の抽出のことを「学習」と呼んでいます。
では複数の予測モデルを用いて学習を行い、その中から最適なモデル を選択して予測を行っています。このため、学習の実行には時間がかかってしまいますが、異なるタイプのデータ にも対応することができます。

学習の実行

学習には時間がかかりますが、実行するのは簡単です。
まず、データ画面の登録データリストで、店舗1・商品1のデータの左端にあるチェックボックスをチェックします。 次に登録データリスト上部にある「学習」ボタンを押下してください。 下図の「売上データの学習」ダイアログが開きます。

学習条件の指定

「売上データの学習」ダイアログでは、学習を行うためのパラメタをいくつか指定する必要があります。
まず、「学習単位」ですが、ここでは「日次」「週次」「月次」の3つの中から選択することができます。日ごとの 予測を行いたい場合は「日次」を、週ごと・月ごとの予測を行いたい場合はそれぞれ「週次」「月次」を選択します。 ここでは「日次」を選択してください。
次に「曜日を学習に加える」か否かの選択があります。これは学習時に曜日の情報を学習データとして取り込むか 否かを指定するものです。曜日によって売り上げの変動がある場合には、曜日情報を取り込んだほうが良い結果 が得られます。このチュートリアルでは曜日情報を取り込みたいので、「曜日を学習に加える」をチェックして ください。 「月を学習に加える」も曜日と同じで、月の情報を学習に取り込むか否かを指定します。このチュートリアルでは 月の情報を取り込みたいので、これもチェックしてください。 「休日を学習に加える」も曜日・月と同様です。休日とは法律で定められた国民の祝日を指します。 このチュートリアルでは休日は使用しないことにして、チェックは外しておいてください。 「天気を学習に加える」は、気温や降水量などの気象情報を学習に取り込むか否かを指定します。このチェックボックス は無効化されているはずです。店舗情報登録時に郵便番号を指定しないと、このチェックボックスは有効になりません。 このチュートリアルでは店舗の郵便番号を指定していないので、「天気を学習に加える」ことはできません。
なお、先ほど登録したイベント情報は、自動的に学習に取り込まれます。

学習の実行

パラメタの指定が終わったら、あとは実行するだけです。「実行」ボタンを押下してください。
「データの学習が受け付けられました。」というメッセージが表示されたと思います。この時点ではまだ学習は 行われていません。学習要求が学習待ちのキューに入っている状態です。 は学習待ちキュー内の学習要求を順番に処理していきます。
学習の状態はダッシュボード画面で確認することができます。 学習要求直後は画面上部の「学習待ち件数」が 1 となっています。学習が開始されると「学習待ち件数」は 0 となり、 「学習中件数」が 1 に変わります。学習が完了すると「学習中件数」は 0 となり、「今月の学習回数」が 1 と なります。学習の開始と終了は、このほか「お知らせ」にも通知されます。

予測

予測の実行

学習が終わると、予測が実行できるようになります。データ画面で店舗1・商品1のデータを選択すると、グラフ には売上以外にもうひとつのデータ系列「学習誤差」が表示されています。これは学習時の誤差で、この値の振れが 小さいほど、予測モデルが売上データによくフィットしているということになります。 さっそく予測を実行してみましょう。学習時と同様に店舗1・商品1のデータのチェックボックスをチェックし、 「予測」ボタンをクリックします。「売上データの予測」ダイアログが開きます。 ここで指定するのは予測期間だけです。デフォルトのまま、31日間の予測を実行することにして、「実行」ボタン を押下してください。
学習ほど時間はかかりませんが、予測も非同期で実行されます。予測が受け付けられても、予測の結果はすぐには表示 されません。予測が完了するとダッシュボード画面の「お知らせ」に通知されますので、通知を待って予測結果を確認 します。 画面右側のグラフを見ると、赤い線で描かれたデータ系列があります。これが予測結果です。下図では見やすい ように、予測部分のみを拡大して表示しています。
予測結果の他に、95%信頼区間(上限・下限)という系列があります。これは95%の確率で実績がこの範囲内に収まる ということを示しています。

以上で予測の実行ができました。次では予測結果の検証を行っていきます。

予測結果の検証

予測期間の実績データがでたら、予測結果の検証を行います。実際の運用では実績データがでるのは1か月後 ですが、このチュートリアルでは実績データも用意しています。 こちら から予測期間を含んだ売上データをダウンロードしてください。このデータには2013年1月1日から2015年7月31日 までの売上が含まれています。
データの準備ができたら、前に行った売上データ登録と同じ手順でデータを登録します。データが更新されると、グラフに表示される期間も7月31日までになっているのがわかります。 では、予測結果を検証するために「学習条件」パネルを開いてください。「学習日」の項目を見ると「未実施」と なっていると思います。これは、データ更新後、まだ学習を行っていないためです。「未実施」が表示されている 項目はセレクトボックスになっていて、これをクリックすると、「未実施」の下に先ほど学習したときの日付が 表示されるはずです。この日付部分をクリックしてください。グラフの表示が学習・予測済みのものに切り替わります。
表示データの切り替えは、「学修条件」パネルのタイトルバーにある矢印アイコンでも行うことができます。
切り替わったグラフを見ると、売上予測の系列と重なって実績データが表示されています。薄緑色で描かれているのは実績と予測の誤差です。 いかがでしょうか?サンプルデータではまずまずの精度で予測が行えていると言えると思います。

さらに詳しく見るために、画面上部の予測精度パネルを開いてみましょう。 ここで示されているのは、予測の精度を示す各種の指標です。いろいろな数字が並んでいてわかりにくいですが、 ここでは一番よく使われる平均絶対誤差率(MAPE)を見てみます。MAPEは実績値と予測値の差の絶対値を実績値で割り、 その平均をとったものです。もうちょっとわかりやすく言うと、予測値に誤差を実績値に対する比率で表したもの ということになります。
MAPEがどれぐらいだと精度がいいのかということは、一概には言えません。予測の目的や業務上の必要により、 求められる精度は異なるからです。それでも目安として敢えて言えば、一般的にはMAPEが20%以内ならば良い精度 であると言っていいのではないでしょうか。
このチュートリアルの結果を見るとMAPEが8.075となっていて、これはなかなか良い精度であると言えます。ただ、 いつでもこのような精度が出るわけではないということは覚えておいてください。予測の精度はデータに依存する 部分が大きいので、もっと悪い結果になる場合ももちろんあります。お客様のデータでどのような結果が得られるか、 のトライアル利用で試してみていただきたいと思います。

終わりに

以上でこのチュートリアルは終了です。
これまで、マスタデータの登録から予測結果の検証まで、ひととおりの手順を行ってきました。サンプルデータでは 一度で良い結果が得られましたが、実際の運用では曜日や月を入れたほうが良いのかとか、イベントに何を入れたら いいのかとか、恐らく何度か試行錯誤を繰り返すことになると思います。一度であきらめずに、いろいろ試してみて いただければと思います。
また、弊社からのサポートなどが必要な場合には、オンサイトサポートサービスもご提供しておりますので、お気軽に サポート窓口までお問合せください。

がお客様のお役に立てることを願っております。