← 7. 시계열

Prophet 시계열 예측

예측값뿐 아니라, 그 예측이 어디서 나왔는지도 보여줍니다.

변화점주간·연간 계절성이벤트 효과백테스팅

추세420주간 계절성+75연간 계절성-15확정된 이벤트 효과+40최종 예측값520장2026년 1월 3일 구성요소

공연장 운영팀이 향후 2주간의 티켓 판매량을 예상한다고 가정해 보겠습니다. 주말에는 판매량이 늘어나고, 특정 공연의 예매가 시작되면 평소보다 주문이 몰립니다. 반면 휴관일에는 판매량이 줄어들 수 있습니다. 이처럼 시간에 따른 장기 변화와 반복적인 패턴, 특별한 날짜의 영향이 함께 나타나는 자료를 예측하는 데 활용할 수 있는 방법이 Prophet입니다.

Prophet은 시계열을 추세, 계절성, 공휴일·이벤트 효과 등의 구성요소로 나누어 표현하는 예측 모델입니다. 각 요소가 결과에 얼마나 기여하는지 살펴볼 수 있어, 예측값뿐 아니라 예측이 만들어진 이유를 설명할 때도 유용합니다. 다만 설정만 하면 언제나 좋은 성능이 나오는 방법은 아니므로 미래에 알 수 있는 이벤트 정보와 시간순 검증이 중요합니다.

이번 글에서는 Prophet의 기본 구조와 변화점, 계절성, 이벤트 효과, 주요 설정, 예측값과 불확실성, 백테스팅 및 ARIMA·ETS와의 차이를 실제 예제로 살펴보겠습니다.

SECTION 1

Prophet은 어떤 분석 방법인가요?

Prophet은 시계열 자료의 추세와 반복 패턴을 별도로 모델링하여 미래 값을 예측합니다.

일별·주별처럼 날짜가 일정하게 기록된 자료에서 활용하기 좋으며, 매일의 변화뿐 아니라 주간 또는 연간 반복 패턴이 존재하는 데이터에 적용할 수 있습니다. 대표적인 가법 모형은 다음과 같이 표현합니다.

y(t) = g(t) + s(t) + h(t) + εt

최근 120일추세 g(t)380 ~ 420주간 계절성 s(t)-30 ~ 100연간 계절성 s(t)-50 ~ 50이벤트 효과 h(t)-240 ~ 1802025-102025-112025-12
구성요소 분해

여기서 g(t)는 추세, s(t)는 계절성, h(t)는 공휴일이나 이벤트의 효과, εt는 나머지 변동입니다. Prophet은 상황에 따라 승법 계절성도 사용할 수 있으며, 추가 회귀변수를 포함할 수도 있습니다. 각 요소를 분리해 살펴볼 수 있다는 점이 특징이지만, 구성요소의 해석이 곧 인과효과를 의미하는 것은 아닙니다.

SECTION 2

실제 사례: 공연장 티켓 판매량

한 복합 공연장이 2023년 1월 1일부터 2025년 12월 31일까지의 일별 티켓 판매량을 기록했다고 가정하겠습니다.

분석 대상은 날짜별 결제 완료 티켓 수이며, 취소·환불을 어떻게 처리했는지 기준을 통일했습니다. 운영팀은 2026년 1월의 판매 수요를 예측하여 안내 인력과 고객지원 운영계획을 세우려 합니다.

항목설정
관측 단위일별 티켓 판매량(장)
학습 자료2023-01-01~2025-11-30
최종 검증 자료2025-12-01~2025-12-31
최종 예측 대상2026-01-01~2026-01-14
반복 패턴요일별 판매 차이, 연간 계절성
특별한 날짜휴관일, 대형 공연 예매 개시일
20040060020232024202512월 검증변화점장변화점
일별 티켓 판매량

여기서 대형 공연 예매 개시일은 예측을 만드는 시점에 확정된 일정만 사용한다고 가정합니다. 아직 결정되지 않은 미래 공연 일정을 과거 결과를 보고 임의로 채우면 실제 운영 환경에서는 얻을 수 없는 정보를 사용하게 됩니다.

