한국GPT협회 표준교재

552. 데이터 분석 (재무제표 분석)

㈜한빛정밀 3개년 재무제표로 배우는 성장성·수익성·안정성 분석 — GPT 채팅창·구글 코랩·로컬 파이썬, 같은 코드 세 환경

파이썬을 이용한 재무 데이터 분석 심화

Learning Objectives
  • 파이썬 데이터 분석의 핵심 라이브러리(pandas·matplotlib·seaborn 등)의 역할을 구분한다.
  • GPT 채팅창·구글 코랩·로컬 파이썬 세 환경에서 동일한 3개년 재무제표로 동일한 분석(성장성·수익성·안정성 지표의 표와 그래프)을 수행한다.
  • 보안·저장·자동화 관점에서 세 환경의 장단점을 비교하고 업무에 맞는 환경을 고른다.
재무 실무 연결

이 교재의 실습 데이터는 가상의 코스닥 상장 제조업체 ㈜한빛정밀의 3개년 재무제표입니다. 재무상태표·손익계산서·현금흐름표 3개 시트를 실제 공시 수준의 상세한 계정과목으로 구성했습니다 — CFO가 매달 보는 데이터 그 자체로 파이썬 분석을 익힙니다.

여기서 익히는 지표 계산(성장성·수익성·안정성)과 추이 시각화는 월간 경영보고·이사회 보고·IR 자료의 뼈대입니다. 숫자는 매달 바뀌어도 분석의 틀은 같습니다 — 그래서 이 모듈의 결론은 분석을 재사용 가능한 코드 자산(노트북)으로 만드는 것입니다.

이해

분석 환경 3종

학습 안내읽기. 라이브러리 표는 외우지 말고 "이런 이름이 코드에 나오면 이런 역할" 수준으로만 익혀 두십시오. 가장 중요한 것은 마지막 환경 3종 비교표입니다 — 통합 실습에서 환경을 고르는 기준이 됩니다.

엑셀(VBA)의 끝, 파이썬의 시작

합계·평균 같은 집계와 기본 차트는 VBA로 충분합니다. 그러나 분석이 깊어지면 한계가 옵니다 — 수십만 행 이상에서 느려지고, 박스플롯·히트맵 같은 통계 그래프와 회귀분석·검정 같은 통계 분석은 VBA로 구현하기 매우 번거롭습니다. 파이썬은 이 지점부터 시작합니다.

구분엑셀 VBA파이썬
데이터 규모수만 행까지 쾌적, 그 이상은 급격히 느려짐수백만 행도 처리 (pandas)
시각화막대·선·원형 등 엑셀 기본 차트박스플롯·히트맵·산점도 행렬 등 통계 그래프 수십 종
통계 분석함수 조합으로 제한적회귀·검정·분류·군집까지 라이브러리 한 줄
재현성버튼·매크로 중심, 과정 추적 어려움코드 = 분석 과정의 기록. 같은 코드 = 같은 결과
설치 부담없음 (엑셀에 내장)환경 필요 — 단, GPT·코랩을 쓰면 설치 없이 가능

파이썬 핵심 라이브러리 5종

파이썬이 강력한 이유는 언어 자체보다 라이브러리 생태계입니다. 데이터 분석에서는 다음 다섯 개만 알면 코드의 대부분을 읽을 수 있습니다.

라이브러리역할코드에서 보이는 모습
pandas표 데이터 처리 (엑셀의 시트 역할)pd.read_excel(), df.describe(), df.groupby()
matplotlib그래프의 기본 엔진plt.pie(), plt.boxplot(), plt.scatter()
seaborn통계 그래프를 한 줄로 (matplotlib 기반)sns.heatmap(), sns.boxplot()
scikit-learn / statsmodels회귀·분류 등 통계·머신러닝LinearRegression().fit(X, y)
openpyxl엑셀 파일 읽기/쓰기 (pandas가 내부 사용)pd.read_excel() 실행 시 자동 동원

분석 환경 3종 — 어디에서 파이썬을 돌릴 것인가

이 교재의 핵심 구도입니다. 같은 파일, 같은 분석을 세 환경에서 반복하며 차이를 몸으로 확인합니다.

