- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Firebase 通过 Firebase 远程配置提供拆分测试功能,但无法过滤具有用户属性(实际上具有任何属性)的同类群组部分中的保留。
为了寻求这个问题的解决方案,我正在寻找 BigQuery,因为 Firebase Analytics 提供了将数据导出到该服务的可用方法。
但是我遇到了很多问题,谷歌没有答案或例子可以指出我正确的方向。
一般问题:
作为第一步,我需要聚合代表相同数据 firebase 队列的数据,所以我可以确定我的计算是正确的:
下一步应该只是对查询应用约束,以便它们匹配自定义用户属性。
到目前为止,我得到了什么:
主要问题 - 用户计算的巨大差异。有时大约有 100 个用户,但有时接近 1000 个。
这是我使用的方法:
# 1
# Count users with `user_dim.first_open_timestamp_micros`
# in specified period (w0 – week 1)
# this is the way firebase group users to cohorts
# (who started app on the same day or during the same week)
# https://support.google.com/firebase/answer/6317510
SELECT
COUNT(DISTINCT user_dim.app_info.app_instance_id) as count
FROM
(
TABLE_DATE_RANGE
(
[admob-app-id-xx:xx_IOS.app_events_],
TIMESTAMP('2016-11-20'),
TIMESTAMP('2016-11-26')
)
)
WHERE
STRFTIME_UTC_USEC(user_dim.first_open_timestamp_micros, '%Y-%m-%d')
BETWEEN '2016-11-20' AND '2016-11-26'
# 2
# For each next period count events with
# same first_open_timestamp
# Here is example for one of the weeks.
# week 0 is Nov20-Nov26, week 1 is Nov27-Dec03
SELECT
COUNT(DISTINCT user_dim.app_info.app_instance_id) as count
FROM
(
TABLE_DATE_RANGE
(
[admob-app-id-xx:xx_IOS.app_events_],
TIMESTAMP('2016-11-27'),
TIMESTAMP('2016-12-03')
)
)
WHERE
STRFTIME_UTC_USEC(user_dim.first_open_timestamp_micros, '%Y-%m-%d')
BETWEEN '2016-11-20' AND '2016-11-26'
# 3
# Now we have users for each week w1, w2, ... w5
# Calculate retention for each of them
# retention week 1 = w1 / w0 * 100 = 25.72181359
# rw2 = w2 / w1 * 100
# ...
# rw5 = w5 / w1 * 100
# 4
# Shift week 0 by one and repeat from step 1
user_dim.device_info.device_id
和 user_dim.device_info.resettable_device_id
是 null
? user_dim.app_info.app_id
文档中缺少(如果 Firebase 支持队友会阅读此问题)event_dim.timestamp_micros
和 event_dim.previous_timestamp_micros
应该使用,我无法达到他们的目的。 最佳答案
Any tips and directions to go about building complex query which may aggregate and calculate all data required for this task in one step is very appreciated.
yes, generic bigquery will work fine
#standardSQL
WITH activities AS (
SELECT answers.owner_user_id AS id,
FORMAT_DATE('%Y-%m', DATE(answers.creation_date)) AS period
FROM `bigquery-public-data.stackoverflow.posts_answers` AS answers
JOIN `bigquery-public-data.stackoverflow.posts_questions` AS questions
ON questions.id = answers.parent_id
WHERE CONCAT('|', questions.tags, '|') LIKE '%|google-bigquery|%'
GROUP BY id, period
), cohorts AS (
SELECT id, MIN(period) AS cohort FROM activities GROUP BY id
), periods AS (
SELECT period, ROW_NUMBER() OVER(ORDER BY period) AS num
FROM (SELECT DISTINCT cohort AS period FROM cohorts)
), cohorts_size AS (
SELECT cohort, periods.num AS num, COUNT(DISTINCT activities.id) AS ids
FROM cohorts JOIN activities ON activities.period = cohorts.cohort AND cohorts.id = activities.id
JOIN periods ON periods.period = cohorts.cohort
GROUP BY cohort, num
), retention AS (
SELECT cohort, activities.period AS period, periods.num AS num, COUNT(DISTINCT cohorts.id) AS ids
FROM periods JOIN activities ON activities.period = periods.period
JOIN cohorts ON cohorts.id = activities.id
GROUP BY cohort, period, num
)
SELECT
CONCAT(cohorts_size.cohort, ' - ', FORMAT("%'d", cohorts_size.ids), ' users') AS cohort,
retention.num - cohorts_size.num AS period_lag,
retention.period as period_label,
ROUND(retention.ids / cohorts_size.ids * 100, 2) AS retention , retention.ids AS rids
FROM retention
JOIN cohorts_size ON cohorts_size.cohort = retention.cohort
WHERE cohorts_size.cohort >= FORMAT_DATE('%Y-%m', DATE('2015-01-01'))
ORDER BY cohort, period_lag, period_label
关于Firebase 导出到 BigQuery : retention cohorts query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41509431/
以下两种保留配置之间有什么区别? offsets.retention.minutes log.retention.minutes 我不知道它有什么不同或相互联系。据我了解,一旦偏移量被删除,日志中的记
在文档中 log.cleaner.delete.retention.ms: How long are delete records retained? log.retention.ms: The nu
我正在考虑为我的应用使用 Firebase Analytics。我很好奇: 保留的标准是什么?保留是否跟踪具有我必须发送的唯一 ID 或唯一设备的用户帐户? 如果用户从多个设备登录到我的应用程序,我将
是否可以有一个配置,其中给定名称或类型的所有注释自动RetentionPolicy.RUNTIME ? 我遇到了一个问题,我需要在运行时使用反射来搜索某些注释。但这些是分散在应用程序各处的常见注释,例
在java中的@Retention注解的源代码中,@Retention是在其定义本身中使用的,这怎么可能。 连 RetentionPolicy 都设置在RUNTIME,那么它怎么可能在它还没有准备好运
Java 8 类型注释 (JSR 308) 允许类型检查器执行静态代码分析。例如,The Checker Framework可以通过 @NonNull 注释检查可能的nullness。 各个项目定义了
根据Kotlin language spec ,有三种类型的注释保留: Source retention (accessible by source-processing tools); Binary
有没有办法在配置文件中指定 storage.tsdb.retention 标志而不是在命令行上传递?我针对不同的情况有不同的配置文件,如果我也可以在配置文件中指定 storage.tsdb.reten
这段代码中这些java.lang.annotation导入的目的是什么?为什么需要它们来定义 MyAnnotation? import java.lang.annotation.Documented;
我想在 Prometheus 2.12 中尝试 storage.tsdb.retention.size 的特性。 我的 prometheus 保留配置是 90 天或 2GiB。我的预期是当 prome
Firebase 通过 Firebase 远程配置提供拆分测试功能,但无法过滤具有用户属性(实际上具有任何属性)的同类群组部分中的保留。 为了寻求这个问题的解决方案,我正在寻找 BigQuery,因为
我正在使用 Insights 来分析我的用户保留率,如 described on this guide它非常适合按天/周或长达 3 个月来衡量保留率。 但是我如何获得 6 个月的保留数? 最佳答案 确
我想要一个只接受 2 个值的函数,比如说一个和两个。我可以为它使用枚举,但对于 Android,使用常量 (@IntRef) 被认为更好。 所以我这样做了: @Retention(RetentionP
我被要求为我的 prometheus 的 storage.tsdb.retention.time 提供最小值。我给它作为 1d。我们能不能给值(value)低于这个。我的意思是我们可以为这个标志指定以
我试图了解 Java 1.5 的保留策略。但没有得到清晰的图片。 作为per JavaDoc , CLASS - 注释将被记录在类文件中编译器,但不需要在运行时由 VM 保留。 RUNTIME - 注
我正在尝试使用 Java 在 Kafka 中的压缩主题上实现一个最小的工作示例。我的压缩运行良好,但是当我按照 kafka 文档中的描述使用键和空值编写消息时,看不到删除发生。 使用的库版本:kafk
的主要作用之一log.retention.byte 参数是避免 kafka 磁盘已满,或者换句话说,清除数据日志以避免 kafka 磁盘已满 根据以下链接: https://docs.hortonwo
所以我试图为创建一个别名 @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface ApiRe
我正在使用 TestNG 测试业务服务,在 Spring Boot 应用程序中进行模拟单元测试。 应用程序是多模块spring boot项目。我正在为业务模块编写单元测试。 我在pom中添加了以下依赖
我有最近7天涌入的数据。我应用了保留政策,突然所有数据被删除。我有大量的Influx执行个体。 CREATE RETENTION POLICY stats_30_day ON server_stats
我是一名优秀的程序员,十分优秀!