💹

受注予測アプリの開発

に公開

はじめに

こんにちは!NEのデータ事業推進部でインターン生としてお世話になっている山口晃基です。私は社内の受注データや取引企業データなどを活用し、効果検証や機械学習を用いたデータ分析に取り組んでいます。
本記事では、私が開発した「受注予測アプリ」について、その背景と狙いをご紹介します。

開発経緯

NEはEC事業者向けにコンサルティングを行っており、その中で「今後どの商材が伸びるのかを把握したい」という需要がありました。従来は担当者の経験や直感に依存する部分が大きく、データに基づいた予測を迅速に行う仕組みは整っていませんでした。
そこで私は、この需要に応える形で、どの商材に対しても受注予測を行えるアプリを開発しました。

課題の具体化

しかし、実際に開発に着手する段階ではいくつかの課題が存在しました。

  • 商材ごとに売上データの傾向が異なるため、単純なモデルでは汎用性が担保できない。
  • 担当者が簡単に使えるUIを備えていなければ、現場での活用が進まない。
  • 過去データに基づいた予測精度をどう担保するかが重要になる。
    これらの課題を整理した結果、「汎用的に使える予測モデル」と「誰でも扱えるインターフェース」の両立が必要であると考えました。

解決へのアプローチ

私は複数の時系列モデルを比較検証し、商材ごとに異なる特徴を捉えつつ、一定の精度で予測を提供できる仕組みを設計しました。
さらに、予測結果をグラフや数値で直感的に理解できるようにすることで、担当者が意思決定に活用しやすいアプリを目指しました。

アプリの使い方・機能

アプリの操作はシンプルです。まず、以下の項目を入力します。

  • 注目したい商品カテゴリー
  • 商品名
  • 予測期間
    もし注目商品がどのカテゴリーに属すか分からない場合は、「指定しない」にしておくこともできます。

今回は例として「衣服」「浴衣」「6か月」で実行してみます。以下が結果です。

この結果は日次スケールになっており、赤い部分が予測部分です。画像には載っていませんが、その商材を扱っている企業数の変化も確認できます。
※データ保護のため、結果の一部分を載せています。

さらに、日次以外にも月次に集計した結果を確認でき、商材の単価推移なども把握できます。

このように、担当者は日次・月次の売上傾向や企業数の変化をデータに基づいて把握できるため、注目商材が今後どのようなトレンドになっていくかを把握しやすくなります。

開発の仕組み

このアプリは、以下のような流れで開発・構築しました。専門的なツールを使っていますが、なるべく分かりやすくご紹介します。

  • Pythonでの開発
    アプリの基本部分はプログラミング言語「Python」で作りました。Pythonはデータ分析やAIの分野でよく使われています。コードを整理するために「オブジェクト指向」という仕組みを用いましたが、実装経験が少なく、最初は戸惑いながら試行錯誤を重ねました。

  • 予測モデル
    予測の中核には「Prophet(プロフェット)」というFacebook社が開発した時系列予測ツールを利用しました。季節性やトレンドの変化を自動で捉えてくれるため、商材ごとの売上傾向を比較的簡単に予測できました。実務レベルでの導入は初めてでしたが、想像以上に使いやすいライブラリでした。

  • ユーザーインターフェース
    担当者が結果を直感的に確認できるように、「Streamlit」を使ってWebアプリ化しました。入力フォームに条件を入れると、すぐにグラフで予測結果が表示される仕組みです。人生で初めてWebアプリを実装しましたが、Streamlitはシンプルで学習コストも低く、思っていた以上にスムーズに構築できました。

  • クラウド環境への公開
    最後に、完成したアプリを「Cloud Run」というGoogleのクラウド環境にデプロイしました。これにより、社内に限定しつつWebブラウザから手軽なアクセスを可能にしました。セキュリティや権限管理には注意が必要でしたが、特定の環境に依存せずに利便性を高めることができました。

このように、Pythonでの開発 → モデルの実装 → Webアプリ化 → クラウド公開 という流れを組み合わせることで、現場の担当者が実際に活用できる受注予測アプリを実現しました。

今後の展望など

本アプリは「どの商材が伸びるのかを予測したい」という需要に応える第一歩として開発しました。今後の発展としては、予測精度の向上に注力していきたいと考えています。特に、為替などの社会的外部要因を加味することで、より現実的で信頼性の高い予測が可能になると期待しています。

今回の開発を通じて、需要を捉え、解決に結びつけるプロセスを学びました。実際に形にして社内で活用できる状態にまで落とし込む経験は大きな財産になりました。今後も課題を発見し、データを活用した解決策を提案できるような力を磨いていきたいです。

NE株式会社の開発ブログ

Discussion