참고: 이 내용은 2021. 12. 21에 게시된 컨텐츠(Every Snowflake Is Unique: Forecasting a Highly Variable Business)에서 번역되었습니다.

문제는 분명합니다. 공개 상장 기업이 되려면 짧은 범위 내에서 지속적으로 회사의 핵심 재무 메트릭을 예측해야 했습니다. 이를 위해 저희는 데이터 과학과 머신 러닝(ML)을 사용해야 했으며 저희 제품을 활용하여 회사의 수익을 정확하게 예측해야 했습니다.

Snowflake가 오늘날 공개 기업이라는 사실은 데이터 과학과 저희 제품 모두의 위력을 증명합니다. Snowflake의 재무부에 속한 데이터 과학 팀의 경우 예측을 개발하는 데 중요한 것이 당사 팀과 시장이 신뢰할 수 있는 파트너십, 플랫폼 그리고 당연히 데이터임을 발견했습니다.

모든 Snowflake(고객)는 고유하다

Snowflake는 소비 또는 사용량 기반 비즈니스입니다. 이는 당사 수익이 본질적으로 고객에게 제공하는 가치와 긴밀하게 연관되어 있음을 의미합니다. 소비 기반 가격 책정은 당사와 당사 소비자의 이익을 최대한 고려합니다. 그러나 소비 기반 비즈니스 모델로 인해 수익 및 기타 주요 메트릭을 예측하는 것이 매우 어려울 수 있습니다. 이러한 문제는 Snowflake에서만 발생하지 않습니다. 광고 기반 비즈니스부터 전문 서비스 조직까지 모든 비즈니스가 일정한 수준의 변동성을 경험합니다.

주요 비즈니스 메트릭 예측을 시작할 때 저희는 몇 가지 문제를 경험했습니다.

고객 변동성

우선 각각의 고객은 고유합니다. 사용량부터 램프 시간까지 고객이 플랫폼을 사용하는 방식은 매우 다양합니다. 2명의 고객이 같은 산업에 있으며 비슷한 기술 스택, 거의 동일한 규모, 계약 세부 정보 및 사용 사례를 갖추고 있더라도 매우 다른 방식으로 소비할 수 있습니다.

많은 고객을 대상으로 시간 대신 일별 사용량을 계획한다면 일별 움직임은 주식 시장과 같이 변동이 클 것입니다. 더 긴 기간 동안 또는 고객 그룹에 걸쳐 정보를 수집하더라도 변동성은 여전히 큽니다.

이전 사용량은 미래 사용량을 나타내지 않는다

두 번째로 고객의 미래 소비를 촉진하는 많은 요소는 사용량으로만 예측할 수 없습니다. 각각의 고객이 고유하기에 우리는 보통 답변을 얻기 위해 비슷한 특성이 있는 다른 Snowflake 고객의 행동을 참고할 수도 없습니다. 새로운 전략적 이니셔티브, 재편성, 합병 또는 주식 매각과 같은 주요 이벤트는 중요한 고객 프로그램을 늦추거나 가속화합니다. 또한 고객의 주요 인재, 새로운 비용 제어 및 규제 변경 사항이 사라지거나 추가됩니다. 이러한 모든 요소는 고객의 시장에 영향을 주며 현재 사용 가능한 데이터에서 추측할 수 없는 소비 중단을 초래할 수도 있습니다.

수백만 명의 고객이 존재하는 B2C(business-to-consumer) 비즈니스에서 데이터 볼륨을 통해 종종 엔드 투 엔드 머신 러닝 솔루션은 다양한 분산성이 높은 이벤트로부터 배우고 대처하는 방법을 배울 수 있습니다. 또한 극히 일부 고객의 전반적인 예측 실패로 인해 상위 예측이 실질적으로 영향을 받을 가능성이 없습니다. 반대로 각각의 고객이 이전 사용량에서 추측할 수 없을 수도 있는 속도로 소비하고 수천 명의 고객이 존재하는 환경에서 극히 일부의 고객을 대상으로 한 심각한 예측 실패의 경우 세계적 예측에서 크게 어긋날 수 있기에 다른 접근 방식이 필요합니다. 머신 러닝이 중요하긴 하지만 솔루션의 일부분일 뿐입니다.

개선된 효율성 = 개선된 변동성

세 번째로 저희 엔지니어가 지속적으로 제품을 개선하고 영업 엔지니어링 및 서비스 팀이 고객 워크로드를 최적화하는 데 도움이 됨에 따라 고객 크레딧 소비가 줄 수 있습니다.

