본문 바로가기
IT적응기

가계부 데이터 시각화 (구글시트, pandas, 소비패턴)

by IT적응기 2026. 7. 16.

가계부 데이터 시각화 (구글시트, pandas, 소비패턴)
가계부 데이터 시각화 (구글시트, pandas, 소비패턴)

가계부 앱을 꾸준히 쓰고 있는데도 매달 지출이 왜 늘었는지 모르겠다면, 사실 앱이 문제가 아닙니다. 보여주는 정보가 부족한 겁니다. 저도 3년 넘게 앱을 켜놓고도 "이번 달은 왜 이렇게 썼지?"라는 질문에 제대로 답하지 못했습니다. 카드사 CSV 한 장을 내려받아 직접 시각화해보고 나서야 그 이유를 찾았습니다.



구글시트 QUERY와 피벗 테이블, 생각보다 훨씬 멀리 갑니다

혹시 가계부 앱이 보여주는 원형 차트만으로 충분하다고 생각하신 적 있으신가요? 저도 그랬습니다. 그런데 원형 차트는 이번 달 카테고리별 비중만 알려줄 뿐, 지난달 대비 어느 항목이 얼마나 늘었는지는 전혀 알 수 없습니다. 결국 카드사 앱에서 6개월 치 소비 내역 CSV를 내려받아 구글시트에 직접 붙여넣었습니다.

여기서 제일 먼저 쓴 것이 QUERY 함수입니다. QUERY 함수란 구글시트 안에서 SQL과 유사한 문법으로 데이터를 필터링하고 집계할 수 있는 기능입니다. 예를 들어 SELECT C, SUM(D) WHERE B = '식비' GROUP BY C 같은 구문으로 월별 식비 합계를 한 줄에 뽑아낼 수 있습니다. 처음엔 낯설었지만, 구글 공식 가이드를 한 번 훑고 나니 생각보다 빠르게 익혔습니다(출처: Google 스프레드시트 고객센터 - QUERY 함수 가이드).

그다음은 피벗 테이블(Pivot Table)이었습니다. 피벗 테이블이란 행과 열 기준을 자유롭게 바꾸면서 데이터를 요약해주는 표 형태의 분석 도구로, 월을 열에, 카테고리를 행에 배치하면 6개월 치 지출 흐름이 한눈에 들어옵니다. 제가 직접 써봤는데, 이 표 하나를 만들고 나서야 외식비가 3개월 연속 증가하고 있다는 사실을 처음 알았습니다. 앱이 숨기고 있었던 게 아니라, 제가 그 형태로 데이터를 정리해본 적이 없었던 겁니다.

CSV 전처리, 아무도 알려주지 않는 함정

솔직히 이건 예상 밖이었습니다. 카드사마다 CSV 컬럼 순서와 날짜 형식이 제각각이라, 두 카드사 데이터를 합치는 데만 30분 넘게 걸렸습니다. 날짜 형식이 '2024-03-15'인 카드사가 있는가 하면 '20240315' 형태로 뭉쳐서 저장하는 곳도 있습니다. 대부분의 입문 콘텐츠에서는 "CSV를 불러오면 됩니다"로 끝내지만, 실제로는 이 전처리 단계가 전체 작업에서 가장 많은 시간을 잡아먹습니다. 처음 시도하신다면 먼저 카드 한 장짜리 데이터로 시작하는 것을 권합니다.

  • 카드사·은행마다 날짜 형식, 금액 단위, 컬럼 명칭이 모두 다름
  • QUERY 함수 적용 전 날짜를 텍스트에서 날짜 형식으로 반드시 변환 필요
  • 여러 카드사 데이터를 합칠 때는 공통 컬럼(날짜·금액·카테고리)만 남기고 나머지는 삭제
  • 뱅크샐러드·토스 같은 가계부 앱의 데이터 내보내기 기능을 쓰면 형식이 통일돼 전처리가 훨씬 단순해짐
요약: 구글시트 QUERY 함수와 피벗 테이블만으로도 월별·카테고리별 지출 흐름을 충분히 파악할 수 있으며, 전처리 단계를 가볍게 보지 않는 것이 핵심입니다.

 

pandas로 넘어가야 할 때, 그리고 넘어가지 않아도 될 때

구글시트로 월별 흐름을 파악하고 나서 한 가지 질문이 생겼습니다. "배달음식 지출이 특정 요일에 몰리는 건 아닐까?" 이 질문은 피벗 테이블로는 답하기 어려웠습니다. 그래서 파이썬 pandas로 데이터를 옮겼습니다.

pandas란 파이썬에서 표 형태의 데이터를 불러오고 변환하고 집계하는 데 특화된 오픈소스 라이브러리입니다. df['요일'] = pd.to_datetime(df['날짜']).dt.day_name() 한 줄로 날짜 컬럼에서 요일을 추출할 수 있고, groupby로 요일별 합계를 내는 것도 두 줄이면 충분합니다(출처: pandas 공식 문서). 제 경험상 이건 구글시트에서는 꽤 번거로운 작업인데, pandas에서는 순식간에 끝납니다.