환경강점한계맞는 상황
① GPT 채팅창
Code Interpreter
가장 쉬움 — 파일 첨부 + 한국어 대화. 코드를 AI가 쓰고 실행까지 해 줌.세션이 끝나면 코드·환경 소멸. 매번 다시 업로드. 외부 서버 업로드라는 보안 고려.일회성 분석, 분석 방향 탐색, 입문
② 구글 코랩
colab.research.google.com
노트북이 Drive에 영구 저장 — 다음 달 같은 분석을 재실행. 예약 실행 등 자동화 여지. Google 인프라 기반의 보안·운영 신뢰성.인터넷 필수, 세션 머신은 휘발성(파일 재업로드 또는 Drive 마운트). 일부 패키지 제약.반복되는 정기 분석, 팀과 노트북 공유
③ 로컬 파이썬
Python + Jupyter
데이터가 PC 밖으로 나가지 않음(확실한 보안). 패키지·라이브러리 제약 없음. 사내망 데이터도 분석 가능.설치·환경 관리 필요. PC 사양에 의존.민감 데이터, 고급 패키지, 상시 업무화
판단 기준 한 줄. "이 데이터가 회사 밖으로 나가도 되는가?" — 안 되면 ③ 로컬. 되면 "다음에 또 할 분석인가?" — 또 하면 ② 코랩, 한 번이면 ① GPT 채팅창. 어떤 환경이든 분석 코드는 동일한 파이썬이므로, GPT가 짜 준 코드를 코랩·로컬로 그대로 가져갈 수 있습니다.
재무 실무 연결

재무 데이터는 대개 외부 반출이 금지됩니다. 그래서 이 환경 선택이 특히 중요합니다 — 실제 거래처·계좌·단가가 든 원본은 ③ 로컬(또는 사내 승인 환경)에서 분석하고, 학습·탐색은 가명화·치환한 샘플로 ①·②를 쓰는 식으로 나눕니다. "코드는 어디서나 같다"는 점이 핵심입니다 — GPT로 방법을 익히고, 실데이터는 로컬에서 같은 코드로 돌립니다.

사례

환경 ① GPT 채팅창

재무 · 재무제표 분석

학습 안내직접 실행. 실습 재무제표를 ChatGPT에 첨부하고 아래 프롬프트 ①~⑤를 순서대로 실행하십시오. 각 프롬프트 아래에 GPT가 실제로 내놓는 설명·표·그래프·코드를 함께 실었습니다 — 여러분의 결과와 비교하며 진행하십시오(수치는 같아야 하고, 문장과 색은 달라도 됩니다).

실습 데이터 — ㈜한빛정밀 3개년 재무제표

가상의 코스닥 상장 제조업체 ㈜한빛정밀(정밀부품 제조, 12월 결산)의 제12기~제14기(2023~2025) 재무제표입니다. 재무상태표 · 손익계산서 · 현금흐름표 3개 시트로 구성되고, 계정과목은 실제 공시 수준으로 상세합니다(단위: 백만원). CFO가 매달 마주하는 바로 그 데이터 — "성장하고 있는가, 남는 장사인가, 버틸 체력은 있는가"가 분석 질문입니다.

프롬프트 ① 재무제표 파악 — 데이터부터 확인한다

재무제표 파악 (파일 첨부 후)
첨부한 엑셀 파일은 우리 회사(코스닥 상장 제조업)의 3개년 재무제표야. 1) 시트 구성과 각 시트의 주요 항목을 파악해서 정리해줘 2) 매출액·영업이익·당기순이익·자산총계·부채총계·자본총계로 3개년 요약표를 만들어줘 3) 이 회사의 눈에 띄는 특징 3가지를 알려줘
GPT 응답 ① — 파일 구조 파악과 요약

파일을 확인했습니다. 재무상태표(계정 40여 개) · 손익계산서(판관비 12개 세부 항목 포함) · 현금흐름표(간접법)의 3개 시트이고, 각 시트 위 3행은 제목·회사명·단위(백만원) 표시입니다. 2023~2025 3개년이 나란히 들어 있습니다. 핵심 항목 요약은 다음과 같습니다.

구분 (백만원)202320242025
매출액68,40076,30089,200
영업이익4,2415,6467,940
당기순이익2,9263,9145,450
자산총계60,91670,40584,485
부채총계24,53030,58539,815
자본총계36,38639,82044,670

눈에 띄는 특징 3가지 — ① 성장 가속: 매출이 +11.5% → +16.9%로 증가 폭이 커지고, 영업이익은 그보다 훨씬 빠르게 늡니다(+33.1% → +40.6%). ② 수익성 개선: 영업이익률이 6.2% → 8.9%로 뚜렷이 좋아졌습니다. ③ 차입 확대: 총차입금이 14,000 → 25,800백만원으로 늘고 유형자산도 +13,300백만원 — 설비 확장 투자를 차입으로 조달한 모습입니다.

프롬프트 ② 지표 계산 — 성장성·수익성·안정성을 표로

