빅데이터분석기사

빅데이터분석기사 시험 노트개념 정리21 MIN

데이터 확보 계획 수립

과제를 정했으면 그 과제에 쓸 데이터를 어디서 얼마에 언제까지 얻을지 정할 차례입니다. 확보 계획의 네 단계, 필요 데이터 정의와 보유 현황 점검, 내부·외부 확보 경로, 비용·기간 산정, 확보가 어려울 때의 대안을 봅니다.

앞 노트에서 과제의 순서와 로드맵을 정했습니다. 그런데 순서표에 올라간 과제 하나하나는 결국 「그 분석에 쓸 데이터가 손에 들어오는가」에서 막히거나 풀립니다. 데이터가 없으면 아무리 시급한 과제도 시작할 수 없고, 데이터를 얻는 데 반년이 걸리면 일정표가 통째로 밀립니다. 그래서 분석 작업 계획 안에 데이터를 얻는 일만 따로 떼어 계획을 세우는데, 이것이 이 노트의 주제입니다. 문항은 주로 절차의 순서, 내부·외부 데이터의 구분, 그리고 비용을 따질 때 무엇을 넣는가에서 나옵니다.

확보 계획

계획의 범위

데이터 확보 계획은 분석에 필요한 데이터를 무엇을, 어디서, 얼마의 비용과 기간으로 얻을지 정해 두는 계획입니다. 분석 작업 계획의 한 부분이며, 로드맵이 「어떤 과제를 언제 하는가」를 정한다면 확보 계획은 「그 과제에 쓸 재료를 언제까지 갖추는가」를 정합니다.

여기서 확보는 단순히 파일을 받아 오는 일보다 넓습니다. 데이터를 받아 둘 저장 공간, 받아 오는 수집 프로그램, 개인정보가 섞였을 때의 처리 절차, 받아 온 뒤의 품질 점검까지 들어갑니다. 그래서 확보 계획을 세우는 사람은 분석가만이 아니라 데이터를 가진 현업 부서, 인프라 담당, 개인정보 보호 담당이 함께 앉습니다.

네 단계

확보 계획은 네 단계로 세웁니다.

  1. 목표 정의 — 확보한 데이터로 무엇을 이루려는지, 그것을 어떤 지표로 잴지 정한다
  2. 요구사항 도출 — 그 목표에 필요한 데이터와 확보·관리 조건을 뽑는다
  3. 예산안 수립 — 수집·저장·처리에 드는 비용을 산출한다
  4. 계획 수립 — 인력, 일정, 위험과 품질 관리 방안을 묶어 실행 계획으로 만든다

순서에는 이유가 있습니다. 목표가 없으면 무엇이 필요한지 정할 수 없고, 필요한 것이 정해지지 않으면 값을 매길 수 없으며, 값이 없으면 일정과 사람을 붙일 수 없습니다. 보기에서 예산안 수립이 요구사항 도출보다 앞에 오거나 계획 수립이 맨 앞에 오면 오답입니다.

목표와 요구사항

성과목표와 지표

목표 정의에서는 데이터를 확보해서 얻으려는 것을 성과목표로 적고, 그 목표에 다가갔는지를 잴 성과지표를 함께 정합니다. 「고객 이탈을 줄인다」가 성과목표라면 「이탈 예측 모델의 재현율 0.8 이상」이나 「3개월 내 이탈률 2%포인트 감소」가 성과지표입니다.

지표를 함께 정하는 이유는 확보 범위를 자르기 위해서입니다. 지표가 없으면 「있으면 좋은 데이터」가 끝없이 목록에 올라옵니다. 재현율을 올리는 데 쓰이지 않는 데이터는 지금 확보할 대상이 아니라는 판단이 지표에서 나옵니다.

요구사항 도출

요구사항 도출에서는 목표를 데이터의 말로 옮깁니다. 뽑는 요구사항은 두 갈래입니다.

갈래 예
데이터 요구사항 어떤 항목이, 어느 기간치가, 어떤 단위와 주기로 필요한가
확보·관리 요구사항 수집 방식, 저장 위치와 보관 기간, 접근 권한, 개인정보 처리 조건