SECTION 3

먼저 어떤 패턴을 확인해야 하나요?

Prophet을 적용하기 전에 시계열 그래프에서 수준 변화와 계절성, 이상값을 확인하는 것이 좋습니다.

예를 들어 주말 판매량이 평일보다 높고, 연말 공연 시즌에는 전체적으로 판매가 증가할 수 있습니다. 특정 공연의 예매 개시일에는 일시적인 급증이 발생할 수도 있습니다.

이러한 현상이 모두 같은 의미는 아닙니다. 매주 되풀이되는 차이는 주간 계절성에 가깝고, 여러 달에 걸친 판매 수준의 상승이나 하락은 추세 변화로 볼 수 있습니다. 특정 날짜에만 발생하는 급증은 이벤트 효과 또는 이상값으로 검토해야 합니다. 다만 실제 운영상의 변화인지, 데이터 수집이나 기록 오류인지 먼저 확인해야 합니다.

휴관일의 판매량이 0인 경우에도 주의가 필요합니다. 온라인 예매가 휴관일에도 가능하다면 휴관일 자체가 0건을 의미하지 않기 때문입니다. 날짜 변수는 실제 판매 절차에 맞추어 정의해야 합니다.

SECTION 4

추세와 변화점(Changepoint)은 무엇인가요?

Prophet의 추세는 시간이 지나면서 판매 수준이 어떻게 변화하는지 설명합니다.

예를 들어 공연장의 인지도가 높아지면서 일평균 판매량이 점차 증가할 수 있습니다. 그러나 새로운 경쟁 공연장이 생기거나 예매 채널이 바뀌면 증가 속도가 달라질 수 있습니다.

변화점(Changepoint)은 추세의 기울기가 달라질 수 있는 시점을 의미합니다. Prophet은 기본 설정에서 학습 구간의 여러 후보 시점을 이용해 추세의 변화를 추정합니다. 변화점을 지나치게 자유롭게 허용하면 일시적인 변동까지 추세로 따라갈 수 있고, 반대로 너무 엄격하게 제한하면 실제 구조 변화에 충분히 반응하지 못할 수 있습니다.

30040050020242025작게 · 매끄럽고 둔함기본 · 구조 변화만크게 · 잔 변동까지
변화점 유연성

주요 설정인 changepoint_prior_scale은 이러한 추세 변화의 유연성을 조절합니다. 값이 크면 변화에 더 유연하게 반응할 수 있지만 과적합 위험이 커지고, 값이 작으면 더 매끄러운 추세가 추정되는 경향이 있습니다. 어느 값이 좋은지는 시간순 검증으로 비교해야 합니다.

SECTION 5

주간·연간 계절성은 어떻게 반영하나요?

계절성(Seasonality)은 일정한 주기로 반복되는 패턴입니다.

공연장 판매량에서는 주말과 평일의 차이처럼 주간 계절성이 뚜렷할 수 있고, 방학이나 연말 공연 시즌에 따른 연간 계절성도 존재할 수 있습니다.

-25+0+25+50+75+0월+10화+25수-10목+45금+75토+80일장
요일별 계절성

Prophet은 푸리에 급수(Fourier Series)를 이용해 이러한 반복 패턴을 유연하게 표현합니다. 다만 요일별 차이가 있다는 이유만으로 임의의 복잡한 계절성을 추가할 필요는 없습니다. 반복 패턴이 실제로 존재하는지, 학습 기간에 해당 주기가 충분히 포함되어 있는지 확인해야 합니다.

계절성의 크기가 판매 수준과 함께 증가한다면 가법보다 승법 계절성을 고려할 수 있습니다. 예를 들어 평소 판매량이 두 배가 되었을 때 주말 효과도 절대 장수 기준으로 커지는 구조라면 승법 방식이 적절할 가능성이 있습니다. 선택한 방식은 실제 데이터의 특성과 검증 성능을 기준으로 판단합니다.

SECTION 6

공휴일과 공연 이벤트는 어떻게 다루나요?