지표 계산 요청
이 재무제표로 다음 지표를 계산해서 영역별로 표 3개를 만들어줘. 각 표 아래에 CFO 관점의 해석을 2줄씩 붙여줘. 1) 성장성: 매출액·영업이익·순이익·총자산 증가율 2) 수익성: 매출총이익률·영업이익률·순이익률·ROA·ROE 3) 안정성: 유동비율·부채비율·자기자본비율·이자보상배율
GPT 응답 ② — 영역별 지표 표 3개와 해석

성장성 지표 — 증가율은 전년 대비라 2024·2025년만 계산됩니다.

성장성 (%)20242025
매출액증가율+11.5+16.9
영업이익증가율+33.1+40.6
순이익증가율+33.8+39.2
총자산증가율+15.6+20.0

해석: 성장이 가속 중이고, 이익 증가율이 매출 증가율을 크게 웃돕니다 — 매출이 늘수록 이익이 더 빠르게 느는 영업레버리지가 작동하고 있습니다. 총자산도 20% 늘어 성장 투자가 병행되고 있습니다.

수익성 지표 — ROA·ROE는 기말잔액 기준입니다.

수익성 (%)202320242025
매출총이익률24.025.126.3
영업이익률6.27.48.9
순이익률4.35.16.1
ROA(총자산순이익률)4.85.66.5
ROE(자기자본순이익률)8.09.812.2

해석: 매출원가율이 76.0% → 73.7%로 내려가며 매출총이익률부터 ROE까지 전 단계 이익률이 우상향입니다. ROE 12.2%는 주주 자본을 굴리는 효율이 3년 새 1.5배가 됐다는 뜻입니다.

안정성 지표

안정성202320242025
유동비율 (%)202.8195.3182.8
부채비율 (%)67.476.889.1
자기자본비율 (%)59.756.652.9
이자보상배율 (배)6.87.26.9

해석: 모든 지표가 아직 안전권(유동비율 180%대, 부채비율 100% 미만)이지만, 방향은 3년 연속 약화 — 설비투자용 차입 증가 때문입니다. 이자보상배율 6.9배로 상환 능력은 충분하나, 금리와 업황 변동에 대비해 추이를 모니터링할 필요가 있습니다.

프롬프트 ③ 시각화 — 경영진 보고용 그래프 4종

시각화 요청
이 분석을 경영진 보고용 그래프 4개로 시각화해줘. 각 그래프 아래에 "읽는 법"을 2줄씩 덧붙여줘. 1) 매출액·영업이익 3개년 추이 2) 수익성 지표(이익률·ROE) 추이 3) 안정성 지표(유동비율·부채비율·자기자본비율) 추이 4) 현금흐름표의 활동별(영업·투자·재무) 추이

아래는 실제로 이 재무제표에서 만들어지는 결과 그래프와 GPT가 덧붙이는 "읽는 법"입니다. 여러분의 결과도 같은 수치가 나와야 합니다(색·폰트는 달라도 됩니다).

매출액·영업이익 3개년 추이 막대그래프
결과 ① 성장성 — 매출 68,400 → 89,200백만원. 영업이익은 4,241 → 7,940으로 매출보다 가파르다. 막대의 기울기 차이가 곧 영업레버리지다.
수익성 지표 추이 선그래프
결과 ② 수익성 — 네 선이 모두 우상향. 매출총이익률(26.3%)의 개선이 영업이익률(8.9%)·ROE(12.2%)로 이어지는 구조를 본다.
안정성 지표 추이 묶은 막대그래프
결과 ③ 안정성 — 유동비율 203→183%, 부채비율 67→89%. 수치는 안전권이나 3년 연속 같은 방향 — "좋지만 나빠지는 중"을 읽어야 한다.
활동별 현금흐름 추이 막대그래프
결과 ④ 현금흐름 — 영업(+)·투자(−)·재무(+)는 전형적인 확장기 패턴. 2025년 투자 −11,465를 영업 6,835와 차입(재무 +6,500)으로 감당했다.

프롬프트 ④ 대화의 마무리 1 — 분석 코드를 코랩용으로 받아낸다

여기까지는 채팅 세션이 끝나면 사라지는 일회성 분석입니다. 이 대화의 진짜 산출물은 지금부터 — 같은 분석을 언제든 다시 돌릴 수 있도록 코드를 자산으로 받아냅니다.

코랩용 코드 요청
지금까지 만든 표와 그래프를 구글 코랩에서 그대로 재현하고 싶어. 1) 코랩에서 위에서부터 차례대로 실행할 수 있게 셀 단위로 코드를 정리해줘 2) 엑셀 파일은 코랩에 직접 업로드하는 방식으로 해줘 3) 그래프의 한글이 깨지지 않게 폰트 설정도 포함해줘
GPT 응답 ④ — 코랩용 셀 12개 (순서대로 실행)