앞 갈래만 적고 뒤 갈래를 빠뜨리는 일이 흔합니다. 「최근 2년 치 구매 이력」은 데이터 요구사항이지만, 그것을 매일 받을지 한 번만 받을지, 몇 년 보관할지, 누가 볼 수 있는지가 정해지지 않으면 예산을 짤 수 없습니다. 요구사항은 현업 인터뷰와 기존 시스템 문서를 보고 정리하고, 정리한 목록을 현업과 다시 맞춰 보는 검토를 거쳐 확정합니다.

분석 데이터 정의

필요 데이터 목록

요구사항이 정리되면 분석에 쓸 데이터를 하나씩 정의한 목록을 만듭니다. 항목마다 적는 것은 데이터 이름, 담긴 내용, 형태, 출처, 갱신 주기입니다. 형태는 1과목 앞부분에서 본 구분 그대로 정형·반정형·비정형으로 적습니다. 형태를 적는 이유는 그것이 저장소와 수집 도구를 정하기 때문입니다 — 관계형 테이블과 콜센터 녹음 파일은 담을 곳도 받아 오는 방법도 다릅니다.

목록에는 데이터의 소유자도 적습니다. 같은 사내 데이터라도 마케팅팀이 가진 것과 물류팀이 가진 것은 받는 절차와 걸리는 시간이 다르고, 소유자가 불분명한 데이터는 그 자체로 확보 위험입니다.

보유 현황 점검

목록이 서면 그중 지금 가진 것과 없는 것을 가르는 보유 현황 점검을 합니다. 가진 데이터도 다음을 따로 봅니다.

  • 분석에 필요한 기간만큼 쌓여 있는가
  • 필요한 항목이 빠짐없이 있는가
  • 품질이 분석에 쓸 만한가 — 결측과 오류가 얼마나 되는가
  • 분석 목적으로 써도 되는가 — 수집할 때 받은 동의 범위 안인가

마지막 항목이 실무에서 가장 자주 확보를 막습니다. 데이터가 서버에 있어도 수집할 때 밝힌 목적이 「배송」뿐이면 마케팅 분석에 그대로 쓸 수 없고, 5번 노트에서 본 가명처리 같은 절차를 거쳐야 합니다.

점검 결과는 표 한 장으로 남겨 두면 다음 단계에서 그대로 씁니다.

import pandas as pd

need = pd.DataFrame({
    '데이터': ['구매 이력', '회원 정보', '앱 로그', '날씨', '경쟁사 가격'],
    '출처': ['내부', '내부', '내부', '외부', '외부'],
    '보유': [True, True, False, False, False],
})

print(need.groupby('출처')['보유'].mean())        # 내부 0.667, 외부 0.0
print(need.loc[~need['보유'], '데이터'].tolist())  # ['앱 로그', '날씨', '경쟁사 가격']

마지막 줄이 뽑아 준 세 개가 이번 확보 계획이 실제로 다룰 대상입니다. 앱 로그는 내부 데이터인데도 보유가 아니라고 적혀 있는데, 로그가 쌓이고는 있지만 일주일 지나면 지워지도록 설정되어 있어 필요한 기간치가 없는 경우가 이렇습니다.

확보 경로

내부 데이터

내부 데이터는 조직 안의 시스템에 쌓이는 데이터입니다. 업무 시스템(ERP·CRM·SCM), 거래 데이터베이스, 웹과 앱의 로그, 센서와 설비 기록이 여기에 듭니다. 내부 데이터는 비용이 적게 들고 구조를 미리 알 수 있지만, 부서마다 따로 쌓여 있어 형식과 코드가 맞지 않는 일이 많습니다. 확보 계획에서는 소유 부서와 협의하는 기간, 형식을 맞추는 작업량, 운영 시스템에 부담을 주지 않고 꺼내는 방법을 따집니다.

외부 데이터

외부 데이터는 조직 밖에서 얻는 데이터입니다. 경로는 크게 넷입니다.

경로 예 따질 것
공공 데이터 공공데이터포털, 통계청, 기상청 대개 무료지만 갱신 주기와 단위가 정해져 있다
오픈 API 지도, 날씨, 검색 서비스 호출 횟수 제한과 이용 약관
구매·제휴 데이터 거래소, 통신·카드사 제휴 비용과 계약 기간, 재사용 범위
웹 수집 크롤링으로 웹 페이지에서 직접 수집 사이트 약관, 저작권, 수집 대상 서버에 주는 부하

