9

人が多すぎるため、mixpanel で次の計画に取り掛かろうとしています。最初に古いユーザーを削除したいと思います。

古いユーザーを一括削​​除する簡単な方法/スクリプト/API はありますか?

4

4 に答える 4

8

はいあります。HTTP仕様を見ると、次のことがわかります。

$削除

string Mixpanel からプロファイルとそのすべてのプロパティを完全に削除します。値は無視されます - プロファイルは、リクエスト自体の $distinct_id によって決定されます。

// This removes the user 13793 from Mixpanel
{
    "$token": "36ada5b10da39a1347559321baf13063",
    "$distinct_id": "13793",
    "$delete": ""
}

バッチ リクエスト

http://api.mixpanel.com/track/のイベント エンドポイントとhttp://api.mixpanel.com/engage/のプロファイル更新エンドポイントの両方が、バッチ更新を受け入れます。メッセージのバッチをエンドポイントに送信するには、GET 要求の代わりに POST を使用する必要があります。単一の JSON オブジェクトをデータ クエリ パラメーターとして送信する代わりに、base64 でエンコードされたオブジェクトの JSON リストを、application/x-www-form-urlencoded POST 要求本文のデータ パラメーターとして送信します。

// Here's a list of events
[
    {
        "event": "Signed Up",
        "properties": {
            "distinct_id": "13793",
            "token": "e3bc4100330c35722740fb8c6f5abddc",
            "Referred By": "Friend",
            "time": 1371002000
        }
    },
    {
         "event": "Uploaded Photo",
          "properties": {
              "distinct_id": "13793",
              "token": "e3bc4100330c35722740fb8c6f5abddc",
              "Topic": "Vacation",
              "time": 1371002104
          }
    }
]

Base64 でエンコードされたリストは次のようになります。

Ww0KICAgIHsNCiAgICAgICAgImV2ZW50IjogIlNpZ25lZCBVcCIsDQogICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgImRpc3RpbmN0X2lkIjogIjEzNzkzIiwNCiAgICAgICAgICAgICJ0b2tlbiI6ICJlM2JjNDEwMDMzMGMzNTcyMjc0MGZiOGM2ZjVhYmRkYyIsDQogICAgICAgICAgICAiUmVmZXJyZWQgQnkiOiAiRnJpZW5kIiwNCiAgICAgICAgICAgICJ0aW1lIjogMTM3MTAwMjAwMA0KICAgICAgICB9DQogICAgfSwNCiAgICB7DQogICAgICAgICAiZXZlbnQiOiAiVXBsb2FkZWQgUGhvdG8iLA0KICAgICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgICAiZGlzdGluY3RfaWQiOiAiMTM3OTMiLA0KICAgICAgICAgICAgICAidG9rZW4iOiAiZTNiYzQxMDAzMzBjMzU3MjI3NDBmYjhjNmY1YWJkZGMiLA0KICAgICAgICAgICAgICAiVG9waWMiOiAiVmFjYXRpb24iLA0KICAgICAgICAgICAgICAidGltZSI6IDEzNzEwMDIxMDQNCiAgICAgICAgICB9DQogICAgfQ0KXQ==

したがって、イベントをバッチとして送信する POST 要求の本文は次のようになります。

data=Ww0KICAgIHsNCiAgICAgICAgImV2ZW50IjogIlNpZ25lZCBVcCIsDQogICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgImRpc3RpbmN0X2lkIjogIjEzNzkzIiwNCiAgICAgICAgICAgICJ0b2tlbiI6ICJlM2JjNDEwMDMzMGMzNTcyMjc0MGZiOGM2ZjVhYmRkYyIsDQogICAgICAgICAgICAiUmVmZXJyZWQgQnkiOiAiRnJpZW5kIiwNCiAgICAgICAgICAgICJ0aW1lIjogMTM3MTAwMjAwMA0KICAgICAgICB9DQogICAgfSwNCiAgICB7DQogICAgICAgICAiZXZlbnQiOiAiVXBsb2FkZWQgUGhvdG8iLA0KICAgICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgICAiZGlzdGluY3RfaWQiOiAiMTM3OTMiLA0KICAgICAgICAgICAgICAidG9rZW4iOiAiZTNiYzQxMDAzMzBjMzU3MjI3NDBmYjhjNmY1YWJkZGMiLA0KICAgICAgICAgICAgICAiVG9waWMiOiAiVmFjYXRpb24iLA0KICAgICAgICAgICAgICAidGltZSI6IDEzNzEwMDIxMDQNCiAgICAgICAgICB9DQogICAgfQ0KXQ==

両方のエンドポイントは、1 つのバッチで最大 50 個のメッセージを受け入れます。通常、バッチ リクエストには、イベントに関連付けられた「time」プロパティ、またはプロファイルの更新に関連付けられた「$time」属性があります。

于 2014-02-27T23:15:58.537 に答える
0

Mixpanel Python API をインストールします (ここをクリック)

pip install mixpanel-api 

Python ファイル : delete_people.py を作成し、以下のコードをコピーして貼り付け、プロジェクトの構成 (シークレット、トークン、フィルター パラメーターなど) に従って変更を実行します。

from mixpanel_api import Mixpanel
from datetime import datetime
now = datetime.now()
current_time = now.strftime("%Y_%m_%d_%H_%M_%S")
if __name__ == '__main__':
    #Mixpanel Project :     
    credentials = {
    'API_secret': '<Your API Secret>',
    'token': '<Your API Token>',
    }
    # first we are going to make a Mixpanel object instance
    mlive = Mixpanel(credentials['API_secret'])

    # Mixpanel object with token to delete people
    ilive = Mixpanel(credentials['API_secret'],credentials['token'])

    #Prepare parameters for delete condition
    #<filter_by_cohort_here> - Get from mixpanel explore UI, from engage api xhr call (https://mixpanel.com/api/2.0/engage)
    parameters = {'filter_by_cohort':'<filter_by_cohort_here>','include_all_users':'true','limit':0}

    # Backup data before deleting
    print("\n Creating backup of data\n")
    mlive.export_people('backup_people_'+current_time+'.json', parameters)

    # Delete people using parameters filter
    print("\n Backup Completed! Deleting Data\n")
    ilive.people_delete(query_params=parameters)

    print("\n Data Deleted Successfully\n")

ターミナルから以下のコマンドを実行

python delete_people.py

注: mixpanel api の people_delete メソッドは、このスクリプトを配置したディレクトリと同じディレクトリに backup_timestamp.json ファイルを自動的に作成します。

于 2019-11-26T14:41:29.837 に答える