예를 들어 올해 초 저희 서비스 전문가가 한 고객이 대규모 워크로드 세트를 최적화할 수 있도록 도움을 줬습니다. 이 고객은 이전에 속도를 위해 효율성을 포기하며 워크로드 속도를 높여야 했습니다. 최적화 이후에 이러한 워크로드의 소비가 큰 폭으로 떨어졌으며 이로 인해 고객의 총 Snowflake 사용량이 크게 줄었습니다. 이러한 개선 사항은 장기적으로 봤을 때 저희 고객과 비즈니스에 좋은 일입니다. 다만 예측 관점에서는 추가적인 미래 변동성의 원인이 됩니다. 따라서 당사의 내부 제품 사용량 데이터에서 포착하지 못할 수 있습니다. 따라서 저희는 예측을 지속적으로 조정해야 합니다.

Snowflake 예측 프로세스

이러한 예측 문제에 대처하기 위해 저희가 사용한 방법은 데이터로부터 추론할 수 없는 영업 및 제품을 포함한 타 부서에서 수집한 현장 지식이 포함된 머신 러닝 모델 모음의 예측을 결합하는 프로세스였습니다. Snowflake 플랫폼 활용을 통해 이 프로세스를 강화했습니다. 따라서 저희는 상위 제품 매출부터 각각의 개별 고객 소비까지 포함한 당사 비즈니스를 다양한 시간대에 매일 다시 예측할 수 있습니다.

다음 단계는 당사 소비 기반 비즈니스를 정확하게 예측하는 데 매우 효과적입니다.

  1. 예비 ML 예측을 생성합니다. 매일 저희는 일련의 머신 러닝 모델을 사용하여 각 고객 계정의 소비를 예측하는 저희 비즈니스의 상향식 예측을 합니다. 이러한 모델은 제품 사용량 데이터와 더불어 영업 및 마케팅 정보에 의지합니다. 시간이 지남에 따라 계정은 저희가 각 고객에 대한 데이터를 습득하고 고객의 사용량 패턴이 성숙해짐에 따라 이전 통계에만 의존하는 모델에서 보다 맞춤형인 머신 러닝 모델로 이동합니다.
  2. 피드백을 요청하고 정보를 수집합니다. 일별 원시 ML 예측을 현장 정보로 만들기 위해 저희는 분기에 한 번씩 최신 일별 예측을 영업 팀에 배포합니다. 또한 사용량 기록으로는 알 수 없는 예측되는 고객 행동 변경 사항에 대한 이들의 통찰력을 요청합니다. 그리고 제품에 적용될 예정인 변경 사항에 대한 의견과 더불어 다양한 요소의 회계 처리를 수집합니다. 이 정보를 결합하여 ML 예측에 필요한 조정이 무엇인지 결정합니다. 이러한 조정은 특정 월, 분기 및 연도의 각 날짜를 위해 계정 수준에 적용할 수 있는 달러 액수입니다. 또한 모든 계정 또는 계정 그룹에 걸쳐 배포되는 상위 요소를 조정합니다.
  3. 기록의 ML 예측을 생성 및 조정합니다. 필요한 정보가 준비되었다면 최신 ML 예측을 사용하여 조정 파이프라인으로 실행합니다.
  4. 조정된 예측을 분석, 검토 및 업데이트합니다. 조정된 예측은 여러 정밀 검사와 이전 예측 편향, 소비 동향 및 계절성 분석이 포함된 엄격한 검토 프로세스를 거칩니다. 이 프로세스는 종종 예측에 추가 조정이 필요하다는 것을 알려줍니다.
  5. 일별 업데이트와 더불어 최종 예측을 배포합니다. 최종 검토를 통과하면 예측은 당사 분기별 수익 계획으로 지정되며 배포됩니다. 여기에는 일별 보고 대시보드로의 추진이 포함됩니다. 이는 최신 예측과 더불어 분기별 계획을 보여줍니다. 이 분기별 프로세스에서 결정된 조정은 다음 원시 일별 예측에도 적용됩니다. 일별 예측에 대한 일부 조정은 새로운 정보를 습득함에 따라 규모가 줄어듭니다. 반면에 회계 조정과 같은 다른 조정은 분기가 끝날 때까지 규모를 유지합니다. 또한 필요한 경우 분기 중반에 조정을 업데이트합니다.

Snowflake 예측 프로세스