외부 데이터는 내부에 없는 맥락을 채워 주지만, 구조와 품질을 우리가 정할 수 없다는 점이 늘 따라옵니다. 공급자가 형식을 바꾸거나 서비스를 닫으면 그 데이터에 기대던 분석이 함께 멈추므로, 계획에 대체 공급원을 적어 두는 것이 좋습니다. 수집 도구 자체는 다음 노트에서 따로 봅니다.

비용과 기간

수집 가능성

목록에 오른 데이터마다 먼저 「얻을 수 있는가」를 판정합니다. 기술적으로 뽑아낼 수 있는지, 법적으로 써도 되는지, 소유자가 내줄 의사가 있는지 셋을 봅니다. 셋 중 하나라도 막히면 그 데이터는 비용과 기간을 따질 대상이 아니라 아래 절의 대안을 찾을 대상입니다.

비용 산정

예산안 수립 단계에서 셈하는 비용은 데이터 값만이 아닙니다.

  • 데이터 자체의 구매·이용료
  • 저장 비용 — 스토리지, 복제와 백업분 포함
  • 처리 비용 — 서버와 네트워크
  • 수집 프로그램 개발과 운영 인력

저장 비용을 셀 때 복제를 빠뜨리면 크게 틀립니다. 앱 로그가 하루 40GB씩 쌓이고 1년을 보관하며, 3번 노트에서 본 하둡 분산 파일 시스템의 기본 복제 수 3을 그대로 쓴다고 해 봅시다.

40×365×3=43,800 GB≈43.8 TB40 \times 365 \times 3 = 43{,}800\ \text{GB} \approx 43.8\ \text{TB}

원본만 세면 14.6TB인데 실제로 사야 하는 저장 공간은 그 세 배입니다. 압축률을 반영하면 줄어들지만, 압축 여부도 요구사항에서 정해 둔 조건이어야 계산에 넣을 수 있습니다.

기간 산정

기간은 데이터를 손에 넣기까지의 시간과 쓸 만큼 쌓이기까지의 시간을 따로 셉니다. 사내 협의나 구매 계약에 걸리는 시간이 앞쪽이고, 새로 수집을 시작한 데이터가 분석에 필요한 기간치만큼 쌓이는 시간이 뒤쪽입니다. 계절성을 보려는 분석에 1년 치 로그가 필요한데 오늘 수집을 시작했다면 모델링은 1년 뒤에야 시작할 수 있습니다. 이런 데이터가 일정의 가장 긴 막대를 차지하므로 가장 먼저 착수합니다.

대안 데이터

대체 데이터

꼭 필요한 데이터를 끝내 못 얻을 때는 목표를 버리기 전에 대안을 찾습니다. 첫째 길은 같은 현상을 간접적으로 보여 주는 데이터로 바꾸는 것입니다. 경쟁사 가격을 직접 못 얻으면 가격 비교 사이트의 공개 정보로, 매장 방문객 수를 못 얻으면 주변 유동인구 통계로 대신합니다. 이렇게 원래 데이터 대신 쓰는 지표를 대리 변수라 부릅니다. 대리 변수는 원래 데이터와 어긋나는 만큼 분석의 정확도를 깎으므로, 무엇을 무엇으로 바꿨는지를 계획에 적어 결과를 해석할 때 함께 봅니다.

범위 조정과 결합

둘째 길은 요구사항을 줄이는 것입니다. 전 고객 대신 표본으로, 2년 치 대신 6개월 치로, 실시간 대신 일 단위로 낮추면 얻을 수 있는 경우가 많습니다. 줄인 만큼 성과지표도 다시 맞춥니다.

셋째 길은 다른 기관이 가진 데이터와 합치는 것입니다. 개인정보가 섞인 데이터는 각자 가명처리한 뒤 지정된 결합전문기관을 거쳐 결합하는 절차가 법에 마련되어 있습니다. 넷째로 실제 데이터의 통계적 성질만 흉내 낸 합성 데이터를 만들어 쓰는 방법도 있는데, 모델 개발과 시험에는 쓸모가 있어도 실제 현상의 미묘한 패턴까지 담는다는 보장은 없습니다. 출제는 대개 「확보가 어려울 때 바로 과제를 폐기한다」 같은 보기를 오답으로 세우는 식이니, 대안을 먼저 검토한다는 순서를 잡아 둡니다.

