← 목록으로

안물 - 안양 물가를 물어봐

안양시 공공데이터 29개 회차를 결합해 '올랐다'가 아니라 '이례적인가'를 답하는 장보기 서비스

2026.08 - 2026.092주1인 개발
TypeScriptReactNext.jsTailwindCSSNode.jsPostgreSQLNeon Data APIOpenAI

Preview

프로젝트 이미지 1

Description

안양시가 2013년부터 공개해 온 생필품 가격 데이터는 44행 × 28열 CSV라, 시민이 쓰려면 두 칸을 직접 찾아 비교해야 했습니다. 13년간 세 번 바뀐 서식의 29개 회차를 하나의 시계열로 결합하고 품목별 계절 지수를 학습시켜, "배추 25% 상승"을 "예년 8월 +17.7%이니 정상 범위"로 해석하고 진짜 이례적인 호박(+28%p)을 골라냅니다. 수급자 데이터와 결합하는 과정에서는, 동네슈퍼 가격이 조사되지 않는 17개 동에 수급자 9,601명(전체의 57%)이 산다는 행정 사각지대를 발견했습니다.

Technical Challenges

  • 13년간 3번 바뀐 CSV 서식 통합
  • LLM이 품목명 대신 규격 반환
  • 서버리스 환경에서 파일 기반 로그가 유실되는 구조를 Neon Postgres로 이관

Learnings

  • 데이터를 믿기 전에 데이터가 스스로 말이 되는지 검증: 계절 패턴의 농업적 타당성이 파싱 검증이 되어주었습니다.
  • 없는 결과도 어쨋든 결과: r = −0.001을 상관처럼 포장하지 않고 그대로 보고하는 편이 더 쓸모 있었습니다.
  • 눈으로 보지 말고 값을 재기: 대비 1.08:1, 박스 높이 139px처럼 측정해야만 잡히는 결함이 있었습니다.