[파이썬] 데이터 시각화로 풀어보는 영화 '호프'의 손익분기점(BEP) 알고리즘
1. 도입부영화 한 편이 개봉했을 때 "손익분기점이 몇 만 명이다"라는 기사를 자주 보게 됩니다. 하지만 티켓값 11,000원에서 극장과 배급사가 나눠 가지는 정산 공식을 직접 코드로 구현해 본 적은 많지 않으실 텐데요.파이썬의 대표적인 웹 프레임워크인 Streamlit과 시각화 라이브러리 Plotly를 활용해 누구나 쉽게 이해할 수 있는 실시간 정산 시뮬레이터를 만들어 보았습니다.2. 핵심 코드가독성을 위해 핵심 흐름만 요약했으며, 전체 예외 처리 및 상세 코드는 깃허브를 참고해 주세요.Pythonimport streamlit as st # 외부 연동 예외 처리 (안정적인 서비스 구동) try: from tracker_hub import log_app_usage log_app_usage("movie_bep_calculator", "inflearn_view") except Exception: pass st.title("🎬 나만의 영화 BEP 계산기") # 1. 수치 입력받기 net_cost = st.number_input("순제작비 (억원)", value=500) pa_cost = st.number_input("마케팅비 (억원)", value=100) pre_sales = st.number_input("선판매/OTT 수입 (억원)", value=300) # 2. 정산 공식 계산 net_budget = (net_cost + pa_cost) - pre_sales effective_ticket_price = 11000 * 0.87 * 0.5 # 세금 공제 후 5:5 정산 bep_audience = (net_budget * 100000000) / effective_ticket_price / 10000 # 3. 결과 출력 st.subheader(f"💡 필요 관객수: 약 {round(bep_audience, 1)}만 명") 3. 명령어 친절한 해부title 및 subheader: 웹 페이지의 타이틀과 섹션 제목을 직관적인 마크다운 크기로 출력해 주는 텍스트 함수입니다.number_input: 사용자가 숫자를 키보드로 직접 치거나 버튼을 눌러 올리고 내릴 수 있게 돕는 실용적인 입력 위젯입니다.4. 토이 프로젝트 적용 팁예외 처리를 통한 서비스 안정성: 외부 서버 통신 로직을 try-except로 감싸두면, 통신 문제나 외부 API 오류가 발생하더라도 메인 웹 화면이 다운되지 않고 정상 구동되는 실무 대처법을 배울 수 있습니다.데이터 변수 시뮬레이션: 수식을 개별 변수로 나누어 놓으면 티켓 가격이나 세율 변경 시에도 코드 수정 없이 유연하게 정산 결과를 비교할 수 있습니다.5. 마무리 소통 및 영상 안내직접 구현해 보시다가 궁금한 점이나 추가하고 싶은 기능이 있다면 질문 댓글을 적극 활용해 주세요!실제 동작하는 꿀잼 시연 영상은 유튜브 '잡학다식 개발자' 채널에서 확인해 보실 수 있습니다. 💻 소스코드 및 실행 링크유튜브 영상 : https://youtu.be/02iZ8k61PYI워드프레스(뉴스): https://gohard.pe.kr/GitHub 소스코드: https://github.com/gohard-lab/movie_bep_calculator실행 URL: https://moviebepcalculator-77dp957j9snypavp86bgsb.streamlit.app/