연습 문제

  1. 데이터 확보 계획 수립 절차를 순서대로 나열한 것은?
    ① 요구사항 도출 → 목표 정의 → 예산안 수립 → 계획 수립
    ② 목표 정의 → 요구사항 도출 → 예산안 수립 → 계획 수립
    ③ 목표 정의 → 예산안 수립 → 요구사항 도출 → 계획 수립
    ④ 계획 수립 → 목표 정의 → 요구사항 도출 → 예산안 수립
    ②. 무엇을 이룰지 정해야 필요한 것을 뽑을 수 있고, 필요한 것이 정해져야 값을 매길 수 있으며, 값이 있어야 일정과 인력을 붙입니다.
  2. 목표 정의 단계에서 함께 정하는 것으로 가장 알맞은 것은?
    ① 수집 프로그램의 개발 언어
    ② 성과목표와 그것을 재는 성과지표
    ③ 스토리지의 구매 단가
    ④ 데이터 소유 부서의 담당자 연락처
    ②. 지표가 있어야 어떤 데이터가 목표에 쓰이는지 판단해 확보 범위를 자를 수 있습니다. 단가는 예산안 수립 단계의 일입니다.
  3. 다음 중 외부 데이터에 해당하는 것은?
    ① 자사 CRM의 고객 상담 이력
    ② 자사 앱의 클릭 로그
    ③ 기상청이 공개한 지역별 강수량
    ④ 자사 물류 창고의 센서 기록
    ③. 나머지 셋은 조직 안의 시스템에 쌓이는 내부 데이터입니다.
  4. 하루 25GB씩 쌓이는 로그를 180일 보관하고 복제 수 3으로 저장할 때 필요한 저장 공간은? (압축은 하지 않는다)
    ① 4,500GB
    ② 9,000GB
    ③ 13,500GB
    ④ 27,000GB
    ③. 원본이 25×180=4,50025 \times 180 = 4{,}500 GB이고 복제 3을 곱하면 4,500×3=13,5004{,}500 \times 3 = 13{,}500 GB입니다. ①은 복제를 빠뜨린 값입니다.
  5. 보유 현황 점검에서 서버에 데이터가 있는데도 「확보되지 않음」으로 판정할 수 있는 경우가 아닌 것은?
    ① 보관 기간이 짧아 필요한 기간치가 남아 있지 않다
    ② 수집할 때 받은 동의 범위가 분석 목적을 포함하지 않는다
    ③ 필요한 항목 일부가 수집되지 않고 있다
    ④ 데이터가 정형 테이블 형태로 저장되어 있다
    ④. 정형 테이블인 것은 확보를 막는 사유가 아닙니다. 나머지 셋은 데이터가 있어도 그대로 분석에 쓸 수 없는 경우입니다.
  6. 꼭 필요한 데이터를 확보하기 어려울 때의 대응으로 가장 거리가 먼 것은?
    ① 같은 현상을 간접적으로 보여 주는 대리 변수를 찾는다
    ② 표본이나 기간을 줄여 확보 가능한 범위로 요구사항을 조정한다
    ③ 가명처리 후 결합전문기관을 통해 다른 기관 데이터와 결합한다
    ④ 대안을 검토하지 않고 해당 과제를 즉시 폐기한다
    ④. 목표를 버리기 전에 대체 데이터, 범위 조정, 결합, 합성 데이터 같은 대안을 먼저 검토합니다.

확보 계획은 네 단계의 순서 하나와 「비용에는 데이터 값만이 아니라 저장·처리·인력이 들고, 저장에는 복제가 붙는다」는 셈 하나로 대부분 풀립니다. 여기에 내부·외부를 가르는 기준이 「조직 안의 시스템에 쌓이는가」라는 점과, 확보가 막혔을 때 폐기보다 대안이 먼저라는 순서를 더하면 이 단원의 문항은 거의 다 덮입니다.

빅데이터분석기사 시험 노트 전체 보기