식음업장 메뉴 수요 예측 AI 온라인 해커톤

LG Aimers | 채용 | 알고리즘 | 정형 | 시계열 | 수요 예측 | SMAPE

  • moneyIcon 상금 : 본선 진출
  • 1,589명 마감

 

시계열 예측의 Data Leakage 규칙 관련 상세 설명

2025.07.22 17:35 3,494 조회

안녕하세요, LG Aimers 7기 여러분.

AI 경진대회에서 가장 빈번한 실격 사유 중 하나는 Data Leakage(데이터 누수)입니다.

이번 대회는 시계열 기반 수요 예측 문제로, 일반적인 정형 예측 문제보다 더 정밀한 데이터 사용 기준이 적용됩니다.

아래 내용을 반드시 숙지해주시기 바랍니다.


1. 대회 데이터 구성 요약

  • 학습 데이터
  • 기간: 2023.01.01 ~ 2024.06.15
  • 구성: 각 식음업장-메뉴의 일별 판매 수량
  • 평가 데이터
  • 기간: 2024.06.16 ~ 2025.05.31
  • 구성: 식음업장-메뉴별로 각각 10개의 샘플 존재
  • 각 평가 샘플은 Input(과거 28일)과 Target(이후 7일)로 구성
  • 각 평가 샘플의 Input 마지막 날짜가 해당 샘플의 추론 시점


2. 시계열 예측 관련 Data Leakage 방지 규칙

(1) 평가 데이터는 학습에 사용할 수 없습니다.

  • 평가 Input(28일), Target(7일)은 어떤 경우에도 모델 학습에 활용할 수 없습니다.
  • Pseudo Labeling 등 추론 결과를 이용한 재학습도 불가합니다.
  • 평가 데이터는 오직 추론 시점에서 입력으로만 사용할 수 있습니다.

(2) 추론 시 평가 Input으로 제공된 28일 외의 데이터를 추가로 사용할 수 없습니다.

  • 각 평가 샘플에는 Input으로 28일간의 시계열 데이터만 제공되며, 예측 시에는 해당 구간만을 모델 입력으로 사용해야 합니다.
  • 평가 시점에서 Lookback 기간을 임의로 확장하거나, 추가적인 과거 데이터를 연결하여 사용하는 것은 허용되지 않습니다.
  • 즉, 모든 평가 샘플은 제공된 28일 데이터를 기준으로만 예측이 이루어져야 하며, 모델 구조나 데이터 처리 방식에 관계없이 28일을 초과한 입력 사용은 금지됩니다.

(3) 평가 샘플은 서로 독립적으로 추론해야 합니다.

  • 하나의 평가 샘플 결과나 입력을 다른 샘플의 예측에 사용하는 것은 금지됩니다.
  • 모든 샘플은 각자의 Input(28일)만을 사용해 개별적으로 예측되어야 합니다.

(4) 추론 시점 이후 정보는 사용할 수 없습니다.

  • 각 평가 샘플의 추론 시점은 Input의 마지막 날짜입니다.
  • 이 시점을 기준으로 이후의 데이터(예측 대상 포함)는 모두 미래로 간주되며 활용할 수 없습니다.

(5) 외부 데이터는 사용할 수 없지만, 도메인 지식은 활용할 수 있습니다.

  • 대회에서 제공한 데이터 외의 외부 데이터, 크롤링, API 호출 등은 금지됩니다.
  • 다만, 도메인 지식 기반의 정보(예: 공휴일, 요일 등)는 활용 가능합니다. 다만, 도메인 지식 기반의 정보를 습득할 수 있는 시점도 추론 시점에 유의하여 활용할 수 있어야합니다.
  • 예: "5월 5일은 공휴일이다", "일요일은 주말이다" → 추론 시점 이전에 알 수 있는 도메인 지식 기반의 정보이므로 사용 가능


대회를 진행하면서 본인이 진행하는 방법이 Data Leakage에 해당하는지 햇갈리는 경우에는 꼭 사전에 데이콘에 문의하여 불이익을 받는 일이 없도록 부탁드리겠습니다.