실제로 그려보니 금요일 저녁 배달음식 지출이 다른 요일의 두 배 가까이 되었습니다. 그리고 이동평균선(Moving Average)을 추가하고 나서야 또 다른 문제가 눈에 들어왔습니다. 이동평균선이란 일정 기간 지출의 평균값을 연속된 선으로 표시해 단기 급등락보다 전체 추세를 파악하기 쉽게 만드는 기법입니다. 선이 완만하게 올라가는 구간을 보다가 특정 월에 작은 혹이 두 개 겹쳐 있는 걸 발견했는데, 확인해보니 구독 서비스 두 개가 날짜가 비슷해 사실상 같은 주에 결제되고 있었습니다. 이전까지는 그냥 숫자로만 봐서 몰랐던 겁니다.

그래서 파이썬까지 꼭 배워야 할까요?

개인적으로는 "반드시 그렇지는 않다"고 생각합니다. 시각화는 도구가 목적이 아니라 소비 패턴을 발견하기 위한 수단입니다. matplotlib이나 plotly로 예쁜 차트를 만드는 데 집중하다가 정작 "이번 달 지출을 어떻게 줄일 것인가"라는 실행으로 이어지지 못하는 경우를 저도 여러 번 겪었습니다. 도구의 난이도보다 '어떤 질문에 답하고 싶은가'를 먼저 정하는 게 더 중요합니다.

일반적으로 pandas와 matplotlib을 배워야 제대로 된 분석이 가능하다고 알려져 있지만, 실제로 써보니 월별 지출 비교나 카테고리 추세 정도는 구글시트 수준으로도 충분히 해결됩니다. 요일별 패턴이나 이동평균 분석처럼 "한 단계 더 깊은 질문"이 생겼을 때 pandas로 넘어가도 늦지 않습니다. 캐글(Kaggle)의 개인 재무 데이터 시각화 예제 노트북들을 보면 코드 자체는 단순한 경우가 많아, 파이썬 기초만 있어도 충분히 따라갈 수 있습니다.

요약: pandas와 matplotlib은 요일별 패턴·이동평균 같은 심화 질문이 생겼을 때 도입하면 충분하며, 먼저 "무엇을 알고 싶은가"를 정하는 것이 도구 선택보다 앞서야 합니다.

 

자주 묻는 질문

Q. 파이썬 모르는데 가계부 데이터 분석 가능한가요?

A. 충분히 가능합니다. 구글시트의 QUERY 함수와 피벗 테이블만으로도 월별·카테고리별 지출 흐름을 파악하는 데 전혀 부족함이 없습니다. 파이썬은 요일별 패턴이나 이동평균처럼 한 단계 더 깊은 분석이 필요해졌을 때 시작해도 늦지 않습니다. 지금 당장 어떤 질문에 답하고 싶은지를 먼저 떠올려 보셨나요?

 

Q. 카드사 CSV 여러 개를 합치는 가장 쉬운 방법이 뭔가요?

A. 뱅크샐러드나 토스처럼 여러 카드·계좌를 한 곳에서 관리하는 가계부 앱의 데이터 내보내기 기능을 쓰면 컬럼 형식이 통일돼 전처리 시간이 크게 줄어듭니다. 카드사별로 직접 CSV를 받는다면, 날짜·금액·카테고리 세 컬럼만 추출해 형식을 맞춘 뒤 합치는 방식이 가장 실수가 적었습니다. 이 전처리 단계가 생각보다 오래 걸린다는 점은 미리 알고 시작하시는 게 좋습니다.

 

Q. 구글시트 QUERY 함수, SQL 몰라도 쓸 수 있나요?

A. SQL을 전혀 모르셔도 됩니다. QUERY 함수는 SELECT, WHERE, GROUP BY 정도의 기본 문법만 알면 가계부 분석에 필요한 대부분의 집계를 처리할 수 있습니다. Google 스프레드시트 고객센터의 QUERY 함수 가이드에 예제가 잘 정리돼 있어서, 처음 보더라도 30분 안에 기본 쿼리는 직접 짤 수 있을 겁니다.

 

Q. 데이터 시각화 후 실제로 지출이 줄었나요?

A. 저는 줄었습니다. 이동평균선을 그리고 나서 구독 서비스 두 개가 같은 주에 겹쳐 결제된다는 사실을 처음 발견했고, 그 달에 하나를 바로 해지했습니다. 다만 시각화 자체가 지출을 줄여주는 건 아닙니다. 그래프에서 문제를 발견하고 나서 실제 행동으로 이어지는 것, 그 한 걸음이 전부입니다. 지금 여러분의 데이터에서 아직 발견하지 못한 패턴이 있을 가능성이 높지 않을까요?

 

결론

가계부 데이터 시각화는 도구를 배우는 재미가 있지만, 목적 없이 시작하면 예쁜 차트 만들기 자체가 목표가 됩니다. 저도 그 함정에 빠진 적이 있습니다. 구글시트 피벗 테이블로 충분한 분석이 가능한데 굳이 pandas부터 시작할 필요는 없습니다. "이번 달 어느 항목이 늘었는지 알고 싶다"면 구글시트로, "요일별 소비 패턴이 궁금하다"면 그때 pandas로 넘어가는 흐름이 현실적입니다.

정리하면, 도구 선택 전에 먼저 한 가지 질문을 적어보세요. 그 질문에 답할 수 있는 가장 단순한 도구가 최선입니다. 카드사 CSV 한 장을 내려받아 구글시트에 붙여넣는 것, 오늘 당장 시작할 수 있습니다.

참고: Google 스프레드시트 고객센터 - QUERY 함수 가이드 | pandas 공식 문서 | matplotlib 공식 문서


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 깜짝,황금이 아빠 IT적응기

서치어드바이저