個人開発で売上予測Webアプリ「SalesCast」をリリース:FastAPIとProphetを活用した技術解説
筆者は、売上・需要予測ができるWebアプリケーション「SalesCast」を個人で開発し、リリースした経緯と技術構成について解説している。本アプリは、機械学習の予測モデルをブラウザから非エンジニアでも直感的に使えるようにすることをコンセプトとしている。従来の需要予測ツールが高額であったり、専門知識が必要であったりする課題意識から出発した。
技術的には、フロントエンドにReact、バックエンドにFastAPIを採用し、予測モデルにはMetaが開発した時系列予測ライブラリ「Prophet」を使用している。Prophetは、季節性や祝日効果の自動処理に優れており、CSVデータを受け取って予測に利用する設計と相性が良かったため選定された。これにより、ユーザーはCSVを貼り付けるだけで予測グラフを得ることが可能となった。
主な機能として、ユーザーはアップロードした売上データに対し、表示したい期間を自由に指定でき、その範囲の平均値、最大値、最小値などの統計サマリーをリアルタイムで確認できる。また、表示されたグラフをPNG形式でダウンロードし、資料作成や共有に利用できる機能も備えている。開発過程では、FastAPIとVercelという別ドメインでの運用に伴うCORS(Cross-Origin Resource Sharing)設定に苦労し、本番環境では明示的にVercelのURLを指定する必要があったという技術的な課題も報告されている。筆者は、この一連の個人開発を通じて、FastAPIとProphetの組み合わせのシンプルさと扱いやすさを実感し、開発を完遂できたと述べている。
背景
需要予測や売上予測は、在庫管理や事業計画において不可欠な実務技術ですが、既存のツールは高コストであったり、専門的な知識を必要としたりすることが課題でした。本記事は、このギャップを埋めるため、非エンジニアでも簡単に使えるWebアプリを個人で開発した経緯を報告しています。
重要用語解説
- Prophet: Meta社が開発した時系列予測ライブラリ。季節性や祝日効果を自動で処理する能力が高く、パラメータ調整が少ないため、売上予測に適している。
- FastAPI: Pythonで記述された、高性能なWeb APIフレームワーク。バックエンドの構築に使用され、予測モデル(Prophet)を動かすためのAPIを提供する。
- CORS: Cross-Origin Resource Sharingの略。異なるドメイン(例:VercelとFastAPI)間でリソースを安全にやり取りするために必要なセキュリティ設定。
- 影響: 本アプリの成功は、機械学習の予測モデルをより一般のビジネスユーザーに身近な形で提供できる可能性を示唆している。今後は、より多様なデータソースや分析機能の追加、さらなるユーザーフィードバックに基づく改善が期待される。