프로젝트 설명 및 회고
프로젝트 소개
깃허브 링크
이번 프로젝트에서는 개발 부분이 없었기 때문에 깃허브를 활용하지는 않았다. 대신에 Readme.md에 프로젝트 내용을 정리하였고, preset의 chart / dashboards / databases / datasets를 .yaml로 export 하여 업로드하였다.
진행 기간
- 2024.05.13 ~ 2024.05.17 (5일)
주제
- 서울시 상권 분석 대시보드
프로젝트 인원 구성
- 총 4명
- 서울시 소득/소비 데이터 가공 및 시각화, 인프라 구성
- 서울시 점포 관련 데이터 가공 및 시각화
- 2023년 서울시 추정 매출 데이터 가공 및 시각화
- 서울시 길단위 인구 데이터 가공 및 시각화
활용 기술 및 프레임워크
- Storage : Amazon S3
- Database(DW) : Snowflake (SQL)
- Dashboard : Preset
나의 역할
- 2023년 서울시 추정 매출 데이터 가공 및 시각화
인프라 아키텍처
데이터 웨어하우스 구조
프로젝트 요약 및 기대효과
프로젝트 결과 영상
요약
- 길단위 인구 대시보드
- 행정동별 성별의 길단위 인구와 서울시 전체 길단위 인구 파악
- 요일별 길단위 인구 파악
- 연령대에 따른 행정동별 길단위 인구 파악
- 행정동 시간대별 길단위 인구 파악
- 소비 대시보드
- 행정동별 소비 금액 비교
- 소비 상위 지역의 서비스 분야 별 소비 분포 파악
- 분기에 따른 서비스 분야 별 변화 추이
- 점포 대시보드
- 서울시 업종별 개업, 폐업 수 파악
- 행정동별 점포 수 비교
- 서울시 점포를 지도로 나타내 위치 가시화
- 총 매장 수와 프랜차이즈 수를 비교
- 추정 매출 대시보드
- 서비스 업종 별 평균/최대/최소 매출 금액 파악
- 연령대에 따른 매출 금액과 매출 건수의 변동 파악
- 길단위 인구에 따른 행정동별 매출 금액 파악
기대효과
- 효율적인 의사결정 지원 : 다양한 지표를 시각화하여 제공함으로써, 자영업자들이 빠르고 정확하게 정보를 분석하고 합리적인 의사결정을 내릴 수 있다.
- 사업 성공률 향상 : 업종별, 지역별 매출 차이와 주 고객층의 소비 패턴 등을 고려하여 적합한 사업 전략을 세울 수 있어, 성공적인 사업 운영 가능성이 높아진다.
- 시간 및 비용 절감 : 복잡한 데이터를 손쉽게 확인하고 분석할 수 있어, 자영업자들이 조사에 드는 시간과 비용을 절감할 수 있다.
- 경쟁력 강화: 상권 분석을 통해 경쟁 업체와의 차별화 전략을 수립하고, 보다 효과적인 마케팅 및 운영 전략을 실행할 수 있다.
KPT 회고
Keep
- 인프라 아키텍처, 데이터 웨어하우스 구조를 시각화하면서 프로젝트에 대한 이해도를 높일 수 있었다.
- 팀원 분들이 초반에 주제와 방향을 제대로 숙지하고 있었기에 프로젝트가 빠르게 진행될 수 있었다.
Problem
- 데이터 수집이 스크래핑이 아닌 csv 파일 다운로드 형태였고, 데이터 적재 부분이 수동이었기 때문에 3일 만에 인프라와 대시보드를 모두 구성했다. 그러나 강의에서 다루지 않았던 2일 만에 데이터 적재 자동화를 구성하기에는 무리가 있었다.
- Preset(Superset)을 활용한 대시보드를 구성할 때, 생각보다 원하는 대로 차트를 생성하기에 무리가 있었다. 원래 연령대(가로), 매출 건수 / 매출 금액(세로)으로 하나의 차트로 나타내려고 했지만 어려움이 있었다.
Try
- 자동화를 구현하는 대신에 이 프로젝트에서 데이터 적재를 자동화시킬 수 있는 방안을 서로 알아보고 공유하는 시간을 갖고 마무리하였다. 직접 구현하지 못한 것은 아쉽지만, 자동화에 대한 지식을 쌓을 수 있었다.
- 시각화보다는 데이터 부분에 집중하는 것이 좋을 것 같아 해당 문제를 붙잡고 있지는 않았다. 그래서 하나의 차트로 구성하는 대신에 연령대별로 각 차트를 구성하였다. 연령대가 6개의 구간으로 나눠져 있기에 총 6개의 그래프가 생성되었다.
배운 점 및 아쉬운 점
배운 점
- 클라우드 시스템을 활용한 첫 프로젝트였는데, 팀원에게 각 클라우드 서비스(S3, Snowflake, Preset)의 권한을 부여하는 방법을 배울 수 있었다.
- ETL / ELT을 SQL로 직접 진행하면서 클라우드 스토리지(S3), 데이터 웨어하우스(Snowflake)에 대한 개념을 이해할 수 있었다.
- 데이터베이스 / 스키마 / 테이블을 생성하고 데이터를 다뤄보며, 데이터 웨어하우스 구조와 SQL 구문에 대해 배울 수 있었다.
아쉬운 점
- 현재 분기 별로 저장된 데이터를 S3에 “직접” 적재한 뒤 사용하는 방식을 사용함
- 해당 방법은 데이터를 하나하나 일정 기간마다 직접 최신화시켜야 된다는 문제점이 있음
- 이를 해결하기 위해 데이터 파이프라인을 구축해 자동화를 기획
- 현재 상황에서 자동화 기능 구현 방법을 탐색 및 공유 (실제로 구현 X)
- github-action
- 로컬 혹은 EC2에서 crontab
- crontab을 활용하면, s3에 적재하는 코드를 일정 시간마다 실행시켜 자동화할 수 있다. 이에 더해 EC2 서버 위에서 crontab을 작성한다면, 로컬이 아닌 클라우드 환경에서 본인의 컴퓨터 동작과 관계없이 crontab 코드를 지속적으로 실행할 수 있다.
- AWS EventBridge + Lambda
- Lambda를 이용해 파이썬 코드를 작성해 데이터를 원하는 데이터를 받아 csv파일로 처리 후 s3와 연결해 해당 데이터를 업데이트하는 기능을 구현한 뒤 AWS에서 지원하는 EventBridge를 이용해 해당 기능을 원하는 간격으로 수행하도록 설정하면 원하는 간격으로 데이터를 자동으로 가져와 처리하는 파이프라인이 구축됨
'기타 > 회고록' 카테고리의 다른 글
[회고] 데브코스 3차 팀 프로젝트 (24.06.10 ~ 24.06.14) (0) | 2024.06.15 |
---|---|
[회고] 개인 프로젝트 - FC Online 공식 경기 분석 (24.05.25 ~ 24.06.05) (2) | 2024.06.08 |
[회고] 데브코스 2차 기간 (24.05.06 ~ 24.06.02) (0) | 2024.05.28 |
[회고] 개인 프로젝트 - 공모전 웹 제작 (24.04.25 ~ 24.05.12) (0) | 2024.05.15 |
[회고] 데브코스 1차 팀 프로젝트 (24.04.15 ~ 24.04.19) (0) | 2024.04.22 |