본문 바로가기

캡스톤디자인

요약

* sku: Stock Keeping Unit의 약자로, 한국어로는 재고 관리 단위 또는 상품 코드 단위

 

<프로젝트 요약>

날씨와 유동인구 데이터를 반영하여 (소상공인) 베이커리 가맹점 SKU별 수요를 예측하고, 웹에서 그 결과를 확인하고 다운로드 가능한 시스템

 

📍프로젝트명

AI 기반 날씨·유동인구 연동 베이커리 SKU 수요 예측 및 시각화 웹(시스템) 개발

 

📍프로젝트 키워드

 

  • 수요 예측 
  • POS 데이터
  • SKU별 분석
  • AI 서비스 웹 구축

 

📍Pain Point 

 

  • 계절, 날씨, 유동인구 등 외부 요인에 따른 수요 변동 예측이 어려움
  • 재고 과잉 또는 부족으로 인한 손실 발생
  • 기존 매장 시스템(특히 소상공인)에서 AI 기반 예측 기술 및 시각화 기능 부재
  • 가맹점 입장에서 SKU별로 정확한 수요를 파악하기 어려움

📍기술 솔루션 서술

 

  • POS 데이터, 날씨 정보, 유동인구 데이터를 결합하여
    가맹점-SKU-날짜 단위의 정교한 학습 데이터셋을 구성
  • 수요 예측을 위한 머신러닝 및 딥러닝 모델(XGBoost 등) 을 학습 (기간 설정이나 사용자가 설정한거에 따라서 모델을 다르게 적용시키는건 어떤지?!)
  • 사용자에게 웹 인터페이스를 통해:
    • 예측 결과 시각화
    • 기간 및 상품별 분석 제공
    • CSV 다운로드 기능 제공
  • 데이터 기반 의사결정을 지원하는 웹 기반 AI 수요 예측 시스템 제공

 

 

📍구현 기술 키워드

  • 머신러닝/딥러닝: XGBoost, LightGBM, LSTM (선택)
  • 백엔드: Python, FastAPI, Pandas
  • 프론트엔드: React, TailwindCSS, Chart.js
  • 배포: Streamlit
  • 데이터베이스: SQLite
  • 데이터 처리: Pandas, Numpy, Sklearn
  • 시각화: Recharts or Plotly
  • 파일 처리: CSV 업로드/다운로드
  • 버전관리: GitHub

 

📍사용할 소프트웨어와 구체적 명세(예시)
| 수요 예측 모델   | `XGBoost` | [https://xgboost.readthedocs.io/](https://xgboost.readthedocs.io/) |
| 머신러닝 처리    | `scikit-learn` | [https://scikit-learn.org/](https://scikit-learn.org/) |
| API 서버     | `FastAPI` | [https://fastapi.tiangolo.com/](https://fastapi.tiangolo.com/) |
| 백엔드 서버 실행  | `Uvicorn` | [https://www.uvicorn.org/](https://www.uvicorn.org/) |
| 웹 프론트엔드    | `React` | [https://reactjs.org/](https://reactjs.org/) |
| 프론트 UI     | `Tailwind CSS` | [https://tailwindcss.com/](https://tailwindcss.com/) |
| 차트 시각화     | `Chart.js` or `Recharts` | [https://www.chartjs.org/](https://www.chartjs.org/), [https://recharts.org/](https://recharts.org/) |
| CSV 처리     | `Pandas`| [https://pandas.pydata.org/](https://pandas.pydata.org/) |
| 프론트 배포     | `Vercel` | [https://vercel.com/](https://vercel.com/) |
| 백엔드 배포     | `Render` | [https://render.com/](https://render.com/) |
| 버전 관리      | `GitHub` | [https://github.com/](https://github.com/) |
| 데이터 저장(옵션) | `SQLite` or `PostgreSQL` | [https://www.sqlite.org/](https://www.sqlite.org/), [https://www.postgresql.org/](https://www.postgresql.org/) |

 

 

 

<핵심 기술 및 소프트웨어 패키지, URL, 시나리오> + 코드 및 문장으로 작동원리 설명 

구성 요소 기술 스택 설명
AI 모델 Python + scikit-learn / XGBoost / LSTM 등 (실험 후 가장 좋은 모델로) 수요예측 모델 개발 (csv → 예측값)
백엔드 FastAPI or Flask, Pandas, Uvicorn 사용자 요청 처리, AI 모델 연결
프론트엔드 React 사용자 인터페이스 (그래프, 테이블, 파일 업로드 등)
데이터베이스 SQLite 유동인구/날씨/수요 결과 저장용
배포 Streamlit (간단한 버전) / Vercel + FastAPI 프론트+백엔드 통합 또는 분리 배포 가능

 

* 흐름

1. 사용자가 웹(프론트엔드)에서 기간, 가맹점, sku 등을 선택한다.

2. 백엔드 서버에서 입력값을 수신하고, 데이터 전처리 및 보조변수와 합친 다음 AI모델에 입력한다.

3. AI모델이 예측 결과를 반환하면, 백엔드 서버에서 예측값을 저장하고 응답한다.

4. 프론트엔드에서 해당 예측 결과 및 시각화 결과를 띄워준다.

 

+ 그 외 정확한 웹/앱 화면 구현은 추후 예정...

 

 

 예시 페이지 흐름

  1. 메인 페이지 – 기간, 가맹점 선택
  2. 예측 수행 버튼
  3. 예측 결과:
    • SKU별 수요예측량 테이블
    • 기간별 시계열 그래프
    • 데이터 다운로드 버튼 (CSV)
  4. (관리자용) 모델 재학습 버튼

 

cf. 참고