데이콘은 앞으로도 투명하고 공정한 대회 운영을 위해 더욱 노력하겠습니다.

감사합니다.


로그인이 필요합니다
0 / 1000
jisung6723
2025.08.01 14:29

안녕하세요. 식음업장-메뉴별로 각기 다른 모델 구성을 사용하는 것이 Data Leakage에 해당하는지 궁금합니다.

DACON.GM
2025.08.01 14:38

아니요. 충분히 가능한 방법이며 Data Leakage와는 관련이 없습니다.
베이스라인 코드도 마찬가지로 메뉴 별 LSTM 모델을 생성하여 예측합니다.

jisung6723
2025.08.03 14:55

감사합니다.
모델이 28일치 데이터를 입력받아 다음 하루를 예측한 뒤, 이를 반복 적용하여 7일치를 순차적으로 예측하는 것이 가능한가요?

DACON.GM
2025.08.06 09:17

네, 재귀적 예측도 가능합니다. 다만, 예측 결과를 모델 학습에 활용하는 것은 불가능합니다.

웃는귀신
2025.08.02 13:04

삭제된 댓글입니다

배고픈나
2025.08.05 02:38

trainset에 feature를 추가해서 훈련시켜도 되나요?

DACON.GM
2025.08.06 09:17

네, 가능합니다. 다만 대회 규칙 범위 내에서 추가될 수 있어야합니다.

freshman
2025.08.05 20:39

안녕하세요. (2), (4) 관련해서 문의드립니다.

추론 시점 이후의 정보를 사용할 수 없다면, 예를 들어 테스트셋으로 2025-03-01 ~ 2024-03-28 데이터가 input으로 들어오고, D+1(2024-03-29) 매출을 추론할 때, 2024년 3월 29일은 3월이고, 29일이고, 토요일이다. 와 같은 정보를 추론시 사용할 수 없는지 문의드립니다.

DACON.GM
2025.08.06 09:16

2024년 3월 29일은 3월이고, 29일이고, 토요일이다. 와 같은 정보는 추론 시점 이전에도 알 수 있는 정보이므로 사용할 수 있습니다.

KHY538
2025.08.06 15:50

안녕하세요, 파이썬의 holidays 를 import하여 holidays.KR() 를 특징으로 사용하여도 무관한지 문의드립니다.

DACON.GM
2025.08.06 15:55

공휴일 정보는 활용 가능합니다.

ETY
2025.08.07 14:34

안녕하세요. 제가 방지 규칙을 충분히 숙지하지 못한 채, Data Leakage 가능성이 있는 방법을 사용하여 파일을 제출했습니다.
최종 제출 시 해당 파일을 선택하지 않으면 불이익을 피할 수 있을지 문의드립니다.

DACON.GM
2025.08.07 15:01

우선, dacon@dacon.io 메일로 말씀해주신 해당 코드와 사용한 방법론을 상세하게 기술하여 전달 부탁드립니다.

DACON.GM
2025.08.08 10:09

메일 확인하였으며, 검토 결과 적용된 방법은 Data Leakage에 해당하지 않습니다.

가든이
2025.08.07 21:41

안녕하세요, 혹시 공휴일 데이터 중 설날, 어린이날 등의 공휴일같이 늘 존재하는 공휴일이 아니라 그 해에만 생성된 임시공휴일도 함께 공휴일 데이터 사용가능한가요? 예를 들어, 공휴일 사이에 있어 공휴일로 지정된 날이나 선거로 인한 공휴일을 공휴일 데이터로 사용가능한지 궁금합니다. 

DACON.GM
2025.08.08 09:38

그 해에만 생성된 임시공휴일이 '추론 시점' 전에 알 수 있는 정보라면 도메인지식으로써 활용 가능합니다.

음냐
2025.08.15 02:03

안녕하세요. 

(3) 평가 샘플은 서로 독립적으로 추론해야 합니다.

하나의 평가 샘플 결과나 입력을 다른 샘플의 예측에 사용하는 것은 금지됩니다.
모든 샘플은 각자의 Input(28일)만을 사용해 개별적으로 예측되어야 합니다. 

