[파이썬] `bokeh` 활용 사례 및 비즈니스 응용

Bokeh는 파이썬 기반의 데이터 시각화 도구로, 웹 기반의 인터랙티브 차트와 그래프를 만들 수 있습니다. 이를 통해 데이터 과학자나 비즈니스 전략가는 데이터를 시각적으로 표현하고, 인사이트를 도출하여 결정을 내리는 데 도움을 받을 수 있습니다. 이 글에서는 Bokeh의 활용 사례와 비즈니스 응용 방법을 살펴보겠습니다.

1. 데이터 시각화

Bokeh를 사용하면 다양한 유형의 데이터를 시각적으로 표현할 수 있습니다. 예를 들어, 주식 시장에서 주가의 움직임을 표현하기 위해 캔들차트를 그릴 수 있습니다. Bokeh는 HTML, 자바스크립트, CSS를 사용하여 인터랙티브 차트를 만들기 때문에, 사용자는 차트를 확대/축소하거나, 마우스로 원하는 데이터 포인트를 선택하는 등의 상호작용이 가능합니다.

from bokeh.plotting import figure, show

# 데이터 생성
dates = [...]  # 날짜 데이터
price_open = [...]  # 시가 데이터
price_close = [...]  # 종가 데이터
price_high = [...]  # 고가 데이터
price_low = [...]  # 저가 데이터

# Bokeh figure 생성
p = figure(x_axis_type="datetime", title="Stock Prices")

# 캔들차트 그리기
p.segment(dates, price_high, dates, price_low, color="black")
p.vbar(dates, width=0.5, top=price_open, bottom=price_close, fill_color="#D5E1DD", line_color="black")

# Bokeh 차트 출력
show(p)

2. 대시보드 구축

Bokeh를 사용하여 대시보드를 구축하는 것도 가능합니다. 대시보드는 여러 데이터 소스로부터 얻은 정보를 한눈에 확인할 수 있는 시각화된 인터페이스를 제공합니다. 예를 들어, 매출 데이터, 고객 정보, 마케팅 성과 등을 함께 표시하여 비즈니스의 현재 상태를 파악할 수 있습니다.

from bokeh.layouts import gridplot
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, show
from bokeh.io import curdoc

# 데이터 생성
sales_data = [...]  # 매출 데이터
customer_data = [...]  # 고객 데이터
campaign_data = [...]  # 마케팅 성과 데이터

# Bokeh figure 생성
sales_figure = figure(...)
customer_figure = figure(...)

# ColumnDataSource 생성
source = ColumnDataSource(data=dict(sales=sales_data, customers=customer_data, campaign=campaign_data))

# 데이터 표시
sales_figure.line(...)
customer_figure.bar(...)

# 대시보드 레이아웃 구성
grid = gridplot([[sales_figure, None], [customer_figure, None]], plot_width=400, plot_height=400)

# Bokeh 대시보드 출력
curdoc().add_root(grid)

3. 비즈니스 응용

Bokeh를 사용하여 비즈니스 문제에 대한 시각화 솔루션을 개발할 수 있습니다. 예를 들어, 고객의 구매 이력 데이터를 기반으로 세분화된 타겟 그룹을 파악하고, 이를 통해 개인화된 마케팅 전략을 수립할 수 있습니다.

from bokeh.plotting import figure, show
from bokeh.models import HoverTool
from bokeh.io import curdoc
import pandas as pd

# 데이터 로드
data = pd.read_csv("customer_purchase_history.csv")

# Bokeh figure 생성
p = figure(...)

# 데이터 표시
p.circle(x="purchase_date", y="total_purchase", source=data, size=10, color="blue")

# HoverTool 추가
hover_tool = HoverTool(tooltips=[("Customer Name", "@customer_name"), ("Total Purchase", "@total_purchase")])
p.add_tools(hover_tool)

# Bokeh 차트 출력
curdoc().add_root(p)

Bokeh를 사용하면 데이터 시각화와 대시보드 구축, 비즈니스 응용 등 다양한 분야에서 뛰어난 결과물을 얻을 수 있습니다. 충분한 데이터 분석과 효과적인 시각화를 통해 더 나은 의사 결정을 할 수 있으며, 기업의 경쟁력 향상에 기여할 수 있습니다.