아래 12개 셀을 코랩 노트북에 순서대로 붙여넣어 실행하면 지금까지의 표 4개와 그래프 4종이 그대로 재현됩니다. 먼저 준비 3개 셀 — 폰트, 업로드, 데이터 읽기입니다. 셀 2를 실행하면 나타나는 [파일 선택] 버튼으로 재무제표 엑셀을 업로드하세요.

코랩 셀 1 — 한글 폰트 설치
# 한글 폰트 설치 — 그래프 한글이 깨지지 않게 나눔고딕을 설치한다
!apt-get -qq install fonts-nanum > /dev/null
import matplotlib.font_manager as fm
import matplotlib.pyplot as plt
fm.fontManager.addfont("/usr/share/fonts/truetype/nanum/NanumGothic.ttf")
plt.rcParams["font.family"] = "NanumGothic"
plt.rcParams["axes.unicode_minus"] = False
print("폰트 설정 완료")
코랩 셀 2 — 재무제표 엑셀 업로드
# 재무제표 엑셀 파일 업로드 — 실행하면 나오는 [파일 선택] 버튼으로
# 한빛정밀_재무제표_2023-2025.xlsx 를 선택한다
from google.colab import files
uploaded = files.upload()
FILE = list(uploaded)[0]          # 업로드한 파일 이름
print("업로드 완료:", FILE)

재무제표 시트는 위 3행이 제목·단위 표시라서 header=3으로 읽고, 계정과목의 들여쓰기 공백은 strip으로 제거해 이름만으로 조회할 수 있게 만듭니다.

코랩 셀 3 — 3개 시트 읽기
# 재무제표 3개 시트 읽기 — 제목 3행을 건너뛰고(header=3) 계정과목을 인덱스로 쓴다
import pandas as pd

Y = [2023, 2024, 2025]            # 분석 대상 3개년

def load_sheet(name):
    df = pd.read_excel(FILE, sheet_name=name, header=3, index_col=0)
    df.index = df.index.astype(str).str.strip()   # 계정과목의 들여쓰기 공백 제거
    return df

bs = load_sheet("재무상태표")
pl = load_sheet("손익계산서")
cf = load_sheet("현금흐름표")
print("재무상태표", bs.shape, "| 손익계산서", pl.shape, "| 현금흐름표", cf.shape)

다음은 표 5개 셀 — 요약표, 지표 계산에 쓸 값 꺼내기, 그리고 성장성·수익성·안정성 표입니다.

코랩 셀 4 — 3개년 핵심 요약표
# 3개년 핵심 요약표 — 손익계산서·재무상태표에서 여섯 항목을 뽑아 하나로 합친다
요약 = pd.concat([pl.loc[["매출액", "영업이익", "당기순이익"], Y],
                  bs.loc[["자산총계", "부채총계", "자본총계"], Y]])
요약.style.format("{:,.0f}")
코랩 셀 5 — 지표 계산에 쓸 값 꺼내기
# 지표 계산에 쓸 값 꺼내기 — 계정과목 이름으로 조회한다
매출액     = pl.loc["매출액", Y]
매출총이익 = pl.loc["매출총이익", Y]
영업이익   = pl.loc["영업이익", Y]
당기순이익 = pl.loc["당기순이익", Y]
금융비용   = pl.loc["금융비용", Y]
자산총계   = bs.loc["자산총계", Y]
부채총계   = bs.loc["부채총계", Y]
자본총계   = bs.loc["자본총계", Y]
유동자산   = bs.loc["유동자산", Y]
유동부채   = bs.loc["유동부채", Y]
print("값 준비 완료")
코랩 셀 6 — 성장성 지표 표
# 성장성 지표 — 전년 대비 증가율(%)
성장성 = pd.DataFrame({
    "매출액증가율":   매출액.pct_change() * 100,
    "영업이익증가율": 영업이익.pct_change() * 100,
    "순이익증가율":   당기순이익.pct_change() * 100,
    "총자산증가율":   자산총계.pct_change() * 100,
}).T[Y[1:]].round(1)              # 2023년은 전년 자료가 없어 제외
성장성
코랩 셀 7 — 수익성 지표 표
# 수익성 지표(%) — ROA·ROE는 기말잔액 기준
수익성 = pd.DataFrame({
    "매출총이익률": 매출총이익 / 매출액 * 100,
    "영업이익률":   영업이익 / 매출액 * 100,
    "순이익률":     당기순이익 / 매출액 * 100,
    "ROA(총자산순이익률)":   당기순이익 / 자산총계 * 100,
    "ROE(자기자본순이익률)": 당기순이익 / 자본총계 * 100,
}).T.round(1)
수익성
코랩 셀 8 — 안정성 지표 표
# 안정성 지표 — 유동비율·부채비율·자기자본비율(%), 이자보상배율(배)
안정성 = pd.DataFrame({
    "유동비율":     유동자산 / 유동부채 * 100,
    "부채비율":     부채총계 / 자본총계 * 100,
    "자기자본비율": 자본총계 / 자산총계 * 100,
    "이자보상배율(배)": 영업이익 / 금융비용,
}).T.round(1)
안정성

