Today I Learned
날짜
2024년 10월 30일 수요일
내용
또이터 오차
또 데이터에 오차가 있다는 이야기를 듣고, 아임리포트 수리에 들어갔다. 실제로 다운로드 받아서 추려낸 데이터와 비교헀을 떄, 각 날짜보다 실제 나와야할 값보다 적은 값들이 찍혀있었다. 각 날짜는 모든 캠페인이나 광고그룹이 가지는 값의 합을 의미하니 어떤 캠페인이나 광고그룹이 누락되지 않았을까 싶어 뒤져보니 몇 개의 광고그룹이 시트에 포함되지 않아있었다. 예전에는 키워드 문제로 발생한 오류 떄문에 들어오지 않는 유형의 캠페인들이 있었으나 이번에는 불규칙했다.
들어오지 않는 광고그룹들을 데이터베이스에 찾아보니 데이터가 없었다. 몇 달전 TIL에 지나가듯 데이터베이스에 없는 키워드나 광고그룹들이 나타나는데 뭔지 모르겠다고 적은 기억이 있는데, 이 케이스가 그 케이스 인 것 같다. 저장되지 않는 이유가 네이버에서 주는 광고그룹 데이터가 다른것들과 조금 다른가? 싶어 네이버 검색광고 API에 요청해봤더니 데이터는 잘만 준다. 캠페인, 광고그룹, 키워드 데이터는 최초에 한 번만 가져오니 이때 어떤 문제가 발생하여 저장되지 않았을거다. 캠페인, 광고그룹, 키워드 데이터를 다시 저장하여 로우데이터를 만드니 오차없이 잘 된다.
다시 테스트를 부탁드렸는데, 10월 1일 이후의 데이터에서만 오차가 발생했다. 똑같은 계정으로 내가 할때만 괜찮은 이유는 뭐고, 하필 오류가 10월 1일부터 발생하는 이유는 뭔가.. 싶었으나 금방 생각해냈다. 로우데이터를 만들 때 최근 30일만 네이버에서 불러온 데이터로 만들고 그 이전의 과거 데이터는 S3에 저장되어있다. 저장된 데이터는 네이버 계정 단위다. 따라서 내가 로우데이터를 만들 때 S3에 저장해놓은 9월 30일 이전의 데이터들이 생성되어 저장되었고, 테스트 때 그 데이터를 사용해서 9월 30일까지는 정확한 데이터가 들어왔던거다. 그럼 10월 1일 부터 부정확한 이유는 무엇인가? 그건 캠페인, 광고그룹, 키워드 데이터는 네이버 계정이 아니라 사람에게 속해있기 때문이다. 내가 들고있는 캠페인 이하의 데이터는 최근에 다시 로드했기 때문에 정확했지만, 과거에 불러왔었던 데이터에는 누락된 광고그룹이 있었고 10월 1일부터는 그 값들이 불러와지지 않기 때문에 오류가 발생했다.
캠페인 관련 데이터를 누락하지 않기 위해, 데이터베이스에서 광고그룹이나 캠페인 데이터가 발견되지 않으면 네이버에 가서라도 가져오도록 추가했다.
회고
아빠가 코드싸개라 미안해