와 관련해 문의드립니다. 

lgbm으로 7일간을 recursive방식으로 예측을 하는 방법이 많이 쓰이는데 (3)을 확인해보니 이 방법이 dataleakage에 해당하는 방식 같은데 한번 확인받고 싶습니다. 위에 jisung6723님이 말씀해주신 7일치를 반복 적용해 순차적으로 예측하는 방식은 모델에서 2일치의 예측값은 1일치의 예측값을  참조해서 결과를 내도록 코드가 구성되는게 일반적인데  이를 확인하고 싶습니다.

DACON.GM
2025.08.08 09:42

재귀적 예측을 사용하는 경우, 해당 샘플의 Input으로 제공된 28일치 외에 예측된 결과도 input으로 활용할 수 있습니다.
규칙(3)에서 제한하는 것은 TEST_00 샘플의 input이나 예측 결과를 TEST_01 샘플의 예측에 활용하는 것을 뜻합니다.

koyoon
2025.08.09 18:15

안녕하십니까, 이번 Dacon '식음업장 메뉴 수요 예측 AI 온라인 해커톤'에서 활용할 수 있는 데이터 관련하여 몇 가지 문의사항 있어 연락드립니다.

1. '카스'라는 메뉴가 맥주, 즉 주류라는 것은 사회적 통념으로 알 수 있습니다. 하지만 제공된 데이터셋의 메뉴명을 보았을 때 이것이 무엇을 의미하는지  알기 힘든 메뉴도 존재합니다. 물론 해당 업계 종사자는 알 수도 있습니다. 그렇다면 이와 같은 상황에서 메뉴명에 대한 활용을 시도할 때 사회적 통념으로 허용되는 범위가 어디까지인지 궁금합니다. 특정 참가팀이 이 메뉴가 무엇인지 직관적으로 알았다고 했을 때, 이것이 도메인 지식에 해당하지 않는다고 규칙 위반으로 간주될 수도 있지 않은지 문의드립니다. 

2. 주어진 train 데이터를 시각화하여 매장 혹은 메뉴에 대한 특정 인사이트를 도출해내었고 이를 모델링에 활용할 경우, 이는 외부 데이터를 활용한 것은 아니지만, 동시에 사회적 통념의 도메인 지식을 활용한 것 역시 아닙니다. 이 경우 규칙에 위배되는지 궁금합니다. 

3. 배포된 문제설명 강의자료에 보면, 6페이지에 6개 업장이 어떤 메뉴를 판매하는 업장인지에 대한 설명이 존재합니다. 즉 해당 매장에 관한 정보를 강의자료에서 확인할 수 있습니다. 이는 이번 에이머스 참가 팀 모두에게 공개되어있는 내용입니다. 만약 홈페이지 상에서 일정 등을 확인하는게 외부 데이터라면, 현재 곤지암 리조트의 해당 업장들이 무슨 업장인지 기본적인 정보를 알고 파생변수로 반영하는 것도 외부 데이터로 취급되는지, 만약 그렇다면 최소한 강의자료 상의 6개 매장의 정보를 사용하는 것은 도메인 지식으로 허용되는 데이터인지 궁금합니다. 

DACON.GM
2025.08.11 09:21

1) 메뉴가 무엇인지 알아보는 것은 자유입니다.
다만, 외부에서 얻은 데이터를 그대로 모델 학습 데이터나 입력값으로 사용하는 경우는 규칙 위반이며, 사회적 통념 수준에서 파생 변수로 활용하는 것은 허용됩니다.
2) 학습 데이터를 바탕으로 인사이트를 도출하고 모델 학습에 활용하는 것은 규칙 위반에 해당하지 않습니다.
3) 네. 맞습니다.

koyoon
2025.08.11 09:28

답변 감사합니다. 3번에 대한 답변이 ‘기본적으로 곤지암 리조트 내 매장들이 어떤 매장인지 알아보고 활용하는것은 규칙위반이 아니다“라는 말씀이실까요? 

DACON.GM
2025.08.11 09:32

