Firebase to BigQuery: количество активных пользователей не совпадает - PullRequest
0 голосов
/ 15 мая 2019

Я экспортирую данные из Firebase в BigQuery, но цифры, показанные в Firebase, отличаются от тех, которые я извлекаю вручную в BigQuery, когда я СЧИТЫВАЮ (DISTINCT) пользователей с событием USER_ENGAGEMENT.

В Firebase я определил "Все пользователи "Аудитория".На панели относительной аудитории, График активности (который показывает активных пользователей день за днем ​​против предыдущего месяца), я вижу, что 1 апреля у меня было 388 597 пользователей.

У меня есть стандартное извлечение в реальном времени из Firebase в BigQuery, которое интегрирует событиеdata, и я хотел бы найти здесь тот же номер.

Этот запрос я использую в BigQuery

SELECT
  PARSE_DATE('%Y%m%d', event_date) AS Date
  , COUNT(DISTINCT user_pseudo_id ) AS Active_Users
FROM
  `xxxx.analytics_162988291.events_*`
WHERE FORMAT_DATE('%Y-%m', PARSE_DATE('%Y%m%d', event_date)) = FORMAT_DATE('%Y-%m', DATE_ADD(CURRENT_DATE(), INTERVAL -EXTRACT(DAY FROM CURRENT_DATE()) DAY))
  and event_name = 'user_engagement'
  GROUP BY Date
  ORDER BY Date;

На 1 апреля BigQuery возвращает 391394 различных пользователей, что на 2797 большечем Firebase.

Я нашел здесь Firebase против BigQuery Active Users Расхождения , что это может быть связано с настройками часового пояса.Мой проект установлен как GMT + 1, в то время как BigQuery использует UTC для именования таблиц.Однако в моем запросе я уже группируюсь по EVENT_DATE.Чтобы быть уверенным, я в любом случае сравнивал изо дня в день 2 цифры за апрель месяц.вот цифры:

Firebase         BigQuery       Difference
 388 597         391 394        -2 797    
 378 393         374 023         4 370    
 372 890         374 601        -1 711    
 364 520         366 367        -1 847    
 375 903         374 479         1 424    
 453 630         452 077         1 553    
 476 413         476 401         12    
 398 481         396 227         2 254    
 378 338         375 531         2 807    
 368 699         369 699        -1 000    
 363 063         363 436        -373    
 369 874         368 441         1 433    
 460 472         454 647         5 825    
 481 832         487 214        -5 382    
 395 781         392 564         3 217    
 370 940         366 189         4 751    
 122 434         122 549        -115    
 342 249         344 086        -1 837    
 371 934         367 609         4 325    
 391 817         391 765         52    
 390 550         391 367        -817    
 412 276         408 876         3 400    
 377 219         379 659        -2 440    
 370 611         366 901         3 710    
 367 272         365 267         2 005    
 365 307         369 399        -4 092    
 438 676         439 990        -1 314    
 471 515         471 363         152    
 392 256         395 532        -3 276    
 369 500         368 416         1 084   
Total 
 11 581 442      11 566 069      15 373

Если бы это была проблема с часовым поясом, я бы сказал, что общая разница не должна была быть слишком отличной, чем в любой другой день, но вместо этого разница более значительна.

Кроме того, поскольку я использую StandardSQL, COUNT (DISTINCT) должен быть точным.

На данный момент я подозреваю, что Firebase определяет «активность пользователя» как нечто иное, но я не понимаю, как.

Справка!

РЕДАКТИРОВАТЬ

Читая Firebase -> BigQuery, как получить активных пользователей за этот месяц, неделю, день Я начал замечать, как люди используют поле группировки, отличное от того, которое я использую (user_pseudo_id), однако не похоже, что в моей таблице events_ * есть другие поля app_info. *, Отличные от

app_info.id STRING
app_info.version    STRING
app_info.install_store STRING
app_info.firebase_app_id    STRING
app_info.install_source STRING

.быть просто проблемой группировки?

...