비즈니스에서 KPI(핵심 성과 지표)는 성과를 측정하고 목표 달성을 평가하는 중요한 요소다. 하지만 수많은 KPI 데이터를 일일이 분석하고 보고서를 작성하는 것은 시간이 많이 걸린다.
AI를 활용하면 KPI 데이터를 자동 분석하고, 시각화하며, 보고서까지 자동 생성할 수 있다. 특히 머신러닝과 자연어 처리(NLP) 기술을 사용하면 KPI 트렌드 분석 및 이상 탐지가 가능하며, 자동화된 인사이트를 도출할 수 있다.
이 글에서는 AI를 활용한 KPI 분석 및 자동 보고서 생성 방법을 단계별로 설명하겠다.
1. KPI 데이터 수집 및 전처리
KPI 데이터는 기업의 운영 시스템(ERP, CRM, Google Analytics 등)에서 수집할 수 있으며, 일반적으로 CSV 또는 데이터베이스에서 가져온다.
예제 KPI 데이터 (CSV 형식)
날짜방문자 수매출액(USD)전환율(%)고객 만족도 점수
2025-01-01
1200
5000
3.5
4.2
2025-01-02
1500
6200
4.1
4.5
2025-01-03
900
3000
3.1
3.8
2025-01-04
2000
8000
4.5
4.7
먼저, Python과 Pandas를 이용해 데이터를 불러오고 전처리한다.
python
코드 복사
import pandas as pd # CSV 파일 불러오기 df = pd.read_csv("kpi_data.csv", parse_dates=["날짜"]) # 데이터 확인print(df.head())
✅ 결과: KPI 데이터를 DataFrame으로 로드
2. KPI 분석 (트렌드 분석 및 이상 탐지)
KPI 데이터에서 중요한 트렌드를 분석하고, 이상치를 탐지해보겠다.
1) KPI 변화 추세 시각화
python
코드 복사
import matplotlib.pyplot as plt # 날짜별 매출액 변화 추이 plt.figure(figsize=(10,5)) plt.plot(df["날짜"], df["매출액(USD)"], marker="o", linestyle="-", color="blue", label="매출액") plt.xlabel("날짜") plt.ylabel("매출액 (USD)") plt.title("매출액 변화 추이") plt.legend() plt.grid() plt.show()
✅ 결과: 매출액의 일별 변화를 그래프로 확인 가능
2) 이상치 탐지 (매출 급감/급증 감지)
AI를 활용하면 KPI의 갑작스러운 변화를 자동으로 감지할 수 있다.
python
코드 복사
import numpy as np # 평균 및 표준편차 계산 mean_sales = df["매출액(USD)"].mean() std_sales = df["매출액(USD)"].std() # 이상치 기준 설정 (평균에서 ±2 표준편차 벗어나면 이상치) threshold_upper = mean_sales + (2 * std_sales) threshold_lower = mean_sales - (2 * std_sales) # 이상치 탐지 df["이상치 여부"] = df["매출액(USD)"].apply(lambda x: "이상치"if x > threshold_upper or x < threshold_lower else"정상") # 이상치 출력print(df[df["이상치 여부"] == "이상치"])
✅ 결과: 급격한 매출 변화가 발생한 날짜 자동 감지
💡 추가 가능: 머신러닝 기반 Isolation Forest, Prophet을 활용해 더 정교한 이상 탐지 가능
3. KPI 예측 (AI를 활용한 향후 매출 예측)
Facebook Prophet을 활용하면 KPI의 미래 값을 예측할 수 있다.
python
코드 복사
from prophet import Prophet # Prophet 모델을 위한 데이터 변환 df_prophet = df[["날짜", "매출액(USD)"]].rename(columns={"날짜": "ds", "매출액(USD)": "y"}) # 모델 학습 model = Prophet() model.fit(df_prophet) # 향후 30일 예측 future = model.make_future_dataframe(periods=30) forecast = model.predict(future) # 결과 시각화 model.plot(forecast) plt.title("향후 30일 매출 예측") plt.show()
✅ 결과: AI가 향후 30일 동안의 매출 예측
4. KPI 자동 보고서 생성 (AI 기반 텍스트 요약)
AI를 활용해 분석된 KPI 데이터를 자동으로 요약하는 보고서를 생성해보겠다.
1) 자동 보고서 생성 함수
python
코드 복사
defgenerate_kpi_report(df): max_sales = df["매출액(USD)"].max() min_sales = df["매출액(USD)"].min() avg_sales = df["매출액(USD)"].mean() high_sales_day = df[df["매출액(USD)"] == max_sales]["날짜"].values[0] low_sales_day = df[df["매출액(USD)"] == min_sales]["날짜"].values[0] report = f""" 📊 **KPI 자동 보고서** - 분석 기간: {df["날짜"].min()} ~ {df["날짜"].max()} - 최고 매출액: ${max_sales} (날짜: {high_sales_day}) - 최저 매출액: ${min_sales} (날짜: {low_sales_day}) - 평균 매출액: ${avg_sales:.2f} 📈 이상 탐지: - 매출 이상 발생일: {df[df["이상치 여부"] == "이상치"]["날짜"].tolist()} 💡 향후 30일 매출 예측: - AI 예측 결과 확인 필요 (상세 그래프 참고) """return report # 보고서 출력print(generate_kpi_report(df))
✅ 결과: KPI 분석 내용을 요약한 자동 보고서 생성
5. AI 기반 보고서 자동 생성 및 이메일 전송
보고서를 자동으로 생성하고, 이메일로 발송하는 기능을 추가할 수도 있다.
1) 자동 보고서 PDF 생성
python
코드 복사
from fpdf import FPDF # PDF 객체 생성 pdf = FPDF() pdf.add_page() pdf.set_font("Arial", size=12) # 보고서 내용 추가 report_text = generate_kpi_report(df) pdf.multi_cell(0, 10, report_text) # PDF 저장 pdf.output("KPI_Report.pdf") print("📄 KPI 보고서 PDF 저장 완료!")
✅ 결과: KPI 보고서를 PDF 파일로 자동 저장
2) 이메일로 보고서 자동 발송
python
코드 복사
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email import encoders # 이메일 설정 email_sender = "your_email@gmail.com" email_receiver = "manager@company.com" subject = "📊 KPI 자동 분석 보고서"# 이메일 객체 생성 msg = MIMEMultipart() msg["From"] = email_sender msg["To"] = email_receiver msg["Subject"] = subject # PDF 파일 첨부withopen("KPI_Report.pdf", "rb") as attachment: part = MIMEBase("application", "octet-stream") part.set_payload(attachment.read()) encoders.encode_base64(part) part.add_header("Content-Disposition", "attachment; filename= KPI_Report.pdf") msg.attach(part) # 이메일 전송 server = smtplib.SMTP("smtp.gmail.com", 587) server.starttls() server.login(email_sender, "your_password") server.sendmail(email_sender, email_receiver, msg.as_string()) server.quit() print("📩 이메일 전송 완료!")
✅ 결과: KPI 보고서를 PDF 파일로 변환해 이메일로 자동 발송
결론
✔ KPI 데이터 분석: 매출, 방문자 수, 전환율 등 핵심 지표 분석 ✔ AI 기반 이상 탐지: 매출 급감/급증 자동 감지 ✔ 미래 KPI 예측: AI를 활용한 향후 KPI 예측 ✔ 자동 보고서 생성: KPI 내용을 자동 요약하여 보고서 생성 ✔ 이메일 자동 발송: 분석 결과를 PDF로 변환해 이메일로 전송