Prophet에서는 공휴일이나 특정 이벤트 날짜를 별도의 효과로 지정할 수 있습니다.

이를 통해 매년 반복되는 연간 계절성과 특정한 날짜의 충격을 구분해 보려는 것입니다. 이 예제에서는 공식 휴관일과 대형 공연 예매 개시일을 이벤트 목록에 포함할 수 있습니다.

upper_window = 2-3일-2일-1일+150개시일+80+1일+40+2일+3일+4일lower_window = 0
이벤트 효과의 창

예매 개시 이후 며칠간 영향이 지속된다면 lower_window와 upper_window를 이용해 날짜 전후의 기간을 설정할 수 있습니다. 다만 이러한 범위는 실제 판매 과정에 근거해야 합니다.

이벤트 유형예시확인할 점
공식 휴관일연초 시설 점검일온라인 판매도 영향을 받는가?
대형 공연 예매 개시사전 공지된 티켓 오픈일정이 예측 시점에 확정되었는가?
시즌 행사정기 공연 축제매년 같은 방식으로 반복되는가?

이벤트 계수는 다른 구성요소를 통제한 상태에서 모델이 추정한 관련 패턴입니다. 무작위 실험이나 적절한 인과적 식별 전략 없이 해당 이벤트가 판매량을 얼마만큼 증가시켰다고 단정해서는 안 됩니다.

SECTION 7

Prophet의 주요 설정은 무엇인가요?

Prophet을 사용할 때는 먼저 분석 날짜(ds)와 관측값(y)을 올바르게 구성해야 합니다.

그다음 추세, 계절성, 이벤트, 추가 회귀변수 등을 설정합니다.

설정역할실무에서의 판단
growth선형 또는 로지스틱 추세성장의 포화 수준이 실제로 존재하는가?
changepoint_prior_scale추세 변화 유연성구조 변화와 과적합의 균형
seasonality_prior_scale계절성 유연성계절 패턴이 지나치게 요동치지 않는가?
seasonality_mode가법·승법 계절성변동 폭이 수준에 따라 달라지는가?
holidays공휴일·이벤트 일정과거와 미래 일정이 정확한가?
interval_width예측구간 표시 수준80% 또는 95% 등 보고 목적

로지스틱 추세를 사용하려면 포화 상한(cap)과 필요에 따라 하한(floor)을 설정해야 합니다. 공연장의 좌석 수를 상한으로 쓰고 싶더라도 일별 판매량이 실제로 그 좌석 수에 의해 제한되는지 확인해야 합니다. 여러 공연의 미래 날짜 티켓을 같은 날 판매하는 구조라면 하루 판매량이 특정 공연장 좌석 수에 직접 제한되지 않을 수 있습니다.

또한 추가 회귀변수는 예측 기간에도 값을 확보할 수 있어야 합니다. 미래에 알 수 없는 실제 매출이나 실제 방문객 수를 예측변수로 사용하면 정보 누수가 발생합니다.

SECTION 8

예측값은 어떤 구성요소로 설명되나요?

Prophet의 구성요소 그래프에서는 추세와 계절성, 이벤트 효과를 따로 확인할 수 있습니다.

다음은 2026년 1월 3일의 예상 판매량을 단순화한 분해 예시입니다.

구성요소예상 기여(장)
추세420
주간 계절성+75
연간 계절성-15
확정된 이벤트 효과+40
최종 예측값520
420추세+75주간−15연간+40이벤트520장예측
2026년 1월 3일 구성요소

가법 모형에서는 위 값을 더하여 520장이 됩니다. 다만 이 수치는 구성요소 계산 원리를 보여주기 위해 정한 예시이며 실제 Prophet으로 학습해 얻은 출력값은 아닙니다.

구성요소별 수치는 기준 수준과 모형 설정에 따라 달라질 수 있습니다. 예를 들어 주말의 양의 계절성은 다른 요인을 고려했을 때 평일보다 판매량이 높은 패턴을 반영하지만, 주말 자체가 판매량을 인과적으로 증가시킨다는 증거는 아닙니다.