마지막으로 그래프 4개 셀입니다. 하나의 셀이 그래프 하나를 그립니다 — 필요한 그래프만 골라 다시 실행할 수 있습니다.

코랩 셀 9 — 그래프① 매출액·영업이익 추이
# 그래프① 성장성 — 매출액·영업이익 추이
x = [str(y) for y in Y]
fig, ax = plt.subplots(1, 2, figsize=(10, 4))
ax[0].bar(x, 매출액, color="#2a78d6", width=0.55)
ax[0].set_title("매출액 추이 (백만원)")
ax[1].bar(x, 영업이익, color="#008300", width=0.55)
ax[1].set_title("영업이익 추이 (백만원)")
for a, v in zip(ax, [매출액, 영업이익]):
    for i, val in enumerate(v):
        a.text(i, val, f"{val:,.0f}", ha="center", va="bottom", fontsize=10)
    a.set_ylim(0, max(v) * 1.18)
    a.spines[["top", "right"]].set_visible(False)
plt.tight_layout()
plt.show()
코랩 셀 10 — 그래프② 수익성 지표 추이
# 그래프② 수익성 — 이익률·ROE 추이
x = [str(y) for y in Y]
지표색 = {"매출총이익률": "#2a78d6", "영업이익률": "#008300",
          "순이익률": "#e87ba4", "ROE(자기자본순이익률)": "#eda100"}
plt.figure(figsize=(8, 4.5))
for 지표, 색 in 지표색.items():
    plt.plot(x, 수익성.loc[지표], marker="o", color=색, label=지표)
    plt.text(2.06, 수익성.loc[지표, Y[-1]], f"{수익성.loc[지표, Y[-1]]}%",
             color=색, va="center", fontweight="bold")
plt.xlim(-0.3, 2.75)
plt.title("수익성 지표 추이 (%)")
plt.legend(loc="upper left", frameon=False)
plt.gca().spines[["top", "right"]].set_visible(False)
plt.tight_layout()
plt.show()
코랩 셀 11 — 그래프③ 안정성 지표 추이
# 그래프③ 안정성 — 유동비율·부채비율·자기자본비율
import numpy as np

x = [str(y) for y in Y]
지표3 = ["유동비율", "부채비율", "자기자본비율"]
색3 = ["#2a78d6", "#008300", "#e87ba4"]
pos = np.arange(len(Y))
w = 0.26
plt.figure(figsize=(8, 4.5))
for i, (지표, 색) in enumerate(zip(지표3, 색3)):
    vals = 안정성.loc[지표, Y]
    plt.bar(pos + (i - 1) * w, vals, width=w - 0.03, color=색, label=지표)
    for p, v in zip(pos + (i - 1) * w, vals):
        plt.text(p, v, f"{v:.0f}", ha="center", va="bottom", fontsize=9)
plt.xticks(pos, x)
plt.ylim(0, 안정성.loc[지표3].to_numpy().max() * 1.15)
plt.title("안정성 지표 추이 (%)")
plt.legend(frameon=False, ncol=3)
plt.gca().spines[["top", "right"]].set_visible(False)
plt.tight_layout()
plt.show()
코랩 셀 12 — 그래프④ 활동별 현금흐름 추이
# 그래프④ 현금흐름 — 3개 활동별 현금흐름 추이
import numpy as np

x = [str(y) for y in Y]
활동 = ["영업활동현금흐름", "투자활동현금흐름", "재무활동현금흐름"]
색4 = ["#2a78d6", "#008300", "#e87ba4"]
pos = np.arange(len(Y))
w = 0.26
plt.figure(figsize=(8, 4.5))
for i, (이름, 색) in enumerate(zip(활동, 색4)):
    vals = cf.loc[이름, Y]
    plt.bar(pos + (i - 1) * w, vals, width=w - 0.03, color=색, label=이름[:4])
    for p, v in zip(pos + (i - 1) * w, vals):
        plt.text(p, v, f"{v:,.0f}", ha="center",
                 va="bottom" if v >= 0 else "top", fontsize=9)