어떻게 활용하느냐가 핵심입니다.
안내드린것처럼  외부에서 얻은 데이터를 그대로 모델 학습 데이터나 입력값으로 사용하는 경우는 규칙 위반이며, 사회적 통념 수준에서 파생 변수로 활용하는 것은 허용됩니다.

BBAC
2025.08.10 17:54

안녕하세요, 위 2-(3)과 평가 데이터 구성 요약과 관련해서, 각 평가 데이터 내에서 메뉴 간의 데이터를 활용하여 학습에 활용하는 것이 독립 추론 위반인지 문의 드립니다.

DACON.GM
2025.08.11 09:22

평가 데이터는 학습에 활용될 수 없습니다.

BBAC
2025.08.17 19:09

네 감사합니다. 모든 샘플은 각자의 Input(28일)만을 사용해 개별적으로 예측되어야 한다고 나와있는데, 이때 각 샘플이 각각의 TEST00~TEST09 전체를 의미하는 것이 맞을까요? 만약 한 TEST파일 내에서 얻은 정보를 예측에 활용하고자 할 때, 그 도출된 정보가 각각의 개별 식음업장-메뉴가 아니어도 개별 test파일 내에서 도출되어 적용하는 것이라면 가능한가요?

찰옥수수
2025.08.10 20:21

안녕하세요, TEST00~09 파일별로 서로 다른 모델을 써서 예측해도 되는지 궁금합니다

DACON.GM
2025.08.11 09:23

모델에 대한 제약사항은 없으나, Data Leakage에 유의하시길 바랍니다.
평가 샘플은 몇개가 입력으로 들어올 지 전혀 알 수 없다는 가정하에 진행되어야합니다.
즉, TEST_00 ~ TEST_09 별로 모델이 다르다면, 모델이 다르게 작동하는 로직이 구체적으로 존재해야합니다.
참가자가 임의대로 평가데이터 샘플 별로 모델을 지정하는 것은 Data Leakage에 해당할 수 있습니다.

찰옥수수
2025.08.11 11:37

감사합니다, 혹시 평가 샘플은 몇개가 입력으로 들어올 지 전혀 알 수 없다는 가정하에 진행되어야합니다. - 이 뜻이 TEST파일이 현재 00부터 09까지 10개인데 이 10개인지 모른다는 가정이 있어야한다는 뜻인가요?

DACON.GM
2025.08.11 13:54

TEST_00의 Input 데이터를 보고, 해당 샘플에는 A 모델, TEST_01에는 B 모델 ... TEST_09에는 C모델 등으로 직접 선정하는 것은 Data Leakage에 해당합니다. 

찰옥수수
2025.08.14 17:55

삭제된 댓글입니다

minkyyu
2025.08.11 23:57

삭제된 댓글입니다

DACON.GM
2025.08.11 13:52

dacon@dacon.io 메일로 말씀해주신 해당 코드와 사용한 방법론을 상세하게 기술하여 전달 부탁드립니다.

haebny
2025.08.11 13:35

안녕하세요, 파생 변수 생성 시 Data Leakage 위험성을 확인하고자 문의드립니다.

1) Train 데이터 기반 파생 변수 생성 시 데이터 누수 범위
Train 데이터의 매출수량을 활용하여 파생 변수를 생성 시, 전체 Train 기간의 데이터를 참조하여 계산해도 되는지 아니면 각 시점 이전 데이터까지만 사용하도록 누적 연산을 적용해야 하는지 궁금합니다. 
예를 들어, "메뉴의 기여도 =  메뉴 매출 전체의 합 / 매장 매출 전체의 합" 변수를 만들 때 "전체"의 기준이 Train 전체 구간이 되어도 규칙 위반에 해당되지 않는지 확인 부탁드립니다.
데이터 분석 관점에서는 전체 Train 기간의 데이터를 참조할 수 있을 것이라 생각하나, 모델의 관점에서는 훈련 과정에서도 예측이 이루어지면서 사실상 미래의 데이터 알게 되는 형상이 아닐까하여 확인 차 문의드립니다.