SECTION 9

실제 미래 예측표는 어떻게 읽나요?

과거 자료를 바탕으로 2026년 1월 1~14일을 예측했다고 가정하겠습니다.

아래 표는 일부 날짜를 발췌한 예시입니다.

날짜판매량 예측(장)95% 예측구간(장)
2026-01-01395290~510
2026-01-02450330~580
2026-01-03520390~665
2026-01-04485360~625
2026-01-05405295~535
2026-01-06415300~545
2026-01-07430315~560
2004006001월 3일 520장 (390~665)관측 21일2026-01-01 ~ 01-14
2026년 1월 1~14일 예측

그림의 1월 8~14일은 표에 없는 날짜로, 같은 구성요소를 이어 그린 값입니다.

예를 들어 1월 3일의 예상 판매량은 520장이며, 제시한 95% 예측구간은 390~665장입니다. 이는 모델의 가정과 불확실성 추정 절차가 적절하다는 조건 아래 해당 범위가 미래 관측값의 불확실성을 반영하도록 설계되었다는 의미입니다.

주의할 점은 Prophet의 기본 불확실성 구간이 모든 현실적 위험을 자동으로 반영하지는 않는다는 것입니다. 갑작스러운 공연 취소나 예매 시스템 장애처럼 과거에 충분히 나타나지 않은 사건까지 제대로 포괄한다고 보장할 수 없습니다. 따라서 실제 구간의 포함률은 과거 예측에 대한 백테스팅으로 확인해야 합니다.

SECTION 10

예측 성능은 어떻게 검증하나요?

시계열 예측에서는 관측값을 무작위로 섞어 학습·검증 자료를 나누는 방식이 부적절할 수 있습니다.

미래를 예측하는 상황을 재현하기 위해 과거 자료로 학습하고 이후 기간을 예측하는 순서를 지켜야 합니다.

1회차2회차3회차4회차5회차학습 구간7~14일 앞 예측시간 →MAERMSE구간 포함률
롤링 오리진 검증

이 예제에서는 2025년 12월을 최종 홀드아웃으로 남겨 두고, 그 이전 자료에서 여러 예측 시작 시점을 이동시키는 롤링 오리진(Rolling-Origin) 검증을 수행할 수 있습니다. 각 시점에서 7일 또는 14일 앞의 판매량을 예측해 성능을 비교합니다.

예측 성능은 평균절대오차(MAE), 평균제곱근오차(RMSE) 등을 활용하여 평가할 수 있습니다. MAE는 예측값이 실제 판매량과 평균적으로 몇 장 차이 나는지 보여주며, RMSE는 큰 오차에 더 큰 가중을 둡니다. 또한 95% 예측구간에 실제 값이 얼마나 포함되는지 함께 확인해야 합니다.

SECTION 11

ETS·SARIMA와 비교하면 어떤가요?

Prophet이 적절한지는 다른 예측 방법과 비교해야 판단할 수 있습니다.

아래는 같은 2025년 12월 홀드아웃을 사용해 예측한 결과입니다.

모형MAE(장)RMSE(장)
주간 계절 순진 예측6991
ETS6182
SARIMA5576
Prophet4868
주간 계절 순진 예측69장MAE91장RMSEETS61장MAE82장RMSESARIMA55장MAE76장RMSEProphet48장MAE68장RMSE
모형별 오차 비교

이 사례에서는 Prophet의 MAE와 RMSE가 가장 낮았습니다. 하지만 이는 예제에서의 결과일 뿐 모든 공연장 데이터에서 Prophet이 우수하다는 의미는 아닙니다.

ETS는 수준·추세·계절성을 평활하는 구조에서 강점을 보일 수 있고, SARIMA는 시계열의 자기상관 구조를 직접 모델링하는 데 적합합니다. Prophet은 해석 가능한 추세 변화와 여러 계절성, 일정이 알려진 이벤트를 함께 반영하는 데 편리합니다. 어떤 방법이 가장 좋은지는 예측 기간과 실제 운영 목적에 맞춰 검증해야 합니다.