plt.xticks(pos, x)
plt.axhline(0, color="#666666", linewidth=0.8)
plt.margins(y=0.15)
plt.title("활동별 현금흐름 추이 (백만원)")
plt.legend(frameon=False, ncol=3)
plt.gca().spines[["top", "right"]].set_visible(False)
plt.tight_layout()
plt.show()

프롬프트 ⑤ 대화의 마무리 2 — 로컬 주피터용 로딩 코드

주피터용 로딩 코드 요청
보안상 회사 PC의 주피터 노트북에서도 같은 분석을 돌리고 싶어. 제일 앞의 폰트 설정과 엑셀 파일 로딩 부분만 내 로컬 주피터 노트북에서 실행하는 기준으로 다시 써줘. 나머지 셀은 그대로 쓸 거야.
GPT 응답 ⑤ — 주피터용은 앞 두 셀만 교체

로컬에서는 두 가지가 달라집니다 — ① 윈도우에 '맑은 고딕' 폰트가 이미 있으므로 설치가 필요 없고, ② 파일이 이미 내 PC에 있으므로 업로드 대신 경로만 지정하면 됩니다. 코랩 셀 1·2를 아래 두 셀로 바꾸고, 셀 3부터 12까지는 수정 없이 그대로 실행하세요.

주피터 셀 1 — 한글 폰트 설정 (코랩 셀 1 대체)
# 한글 폰트 설정 — 윈도우 기본 폰트 '맑은 고딕'을 쓰므로 설치가 필요 없다
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "Malgun Gothic"
plt.rcParams["axes.unicode_minus"] = False
print("폰트 설정 완료")
주피터 셀 2 — 재무제표 파일 지정 (코랩 셀 2 대체)
# 재무제표 엑셀 파일 지정 — 노트북(.ipynb)과 같은 폴더에 엑셀 파일을 둔다
# 다른 폴더에 있다면 전체 경로를 적는다 (예: r"C:\재무자료\한빛정밀_재무제표_2023-2025.xlsx")
FILE = "한빛정밀_재무제표_2023-2025.xlsx"
print("분석 대상:", FILE)

이것이 "코드는 어디서나 같다"의 실체입니다 — 환경이 바뀔 때 손대는 곳은 폰트와 파일을 가져오는 방법뿐, 분석 코드는 한 글자도 바뀌지 않습니다.

결과가 교재와 다르게 나오면. GPT는 같은 질문에도 표현·코드 스타일이 매번 조금씩 다릅니다 — 수치가 같으면 정상입니다. 수치가 다르면 "OO 지표를 어떤 산식으로 계산했는지 보여줘"라고 물어 산식부터 확인하십시오(예: ROE의 기말잔액 기준 vs 평균잔액 기준). 산식 확인 습관이 AI 재무 분석의 안전벨트입니다.
이 환경의 한계를 기억하십시오. 지금의 분석 코드와 실행 환경은 채팅 세션이 끝나면 사라집니다 — 그래서 프롬프트 ④·⑤로 코드를 받아낸 것입니다. 또한 파일이 외부 서버에 업로드되므로 보안 판정이 먼저입니다. 공시된 재무제표는 이미 공개 정보라 부담이 적지만, 내부 관리회계·원가·거래처 데이터는 회사 보안 정책(외부 업로드 가능 여부·가명화)이 그대로 적용됩니다.
사례

환경 ② 구글 코랩

재무 · 재무제표 분석

학습 안내직접 실행(무료). 구글 계정만 있으면 됩니다. 환경 ①의 프롬프트 ④에서 받은 셀 12개를 코랩에 붙여넣어 실행해, "같은 코드가 다른 환경에서 그대로 돈다"는 것과 "노트북이 Drive에 저장된다"는 것 두 가지를 확인하십시오.

GPT 채팅창 분석과 무엇이 다른가

장점 1코드의 영구 저장

노트북(.ipynb)이 구글 Drive에 저장됩니다. 다음 분기 결산 후 같은 분석은 노트북을 열어 재실행 한 번 — 채팅을 처음부터 다시 할 필요가 없습니다. 코드+설명+결과가 한 문서에 남아 팀 공유·인수인계 자료가 됩니다.

장점 2재실행과 자동화 가능성

재무제표 파일만 바꿔 끼우면 전체 분석이 그대로 반복됩니다. 셀 단위 실행으로 분석 과정을 통제할 수 있고, Drive 마운트·예약 실행과 결합하면 정기 리포트 자동화의 출발점이 됩니다.