2) Test Input 28일 데이터 활용 범위
위 질문에 이어, 평가 데이터(TEST_00 ~ TEST_09) 각각의 Input 구간(28일)에서 제공되는 매출수량 정보를 파생 변수 생성에 활용해도 괜찮은지 궁금합니다.
위 질문의 예시와 같은 변수 생성 시, Test Input 28일의 매출을 연산에 사용해 예측 모델의 피처로 사용하는 것은 허용되는걸까요?
추가로, "추론시 추가적인 과거 데이터를 연결하여 사용하는 것은 허용되지 않는다" 규칙으로 미루어 보아, 파생변수 생성 시에도 Train 기간의 데이터가 사용되면 안되는 것이 맞을까요?

확인 감사합니다.

DACON.GM
2025.08.11 13:51

1) 대회 규칙에서 다루는 것은 평가 데이터셋에 대한 Leakage입니다. 따라서 학습 데이터 내에서는 자유롭게 진행하시면 되겠습니다.
2) 테스트 샘플의 Input 데이터의 통계정보 등을 활용할 수 있습니다. 다만, 각 샘플 내에서만 활용이 가능합니다.
3) 제공한 최대 28일의 룩백기간을 활용하는 것이 규칙이나, 학습 데이터의 통계 정보 등을 활용하여 추가되는 파생 변수 등은 활용 가능합니다. 

haebny
2025.08.11 13:59

확인 감사합니다!

맛차
2025.08.12 14:09

안녕하세요. 
Phase1에서 제공했던 "『D&O 해커톤 문제 및 도메인 지식 소개』강의자료"  및 영상에서 제시된 정보들 모두 참여자들이 확인할 수 있는 공개되어 있는 부분인데, 해당 부분 모두 외부 데이터로 분류하면 될까요? (ex. 객실 정보, 가게 관련 정보)
감사합니다.

DACON.GM
2025.08.12 16:40

네. 본 해커톤페이지에서 제공한 학습데이터만 활용 가능합니다.

비자르
2025.08.12 22:04

안녕하세요! 도메인 지식에 관해 궁금점이 있어 문의드립니다.
데이터셋을 하나씩 확인해보면서 데이터셋 안에서 확인된 배경지식을 활용해도 되는지 궁금합니다.

예를 들어,
1. A 메뉴가 2023-01~05까지는 판매량이 0이었는데 2023-06부터 판매하기 시작
-> A 메뉴가 06월에 출시했을 것이라는 판단

2. B 메뉴가 2023-09~2024-03에만 판매
-> 계절 메뉴일 것이라는 판단
-> B 메뉴는 제철이 9월부터 3월이라는 지식

3. C 메뉴가 2024-03까지만 판매
-> C 메뉴는 단종되었을 것이라는 판단

위 3가지 예시 중 반영하면 안되는 번호와 이유에 대해 설명해주시면 감사하겠습니다!

DACON.GM
2025.08.12 22:06

학습데이터를 바탕으로 도출한 인사이트는 모두 활용 가능합니다.

닉네임은박진우
2025.08.13 14:08

대회 규칙에서 "외부 데이터, 크롤링, API 호출은 금지되나, 도메인 지식 기반의 정보(공휴일, 요일 등)는 활용 가능"하다고 안내되어 있어
holidayskr 또는 holidays Python 라이브러리나 다른 라이브러리들을 사용하여, 라이브러리가 외부 서버 접속 없이 로컬에서 계산하는 경우 규칙 위반에 해당하지 않는지 또는 대회에서는 이러한 라이브러리 사용도 “외부 데이터 활용”으로 간주하는지가 궁금합니다.

DACON.GM
2025.08.13 17:04

공휴일 정보는 활용 가능합니다. 이는 통념상 허용되는 도메인 지식에 해당되며 설령 해당 정보들이 패키지 내에 외부 데이터 같이 존재하여도 도메인 지식으로 간주합니다.

닉네임가리기
2025.08.13 16:40

안녕하세요, 여러 공지사항을 확인한 결과 data leakage에 관해 의문이 생겨서 아래와 같이 질문 드립니다.

