콘솔로 이동

BigQuery로 예측 데이터 내보내기

추가 분석을 위해 Firebase 예측 데이터를 BigQuery로 내보낼 수 있습니다. BigQuery를 사용하면 BigQuery SQL로 데이터를 분석하여 다른 클라우드 제공업체로 내보내거나, 맞춤 ML 모델에 데이터를 사용할 수 있습니다.

BigQuery 내보내기 사용 설정

  1. Firebase Console의 통합 페이지로 이동합니다.

  2. BigQuery 카드에서 연결을 클릭합니다.

  3. 화면의 안내에 따라 BigQuery를 사용 설정합니다.

프로젝트를 BiqQuery에 연결하면 Firebase는 다음과 같이 작동합니다.

BigQuery 내보내기를 중지하려면 Firebase Console에서 프로젝트를 연결 해제합니다.

어떤 유형의 데이터를 BigQuery로 내보내나요?

프로젝트의 각 앱에서 데이터 내보내기를 통해 각 사용자의 예측 데이터가 포함된 테이블이 생성됩니다. 평가 집합의 일부로 예측 기록을 사용한 경우에는 평가 라벨과 점수도 함께 내보냅니다. 평가 라벨은 예측이 음성이었으면 0, 예측이 양성이었으면 1이 될 수 있습니다.

홀드아웃/평가 데이터란 무엇인가요?

일부 데이터는 학습에 직접 사용되지 않습니다. 일반적인 지도 학습 작업의 경우와 마찬가지로 Firebase 예측에서는 데이터 중 20%를 홀드아웃 데이터로 두고 나머지 80%만 사용하여 모델을 학습합니다. 그런 다음 모델의 성능을 평가하기 위해 학습 구간에 쓴 데이터를 기반으로 홀드아웃 세트에서 사용자의 예측을 생성하고 라벨 구간에서 생성된 라벨을 기반으로 각 사용자의 실제 결과와 비교합니다.

내보낸 데이터로 무엇을 할 수 있나요?

BigQuery 내보내기에는 점수 및 라벨이 지정된 홀드아웃 데이터와 함께 모든 위험 프로필의 원시 예측 데이터가 포함됩니다.

원시 예측 데이터 액세스

모든 위험 프로필에서 계산된 예측 결과 외에도 모든 사용자의 원시 점수는 물론 라벨이 지정된 홀드아웃 데이터 세트를 확인할 수 있습니다. 이 데이터를 사용하여 자체 예측의 성능을 평가하거나 UI에 정의된 3가지 위험 허용 범위 프로필에 속하지 않는 사용자 그룹을 만들 수 있습니다.

BigQuery로 데이터 전송

BigQuery Data Transfer Service를 사용하면 Firebase용 Google 애널리틱스, Crashlytics, Google Marketing Platform, Google Ads, YouTube의 데이터를 완전 관리형 방식에 따라 일정에 맞춰 BigQuery로 자동 전송할 수 있습니다. 그런 다음 예측 데이터를 사용하여 지출이 예상되는 사용자가 가장 많은 획득 채널을 확인하는 등의 정교한 분석을 할 수 있습니다.

예측 내보내기에는 앱 설치의 고유 인스턴스를 식별하는 instance_id 필드가 있습니다. 이 값을 다른 데이터와 함께 사용할 수 있습니다.

원하는 곳으로 예측 내보내기

예측이 Firebase 원격 구성, Firebase 클라우드 메시징, Firebase A/B 테스팅과 통합되어 있으므로 서버측에서 예측 결과에 액세스하거나 다른 타사 솔루션으로 푸시해야 하는 경우가 있을 수 있습니다. 현재 데이터를 내보내는 데 부과되는 요금은 없습니다.

다음과 같은 방법으로 데이터를 내보낼 수 있습니다.

  • BigQuery 웹 UI 사용
  • CLI 명령어 bq extract 실행
  • API 또는 클라이언트 라이브러리를 통해 추출 작업 제출

CSV 내보내기를 위해 모든 예측 데이터 가져오기

다음 샘플 쿼리는 CSV나 Google 스프레드시트에 직접 내보낼 수 있는 형태로 예측 데이터를 구성합니다.

SELECT
  FORMAT_TIMESTAMP("%Y%m%d",u.prediction_time) AS prediction_date,
  u.instance_id,
  u.app_id,
  u.project_id,
  u.prediction_time,
  p.prediction_name,
  p.score,
  p.id,
  p.evaluation_info.label,
  p.evaluation_info.score AS label_score,
  r.risk_profile_name,
  r.prediction_result
FROM
  Table_Name u,
  u.predictions p,
  p.risk_profiles r
ORDER BY
  u.prediction_time ASC
LIMIT 10

모델 평가에 사용된 모든 예측 세부정보 가져오기(홀드아웃)

SELECT
  FORMAT_TIMESTAMP("%Y%m%d",u.prediction_time) AS prediction_date,
  u.instance_id,
  u.app_id,
  u.project_id,
  u.prediction_time,
  p.prediction_name,
  p.score,
  p.id,
  p.evaluation_info.label,
  p.evaluation_info.score AS label_score,
  r.risk_profile_name,
  r.prediction_result
FROM
  Table_Name u,
  u.predictions p,
  p.risk_profiles r
WHERE
  p.evaluation_info.label is not null
ORDER BY
  u.prediction_time ASC
LIMIT 10

예측 데이터와 애널리틱스 데이터를 결합하여 더욱 강력한 분석 수행

Firebase용 Google 애널리틱스에 BigQuery 내보내기를 사용하면 애널리틱스 이벤트 데이터와 예측을 조합하여 더욱 강력한 분석을 수행할 수 있습니다.

앱 제거가 가장 많을 것으로 예측되는 국가 분석

SELECT
  predictions.prediction_name,
  risk_profiles.risk_profile_name,
  events.geo.country,
  COUNT(1) AS count
FROM
  Analytics_Table_Name events,
  Predictions_Table_Name predictions_data,
  predictions_data.predictions predictions,
  predictions.risk_profiles risk_profiles
WHERE
  predictions.prediction_name = 'churn'
  AND risk_profiles.prediction_result = 'POSITIVE'
  AND predictions_data.user_id = events.user_id
GROUP BY
  predictions.prediction_name,
  risk_profiles.risk_profile_name,
  events.geo.country
ORDER BY
  risk_profiles.risk_profile_name

애널리틱스의 획득 채널 데이터를 사용하여 지출 예측 사용자가 가장 많은 채널 확인

SELECT
  predictions.prediction_name,
  risk_profiles.prediction_result,
  risk_profiles.risk_profile_name,
  events.traffic_source.source,
  COUNT(1) as user_count
FROM
  Predictions_Table_Name predictions_data,
  predictions_data.predictions predictions,
  predictions_data.predictions predictions,
  predictions.risk_profiles risk_profiles
WHERE
  predictions.prediction_name = 'spend'
  AND risk_profiles.prediction_result = 'POSITIVE'
  AND predictions_data.user_id = events.user_id
GROUP BY
  predictions.prediction_name,
  risk_profiles.prediction_result,
  risk_profiles.risk_profile_name,
  events.traffic_source.source
ORDER BY
   user_count desc, risk_profiles.risk_profile_name

가격

예측에서 데이터를 내보낼 때는 요금이 부과되지 않으며, BigQuery는 넉넉한 무료 사용 한도를 제공합니다. 자세한 내용은 BigQuery 가격 책정 또는 BigQuery 샌드박스를 참조하세요.