장점 3Google 인프라의 신뢰성

기업 환경에서 OpenAI 업로드는 막혀 있어도 Google Workspace는 허용된 곳이 많습니다. 데이터가 회사가 이미 신뢰 관계를 맺은 Google 계정·Drive 권한 체계 안에서 관리된다는 점이 도입 설득에 유리합니다.

따라하기 — 코랩에서 같은 분석 재현

  1. colab.research.google.com 접속 → 새 노트북.
  2. 프롬프트 ④에서 받은 셀 1~12를 순서대로 붙여넣어 실행한다. 셀 2 실행 시 [파일 선택] 버튼으로 한빛정밀_재무제표_2023-2025.xlsx를 업로드한다.
  3. 표 4개·그래프 4종이 GPT 채팅창의 결과와 같은 수치인지 확인한다.
  4. 파일 → 저장. Drive의 "Colab Notebooks" 폴더에 노트북이 저장된 것을 확인한다.

붙여넣기가 번거로우면 아래 완성 노트북을 내려받아 코랩의 파일 → 노트북 업로드로 열어도 됩니다 — 셀 구성은 프롬프트 ④의 응답과 동일합니다.

코드를 직접 쓰지 않아도 됩니다. 코랩에도 Gemini 기반 AI 코딩이 내장되어 있고, 막히면 GPT에 "코랩에서 ○○하려는데 이 오류가 났다"고 물으면 됩니다. 핵심은 코드를 외우는 것이 아니라 실행 환경을 옮길 줄 아는 것입니다.
사례

환경 ③ 로컬 파이썬

재무 · 보안 중시

학습 안내설치 + 실행. 설치 권한이 있는 PC라면 아래 4단계로 환경을 만들고, 제공된 주피터용 완성 노트북을 열어 실행해 보십시오. 설치가 어려운 환경이면 읽고 넘어가도 됩니다 — 통합 실습은 환경 ①·②만으로 가능합니다.

코랩과 무엇이 다른가

장점 1확실한 보안

데이터가 내 PC 밖으로 한 발짝도 나가지 않습니다. 내부 관리회계·원가·거래처·계좌처럼 외부 업로드가 금지된 재무 데이터도 분석할 수 있는 유일한 환경입니다. 사내망 DB 연결도 가능합니다.

장점 2패키지·라이브러리 무제한

코랩에 없는 전문 패키지(사내 전용 라이브러리, 특수 통계·시뮬레이션 도구, 한글 형태소 분석기 등)를 pip install로 자유롭게 설치합니다. 버전 고정으로 재현성도 완전히 통제됩니다.

설치 4단계 — 파이썬과 주피터 노트북

단계할 일방법
1파이썬 설치python.org/downloads에서 최신 버전 설치. 설치 첫 화면에서 "Add Python to PATH" 체크가 가장 중요합니다.
2설치 확인명령 프롬프트(cmd)에서 python --version 입력 — 버전이 출력되면 성공.
3라이브러리 설치pip install jupyter pandas matplotlib seaborn scikit-learn openpyxl 한 줄 실행.
4주피터 노트북 실행데이터가 있는 폴더에서 jupyter notebook 입력 → 브라우저가 열리면 New → Notebook. 코랩과 똑같은 셀 인터페이스입니다.

따라하기 — 로컬에서 같은 분석 재현

  1. 위 완성 노트북을 내려받아, 환경 ①에서 받은 재무제표 엑셀 파일과 같은 폴더에 둔다.
  2. 그 폴더에서 jupyter notebook을 실행하고 노트북을 연다.
  3. 위에서부터 셀을 차례로 실행(Shift+Enter)한다 — 앞 두 셀이 프롬프트 ⑤에서 받은 로컬용 코드(맑은 고딕 폰트 + 파일 경로 지정)이고, 셀 3부터는 코랩과 완전히 같은 코드다.
  4. 표 4개·그래프 4종이 코랩과 동일하게 나오는지 확인한다.
설치 오류는 AI에게. PATH 미설정, pip 인식 불가, 권한 오류가 가장 흔합니다. 오류 메시지 전체를 복사해 "windows에서 파이썬 설치 중 이 오류가 났다"고 질문하십시오.
실습

통합 실습

재무 · 재무제표 분석

학습 안내산출. 환경 ①은 필수, ②·③ 중 하나 이상을 골라 같은 분석을 재현합니다. 완료 기준: 표 4개(요약+지표 3표)와 그래프 4종(성장성·수익성·안정성·현금흐름)이 두 환경에서 모두 나오고, 아래 산출물 체크 3건이 채워지면 통과.