https://dacon.io/competitions/official/236559/talkboard/414404?page=1&dtype=recent
위 링크에서 확인할 수 있는 공지사항에서 "pandas의 get_dummies() 함수를 test 데이터셋에 적용하는 경우"가 Data leakage에 해당한다고 하였는데, 

https://dacon.io/competitions/official/236559/talkboard/414557?page=1&dtype=recent
위 링크에서 확인할 수 있는 공지사항에서는 같은 평가 데이터의 샘플 내에서는 평가 데이터의 input 통계 정보를 활용해도 된다고 나와있습니다.

그러면 train data를 분석 후 요일과 공휴일 같이 새로운 feature를 생성해서 이를 학습에 이용하여 예측에 사용하도록 한 경우, test 데이터가 가지고 있는 정보를 직접 확인하지 않고 train data에서 새로운 feature 생성을 위해 처리하던 코드를 그대로 사용해 train data와 똑같이 feature를 생성해서 one-hot encoding해서 input에 넣는 것도 data leakage에 해당하는 것인가요? 이때 train data를 분석하여 얻은 인사이트만을 이용했다는 것을 가정합니다.

pandas의 get_dummies()가 one-hot encoding 시 자주 사용되는 함수인 것으로 알고 있어서 위 위와 같은 질문을 드립니다.

DACON.GM
2025.08.13 17:03

1) 언급해주신 예시의 경우에는 충분히 가능한 방법입니다. 다만 가급적 get_dummies() 보다는 별도의 인코더를 활용하시는 것을 권장드립니다.
2) 평가 데이터의 Input 정보는 추론 시점보다 미래에 존재하지 않고 과거에 해당하므로 활용 가능합니다. 단, 해당 샘플의 추론 내 에서만 활용 가능하며 모델 학습 또는 타 샘플 추론시에는 활용할 수 없습니다.

seori
2025.08.17 16:05

삭제된 댓글입니다

이까미
2025.08.17 22:44

1) Lookback 이 불가능하다는 건 예측시 해당 메뉴의 과거 통계량이나 , lag_feature를 못 쓴다는 말씀인가요?
2) train 데이터의 통계를 바탕으로 메뉴들에 대한 그룹화를 한 특성을 test 시에 사용하는것도 Data Leakage 에 해당되나요? (과거 데이터를 사용한 특성이기 때문입니다.)
3)밑에 질문처럼 같은 TEST_*.csv 내에서 예측시에 1일차 예측값이 2일차 예측에 관여해도 된다는건가요? 감사합니다

DACON.GM
2025.08.19 10:19

1) 주어진 룩백기간(최대 28일)과 학습 데이터만 활용 가능합니다.
2) 가능합니다.
3) 네. 재귀적 예측은 충분히 가능한 방법입니다.

michinumpy
2025.08.18 16:00

안녕하세요. 대회 규칙과 관련하여 문의드립니다.
대회 규칙(시계열 예측 관련 Data Leakage 방지 규칙) 제2항에서는
"평가 시 제공된 28일 외의 데이터를 추가로 사용할 수 없다." 라고 명시하고 있습니다.
이와 관련해, “판매 시작일로부터 경과한 일수”와 같은 피처의 사용 가능 여부가 헷갈려 문의드립니다.

1) 해당 값이 메뉴의 고정적 속성처럼 간주되어 메타정보에 해당한다고 볼 수도 있습니다. (train 데이터 기준으로 계산 가능)
2) 그러나 동시에, 이 값을 산출하려면 평가 Input(28일) 이전의 과거 시계열 기록(첫 판매일)을 확인해야 하므로, 규칙상 금지된 “28일 외 데이터 활용”에 해당할 수 있다는 해석도 가능한 것으로 생각됩니다.
따라서 위와 같은 피처가 규칙 위반에 해당하는지 여부에 대해 확인하고 싶습니다.

감사합니다.

DACON.GM
2025.08.19 10:20

1) 사용 가능합니다. 룩백 기간 데이터와는 다른 의미입니다.
2) 과거 시계열 기록이 학습 데이터 내에 존재해야하고 이는 활용 가능합니다. 즉, 평가 데이터 다른 샘플에서 해당 정보를 도출하여 활용하는 것은 불가능합니다.