BigQuery数据与Google Analytics相比

时间:2015-02-09 13:46:53

标签: google-analytics google-bigquery

我似乎无法获得与BigQuery中的Google Analytics Premium相同数量的会话和用户。如果这与Google Analytics中的数字不对应,我会使用fullvisitorID来计算会话数(计数)和用户数(唯一计数)?

2 个答案:

答案 0 :(得分:3)

虽然 @Felipe Hoffa 是正确的, COUNT(DISTINCT x,10000)会让您获得更准确的数字,但可以通过制作10,000来进一步增强它数量高达1,000,000(我相信这是目前最大的“采样”率:BigQuery Documentation of Count Distinct)。由于很多人都没有在BigQuery中使用Google Anaytics Premium数据,因此这些问题的社区非常小。作为一个在每日基础上使用BigQuery中的GA数据的人,我可以告诉你我的研究和验证表明,以下度量标准定义与您可以获得的Google Analytics(分析)未采样报告将告诉您的内容大致一致。

<强>会话

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

用户

count(distinct concat(fullvisitorid, string(visitid)), 1000000) as sessions

新用户

count(distinct fullvisitorid, 1000000) as users

<强>浏览量

count(distinct (case when totals.newvisits <> 0 then concat(fullvisitorid, string(visitid)) end), 1000000) as new_users

独特的综合浏览量

sum(case when hits.type = "PAGE" then 1 else 0 end) as pageviews

<强>跳出

count(distinct (case when hits.type = "PAGE" then concat(fullvisitorid, string(visitid), hits.page.pagepath) end), 1000000) as unique_pageviews

答案 1 :(得分:1)

更新:BQ现在支持EXACT_COUNT_DISTINCT()函数。


正如@ Pentium10所说,COUNT(DISTINCT x)给出了BigQuery上大数字的近似结果。

确切结果的2种替代方案:

COUNT(DISTINCT x, 10000)

如果所述计数小于10000,则给出一个确切的计数。更改值更高(结果更慢)

SELECT COUNT(*) FROM (
  SELECT x
  FROM [table]
  GROUP EACH BY x
)

还以精确的方式计算不同的值。