달성 목표
㈜한빛정밀 3개년 재무제표에 대해 ① GPT 채팅창에서 대화로 분석 → ② 그 코드를 코랩 또는 로컬로 옮겨 재실행까지 완주한다. "AI에게 분석을 시키고, 그 결과(코드)를 재사용 가능한 자산으로 옮기는" 이 흐름이 이 교재 전체의 결론이다.
최종 산출물 체크 — 3건
#산출물완료 기준
1표 4개 + 그래프 4종 (두 환경 각각)요약표·성장성·수익성·안정성 표와 그래프 4종이 교재 샘플과 같은 수치
2지표 해석 메모 3줄성장성·수익성·안정성 각 1줄씩 본인 문장으로 정리됨 (예: "부채비율 상승은 증설 차입 때문 — 이자보상배율로 감내 가능 판단")
3저장된 분석 자산코랩이면 Drive의 .ipynb, 로컬이면 폴더의 .ipynb — 다음 결산 때 파일만 바꿔 재실행 가능한 상태

실습 순서

  1. 환경 ①: 재무제표를 첨부하고 프롬프트 ①~③을 실행한다. 표·그래프를 교재 샘플과 비교한다.
  2. 프롬프트 ④·⑤로 코랩용 셀 12개와 주피터용 로딩 셀 2개를 받아낸다.
  3. 환경 ② 또는 ③: 받은 코드를 순서대로 실행해 같은 표·그래프를 재현한다.
  4. 산출물 체크 3건을 확인하고, 두 환경의 체감 차이(편의성·속도·저장)를 한 줄로 메모한다.
재무 실무 연결

이 실습의 파일을 우리 회사 재무제표로 바꾸면 그대로 월간·분기 경영보고 분석이 됩니다. 순서도 동일합니다 — 시트 구성만 비슷하게 맞추고 노트북을 재실행하면 표·그래프가 새 숫자로 다시 나옵니다. 단, 시작 전에 보안 판정부터: 공시된 재무제표는 공개 정보라 업로드 부담이 적지만, 내부 관리회계·사업부별 손익·원가 데이터는 로컬 환경(환경 ③)에서 같은 코드로 분석하십시오.

실습

부록 · 더 해보기

학습 안내선택 · 부록. 학습이 빠른 분을 위한 추가 미션입니다. 관심 가는 것 1개만 골라 진행해도 충분합니다.

MISSION 1지표 확장 — 활동성과 현금흐름의 질

GPT에 ① "총자산회전율·재고자산회전율·매출채권회수기간을 계산해 활동성 표를 추가해줘" ② "영업활동현금흐름을 영업이익·당기순이익과 비교해 이익의 질을 평가해줘"를 요청해 보십시오. 재무에서는 활동성 지표가 곧 운전자본 관리(재고·채권에 잠긴 현금 찾기), 현금흐름 대비 이익 비교가 이익의 질 분석이 됩니다.

MISSION 2내 회사(또는 경쟁사) 재무제표로 전환

전자공시시스템(DART)에서 동종 상장사의 사업보고서 재무제표를 받아, 같은 프롬프트·같은 노트북으로 분석해 보십시오. 파일만 바꿔 끼우는 훈련이 이 교재의 목적입니다. 자기 회사 데이터를 쓸 때는 시작 전에 ① 외부 업로드 가능 여부 판정 ② 불가하면 로컬 환경(환경 ③) 사용 — 보안 판정 자체가 이 미션의 절반입니다.

MISSION 3분석 결과를 보고서·자동화로 연결

완성한 표·그래프를 경영 보고서·PPTX에 삽입하고, 더 나아가 "분기마다 갱신되는 재무제표 파일을 코랩 노트북으로 분석 → 결과 차트를 메일로 발송"하는 흐름을 설계해 보십시오.

과정 정리
  • VBA로 가능한 분석(집계·차트·KPI)과 파이썬이 필요한 분석(지표 일괄 계산·통계·고급 시각화)을 구분할 수 있다
  • pandas·matplotlib·seaborn·scikit-learn의 역할을 한 줄씩 설명할 수 있다
  • 3개년 재무제표를 GPT 채팅창과 코랩(또는 로컬 주피터)에서 동일하게 분석해 보았다
  • 성장성·수익성·안정성 지표 표와 활동별 현금흐름 그래프를 읽고 CFO 관점으로 해석할 수 있다
  • 보안·저장·자동화 기준으로 세 분석 환경 중 업무에 맞는 것을 고를 수 있다