SECTION 12

Prophet을 사용할 때 주의할 점

첫째, 미래 이벤트 정보의 가용성을 확인해야 합니다.

예매 개시일처럼 미래 일정이 확정되어 있다면 사용할 수 있지만, 예측 시점에 모르는 미래 이벤트를 실제 발생 결과를 보고 뒤늦게 입력하면 정보 누수가 발생합니다.

둘째, 과도한 유연성에 주의해야 합니다.

변화점이나 계절성의 자유도를 지나치게 높이면 과거 자료를 잘 설명하면서도 새로운 기간의 예측은 나빠질 수 있습니다. 시간순 검증으로 설정을 비교해야 합니다.

셋째, 휴관일과 결측 날짜를 구분해야 합니다.

판매가 실제로 0건인 날짜와 판매 기록이 누락된 날짜는 서로 다릅니다. 두 경우를 모두 0으로 처리하면 추세와 계절성을 왜곡할 수 있습니다.

넷째, 예측구간을 확정적인 상한·하한으로 해석하지 않아야 합니다.

예측구간은 모델 가정에 의존하며 특별한 운영 사고나 구조적 변화가 발생하면 실제 오차가 더 커질 수 있습니다.

다섯째, 예측과 인과분석을 구분해야 합니다.

공휴일이나 공연 이벤트에 양의 효과가 추정되더라도 다른 동시 변화가 영향을 주었을 수 있습니다. Prophet의 이벤트 효과만으로 정책이나 이벤트의 인과효과를 주장해서는 안 됩니다.

SECTION 13

Prophet 예측 결과는 어떻게 보고하나요?

Prophet 결과를 보고할 때는 관측 기간과 빈도, 결측 처리, 추세 및 계절성 설정, 이벤트 변수, 검증 설계, 오차 지표와 예측구간을 함께 제시하는 것이 좋습니다.

특히 모델을 평가한 날짜와 실제 미래 예측 날짜를 구분해야 합니다.

결과 보고 예시

공연장의 일별 티켓 판매량을 예측하기 위해 Prophet 모형을 적용하였다. 2023년 1월부터 2025년 11월까지의 자료를 학습에 사용하고 2025년 12월의 관측값을 최종 검증 자료로 분리하였다. 모형에는 주간·연간 계절성과 사전에 확인된 공연 일정 및 휴관일 효과를 포함하였다.

최종 홀드아웃 검증에서 Prophet의 평균절대오차(MAE)는 48장, 평균제곱근오차(RMSE)는 68장으로, 비교한 계절 순진 예측, ETS, SARIMA보다 낮게 나타났다. 모형을 이용한 2026년 1월 3일의 판매량 예측은 520장이었으며, 95% 예측구간은 390~665장이었다. 이 결과는 해당 검증 기간에서 Prophet이 비교적 높은 예측 정확도를 보였음을 나타내지만, 이후의 일정 변경과 예측구간의 실제 포함률을 지속적으로 점검할 필요가 있다.

✓마무리

Prophet은 반복 패턴과 일정 정보를 활용하는 시계열 예측 방법입니다

Prophet은 시간에 따른 추세, 주간·연간 계절성, 공휴일과 이벤트 효과를 결합해 미래 값을 예측합니다.

특히 예측 대상이 뚜렷한 반복 패턴을 보이고 미래 이벤트 일정이 어느 정도 알려져 있다면 유용한 선택지가 될 수 있습니다.

다만 구성요소를 나누어 설명하기 쉽다는 장점과 실제 예측 성능은 구분해야 합니다. 추세 변화점과 계절성 설정이 적절한지 확인하고, 미래에 알 수 없는 정보를 사용하지 않으며, 시간순 백테스팅과 단순 기준모형 비교를 수행해야 합니다.

KEY TAKEAWAY

Prophet의 핵심은 추세와 계절성을 분리하는 데서 끝나지 않고, 실제로 이용 가능한 미래 일정과 과거 검증 결과에 근거해 예측의 신뢰성을 평가하는 데 있습니다.