성공적인 예측의 핵심: 데이터, 파트너십 및 플랫폼

데이터, 데이터 그리고 또 데이터

데이터 과학자로서 저희는 메트릭, 기능 엔지니어링, 모델 선택, 초매개변수 조정 및 검증 방법론과 같은 모델링 프로세스의 관점에 집중하는 것을 선호합니다. 이러한 부분은 모두 중요한 주제입니다. 하지만 모든 적절한 데이터를 한데 모아 두고 바로 접근할 수 있도록 하는 것의 중요성을 잊어서는 안 됩니다.

Snowflake 내에서 저희는 ERP, Salesforce와 같은 비즈니스 시스템에서 가져온 데이터, Dun & Bradstreet와 같은 Snowflake 데이터 마켓플레이스 파트너로부터 가져온 타사 데이터 및 저희 사내 청구 엔진과 당사 제품이 생성한 방대한 양의 메타데이터와 같이 사내에서 개발한 데이터 소스에서 가져온 데이터를 중앙 집중화합니다. 중앙 집중화된 진실 공급원을 통해 저희는 매일 업데이트되는 비즈니스에 대한 전반적인 관점을 개발할 수 있습니다.

Snowflake는 모든 관련 데이터를 위한 중앙 집중화된 진실 공급원입니다

다양한 비즈니스 기능을 포함한 파트너십

변동성이 높은 비즈니스로 인해 예측 프로세스는 Snowflake의 전체적인 팀 파트너십에 의존합니다. 앞서 강조했듯이 저희는 실제로 확인하는 내용과 예측을 비교하기 위해 피드백을 수집하려 영업 팀과 긴밀하게 업무를 진행합니다. 이를 통해 저희는 사용 가능한 데이터에서 예측할 수 없는 고객 소비의 모든 예측 불가능한 변경 사항을 파악하고 이해할 수 있습니다.

영업 팀과 더불어 저희는 제품, 회계 및 기업 재무 계획 팀과 협업하여 소비에 영향을 주는 기타 요소를 이해합니다.

규모, 유연성 및 제어를 포함한 데이터 플랫폼

올바른 데이터 클라우드 플랫폼을 보유하고 있기에 저희 팀은 더 빠르게 움직이고 여러 팀 및 데이터 소스와 쉽게 협업할 수 있습니다. Snowflake의 다양한 관점은 저희 팀에 큰 변화를 줍니다.

  • 대규모 성능: Snowflake 이용자가 많기에 타 부서와의 리소스 경합 또는 중요한 순간에 느린 쿼리 경험을 방지하는 것이 중요합니다. 멀티 클러스터 컴퓨팅과 자동 크기 조정을 통해 Snowflake는 저희가 요청한 모든 양의 데이터 또는 사용자를 처리할 수 있습니다.
  • 안전함 및 통제됨: 저희 팀은 중요한 재무 데이터를 업무에 많이 사용합니다. 행 수준 액세스 정책 및 데이터 마스킹과 같은 다수 공동 거버넌스 제어는 올바른 사람과 올바른 데이터를 공유할 수 있도록 미세 조정된 제어를 제공합니다.
  • 중앙 집중화된 진실 공급원: 이 주제를 앞서 언급했었지만 하나의 중앙 집중화된 장소에서 즉각적으로 ERP 또는 타사 데이터 공급자가 제공한 관련 데이터에 액세스할 수 있다면 비즈니스에 대한 360도 전방위 관점을 개발할 수 있습니다.
  • 자동화: 저희는 매일 다양한 지표를 다시 예측합니다. Snowflake의 엄청난 성능을 통해 날마다 매우 복잡한 모든 대규모 변환이 가능합니다. 또한 Snowflake의 쉬운 사용을 통해 이러한 대규모 데이터 파이프라인을 인원이 적은 팀이 유지할 수 있습니다. 따라서 기본 플랫폼의 복잡성에 대처하는 대신 핵심적인 업무에 집중할 수 있도록 시간을 절약합니다.

비즈니스가 소비 기반 비즈니스 모델을 계속해서 채택함에 따라 다음과 같은 3가지 요소로 주요 재무 메트릭을 정확하게 예측할 수 있을 것입니다. 1) 데이터 과학자를 재무 조직 내에 투입. 2) 원활한 데이터 중앙 집중화, 활용 및 거버넌스를 위해 데이터 클라우드 사용. 3) 조직 전반에 걸쳐 여러 팀과 밀접한 관계 구축 및 유지.