Mixpanel:合并重复的人物资料并合并事件

Mixpanel: Merge duplicate people profiles and also merge events

由于代码中标识符的切换,我有重复的配置文件。我想现在合并重复的个人资料,并合并事件/activity 提要。

我通过调用

让 API 正常工作

deduplicate_people(prop_to_match='$email',merge_props=True,case_sensitive=False,backup=True,backup_file=None)

实际上删除了重复项,但事件/activity 提要未合并。所以我会失去很多事件。

有没有办法同时删除重复项和合并事件/activity 提要?

重复的发生是因为有些人使用 ID 而其他人使用电子邮件作为 distinct_id 由于标识符的更改。事件由该 ID 或电子邮件引用给相应的人。

所以这就是我最终为人们及其事件重新创建身份映射所做的事情:

我使用 Mixpanel 的 API (export_people / export_events) 创建了人物和事件的备份。我编写了一个脚本,为使用实际 ID 作为 distinct_id 而不是电子邮件的人创建映射 "distinct_id <-> email"(每个人都有一个 $email 字段,无论 $distinct_id 的内容如何).

然后我查看了所有导出的事件。对于 ID 为 distinct_id 的每个事件,我使用映射将 distinct_id 更改为电子邮件。更新的事件保存在 JSON 文件中。从而创建从事件到使用电子邮件的人的引用,如 distinct_id——否则丢失的事件。

然后我继续使用 Mixpanel 中的重复数据删除 API 删除所有重复项——从而丢失了一些事件。现在我从之前的步骤中导入了事件,这让我恢复了那些丢失的事件。

使用此方法前需要考虑的三个开放性问题:

  1. 我相信事件实际上并没有在重复数据删除时被删除。因此,通过再次导入它们,系统中可能存在重复的事件,这些事件只是没有被引用到某个人,并且可能会在某个时候出现。

  2. $email 的重复数据删除确实将使用电子邮件的人保留为 distinct_id,并删除了具有实际 ID 的人。我不知道这是每次都是真的还是巧合。对于仍然使用 ID 为 distinct_id.

  3. 的人,我的方法将失败
  4. 我想通常不鼓励像这样破解 distinct_id,因为犯错可能会导致数据丢失。所以一定要做好..