← Projects

웹 플랫폼 · 수요예측 · AI, Backend, Web

Keeping 1차 — 웹 재고 · 발주 자동화 플랫폼

소상공인의 수기 재고관리와 카톡 · 전화 발주 문제를 풀기 위한 웹 플랫폼. 도매시장 시세를 매장 단위 수요로 바꾸는 5단계 전처리 파이프라인과 앙상블 수요예측 모델(MAPE 29% → 16%)을 만들었습니다

기간
2025.09 – 2025.12
역할
( 확인: 수요예측 데이터 파이프라인 · 모델 / 백엔드 / 웹 화면 중 맡은 부분 )
팀 구성
3인 팀 (E조)
기술 스택
PythonFastAPIXGBoost · LightGBM · RandomForestGemini APIKAMIS · 기상청 · CSI API네이버 검색 트렌드

문제 인식

많은 소상공인이 아직 수기 장부나 엑셀로 재고를 관리합니다. 시간이 많이 들고, 발주 누락이나 과잉 재고로 이어지기 쉽습니다. 유통기한이 짧은 식자재는 과잉 재고가 곧 폐기 비용입니다. 발주는 카카오톡이나 전화로 이루어져 누락 · 중복 · 오발주가 잦고, 판매 데이터나 날씨 · 시세 같은 외부 데이터를 활용한 수요 예측은 거의 없어 경험에 의존합니다.

솔루션과 비즈니스 모델

  • 웹 재고관리 시스템: 파편화된 재고 관리를 한곳에 모아 언제 어디서든 확인
  • 자동 발주 추천: 정해진 기준에 따라 발주를 자동 생성해 누락과 비효율 제거
  • AI 수요예측: 경험 의존 발주를 데이터 기반으로 전환해 최적 발주량 제안
  • 구독형 SaaS: 무료(기본 재고관리) → 유료(자동 발주) → 프리미엄(AI 발주 예측)

서비스 구성

웹(상품 등록 · 재고 관리 · 발주 흐름) — FastAPI API 서버(인증 · 데이터 통합) — AI 모듈(KAMIS 농수산물 유통정보, 기상청, CSI 소비자심리지수 연동 수요예측). 로그인 · 회원가입, 재고 관리, 상품 판매 · 구매, 관리자 대시보드, Gemini 챗봇까지 구현했습니다.

관리자 대시보드
관리자 대시보드 — 사용자 · 재고 · 대화 현황과 사용자 관리
상품 구매
상품 구매 — 공급업체별 식자재 검색과 장바구니
검색 필터
검색 필터 — 카테고리 · 가격 · 지역 · 평점 · 태그

수요예측: 도매시장 데이터를 매장 단위 수요로

수요예측의 가장 큰 난관은 학습 데이터였습니다. 구할 수 있는 건 KAMIS 도매시장 경매 시세 같은 거시(Macro) 데이터인데, 예측해야 하는 건 식당 한 곳의 kg 단위 발주량입니다.

  1. 거래량 가중 평균 시세: 소량 특수 거래가 평균을 왜곡하지 않도록 거래량으로 가중 (단순 평균 1,000원 → 보정 1,490원)
  2. 식당 수 필터링 · 중앙값 보정: 식당 100개 미만 지역은 전국 중앙값(약 2,278개)으로 보정해 분모 폭발 방지
  3. Micro Demand 수식 변환: 품목별 사용률(Usage Rate)과 현실적 상한을 적용해 사업장 단위 수요 추정
  4. 검색 트렌드 결합: 네이버 검색 트렌드를 선행 지표로 넣어 이벤트성 수요 반영
  5. Lag 기반 시계열 구조화: 7일 · 14일 평균 수요를 lag 피처로 만들고 시계열 누수를 차단
지표 개선 전 개선 후
MAPE 29.3% 16.0%
0.593 0.837
과적합 정도 (Train/Test 격차) 0.212 0.078 (63% 감소)

피처 중요도는 7일 평균 수요 35.8%, 14일 평균 수요 33.9%로, 수요는 단기 패턴을 중심으로 움직인다는 것을 확인했습니다. 평균 예측 오차는 1kg 이하였고 다음 목표를 MAPE 12~14%로 잡았습니다.

배운 점

  • 모델보다 데이터가 먼저였습니다. 거시 시세를 매장 단위로 바꾸는 전처리를 제대로 하고 나서야 모델 성능이 실용 수준(MAPE 16%)에 올라왔습니다.
  • 웹으로 만든 뒤 사장님이 실제로 쓰는 환경은 매장 안 휴대폰이라는 것을 확인했습니다. 같은 시기 린스타트업 스쿨에서 모바일 MVP를 외주로 검증했고, 2차에서 모바일 앱으로 다시 만들었습니다 → Keeping 2차 — AI 매장 비서 앱