{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Instructions\n",
    "\n",
    "Get data\n",
    "- Download the latest backup via `wget` from [Render Dashboard](https://dashboard.render.com/d/dpg-cgfrde82qv28tc0tavcg-a/recovery). Ask Martin for access. Name it something like `studio.sql.gz`\n",
    "- wget -O studio.sql.gz link\n",
    "- copy the link and `wget link`. Note this can take ~ 0.5hr to download\n",
    "- Unzip it with `gzip -d studio.sql.gz` (also takes a bit of time)\n",
    "\n",
    "Some of these need to be done once:\n",
    "- sudo apt-get install postgresql\n",
    "- sudo service postgresql start\n",
    "- sudo service postgresql status\n",
    "- export PATH=$PATH:/usr/lib/postgresql/12/bin (maybe?)\n",
    "- need to move it to local dir (pgdata), see: https://fitodic.github.io/how-to-change-postgresql-data-directory-on-linux\n",
    "- vim /etc/postgresql/12/main/pg_hba.conf and change to \n",
    "  - `local   all             all                                     trust` \n",
    "  - `local   all             all                                     trust` \n",
    "- sudo service postgresql restart\n",
    "- createdb -U postgres mydatabase  (this can take a while)\n",
    "\n",
    "Finally:\n",
    "Load it into postres via `psql -U postgres -d mydatabase -f studio.sql`\n",
    "This is taking forever now `6:54:43.33` \n",
    "\n",
    "Things that can be useful (some debugging mumble jumble for imgrating data disk):\n",
    "- psql -U postgres -d mydatabase\n",
    "- ALTER SYSTEM SET max_wal_size = '1GB';\n",
    "- SHOW max_wal_size;\n",
    "- pg_lsclusters\n",
    "- sudo pg_ctlcluster 12 main start\n",
    "- Check postgres user belongs to ssl-cert user group: \n",
    "- chown -R postgres:postgres pgdata\n",
    "- chmod -R u+rwx,g-rwx,o-rwx pgdata\n",
    "- sudo chown postgres.postgres /var/lib/postgresql/12/main/global/pg_internal.init\n",
    "- sudo rm -rf 12/main/global/pg_internal.init\n",
    "- sudo rm -rf /var/lib/postgresql/12/main/pg_logical/replorigin_checkpoint\n",
    "- sudo -i -u postgres\n",
    "- /usr/lib/postgresql/12/bin/pg_ctl restart -D /var/lib/postgresql/12/main\n",
    "\n",
    "\n",
    "Create user? (only first time)\n",
    "- psql -U postgres\n",
    "- CREATE ROLE tony WITH LOGIN PASSWORD '123';\n",
    "- \\q\n",
    "\n",
    "Then need to authenticate? (need to redo this after recreating a new database everytime) \n",
    "- psql -U postgres -d mydatabase\n",
    "- \\du\n",
    "- \\dt\n",
    "- \\l+ (check size)\n",
    "- SELECT COUNT(*) FROM bots_generatedclip;\n",
    "- GRANT ALL PRIVILEGES ON DATABASE mydatabase TO tony;\n",
    "- GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO tony;\n",
    "- \\q"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T22:22:51.804478Z",
     "start_time": "2024-04-02T22:22:48.567487Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_1058173/851980156.py:3: DeprecationWarning: \n",
      "Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),\n",
      "(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)\n",
      "but was not found to be installed on your system.\n",
      "If this would cause problems for you,\n",
      "please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466\n",
      "        \n",
      "  import pandas as pd\n"
     ]
    }
   ],
   "source": [
    "# pip install psycopg2-binary\n",
    "# make sure sqlalchemy is >=2\n",
    "import pandas as pd\n",
    "import sqlalchemy\n",
    "from suno_utils.audio import Audio\n",
    "from suno_utils.utils.s3 import open_from_s3\n",
    "import numpy as np\n",
    "import ast\n",
    "import tqdm\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from preference_helper import *\n",
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "\n",
    "engine = sqlalchemy.create_engine(\"postgresql://tony:123@localhost/mydatabase\")\n",
    "# alternative...\n",
    "# engine = sqlalchemy.create_engine(\n",
    "#     \"postgresql://studio_hga1_user:pJr5NeKjVZPxae5bp6am9qtLWVY8t5Ni@dpg-cgfrde82qv28tc0tavcg-d.replica-cyan.ohio-postgres.render.com/studio_hga1\"\n",
    "# )\n",
    "# connection = engine.raw_connection()\n",
    "# %#load_ext autoreload\n",
    "# %#autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T22:22:51.818452Z",
     "start_time": "2024-04-02T22:22:51.805739Z"
    }
   },
   "outputs": [],
   "source": [
    "# # Read the sql file and execute the query\n",
    "# with open('/home/tony/Data/Preference/studio.sql', 'r') as query:\n",
    "#     # connection == the connection to your database, in your case prob_db\n",
    "#     df = pd.read_sql_query(query.read(), connection)\n",
    "\n",
    "# pd.read_sql_query(\n",
    "#     \"SELECT COUNT(*) FROM bots_generatedclip;\",\n",
    "#     engine,\n",
    "# )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Validate some info"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T22:22:52.044093Z",
     "start_time": "2024-04-02T22:22:51.820312Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['auth_user_user_permissions' 'bots_modeltype' 'clips_textprompt'\n",
      " 'django_migrations' 'django_session' 'configs_flag_groups'\n",
      " 'django_admin_log' 'waffle_sample' 'waffle_switch' 'pg_stat_statements'\n",
      " 'auth_group_permissions' 'django_content_type' 'clips_teammembership'\n",
      " 'waffle_flag' 'waffle_flag_groups' 'waffle_flag_users'\n",
      " 'bots_generatedclip' 'bots_discordinfo' 'bots_creditpack'\n",
      " 'bots_dailytheme' 'bots_clipprompt' 'bots_generatedplaylistoverride'\n",
      " 'auth_permission' 'auth_group' 'auth_user_groups' 'auth_user'\n",
      " 'bots_actionlogging' 'bots_clipdiscordmessage' 'bots_generatedclipextra'\n",
      " 'bots_generatedplaylist' 'bots_periodcreditusage'\n",
      " 'bots_promptinspiration' 'bots_generationrequest' 'bots_playlist'\n",
      " 'bots_playlistclip' 'bots_profilefollow' 'bots_purchaseinfo'\n",
      " 'bots_userreaction' 'clips_clip' 'clips_clip_playlists' 'bots_usageplan'\n",
      " 'clips_clip_tags' 'clips_textprompt_tags' 'clips_usertoken'\n",
      " 'configs_flag_users' 'configs_sample' 'configs_switch' 'clips_playlist'\n",
      " 'clips_tag' 'clips_team' 'clips_usercliprating' 'configs_flag']\n"
     ]
    }
   ],
   "source": [
    "df_all_tables = pd.read_sql_query(\n",
    "    \"SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'\",\n",
    "    engine,\n",
    ")\n",
    "print(df_all_tables[\"table_name\"].values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T22:23:30.567241Z",
     "start_time": "2024-04-02T22:22:52.045779Z"
    }
   },
   "outputs": [],
   "source": [
    "# bots_generatedclipextra\n",
    "# these are all the logged actions\n",
    "query = \"\"\"\n",
    "SELECT * FROM bots_generatedclipextra\n",
    "\"\"\"\n",
    "bots_action_df = pd.read_sql_query(query, engine)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T22:23:56.017577Z",
     "start_time": "2024-04-02T22:23:30.568860Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5,141,198 rows\n"
     ]
    }
   ],
   "source": [
    "# bots_userreaction\n",
    "# id\tplay_count\tskip_count\tflagged\tflagged_reason\treaction_type\tupdated_at\tclip_id\tuser_id\n",
    "# this turns out to be much smaller ~ 570k\n",
    "query = \"\"\"\n",
    "SELECT * FROM bots_userreaction\n",
    "WHERE reaction_type='L' AND play_count>0\n",
    "\"\"\"\n",
    "upvoted_df = pd.read_sql_query(query, engine)\n",
    "print(f\"{upvoted_df.shape[0]:,} rows\")\n",
    "upvoted_ids = upvoted_df[\"clip_id\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T22:23:58.771869Z",
     "start_time": "2024-04-02T22:23:56.019639Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "155,057 rows\n"
     ]
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "SELECT * FROM bots_userreaction\n",
    "WHERE flagged=TRUE AND play_count>0\n",
    "\"\"\"\n",
    "flagged_df = pd.read_sql_query(query, engine)\n",
    "print(f\"{flagged_df.shape[0]:,} rows\")\n",
    "flagged_ids = flagged_df[\"clip_id\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T22:29:19.106750Z",
     "start_time": "2024-04-02T22:23:58.773556Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "62,849,629 rows\n"
     ]
    }
   ],
   "source": [
    "# ~ 4 min...X.x\n",
    "query = \"\"\"\n",
    "SELECT * FROM bots_userreaction\n",
    "WHERE updated_at>'2024-02-20' AND play_count>0\n",
    "\"\"\"\n",
    "reaction_df = pd.read_sql_query(query, engine)\n",
    "print(f\"{reaction_df.shape[0]:,} rows\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-04T13:33:55.482359Z",
     "start_time": "2024-04-04T13:33:55.000166Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "flagged\n",
       "False    62804939\n",
       "True        44690\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reaction_df[\"flagged\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-04T13:35:00.957066Z",
     "start_time": "2024-04-04T13:35:00.644012Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(44690, 9)"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reaction_df[reaction_df[\"flagged\"]].shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T22:29:19.407798Z",
     "start_time": "2024-04-02T22:29:19.108230Z"
    }
   },
   "outputs": [],
   "source": [
    "# these are continues, ~ 1,485k (much more than likes) ~ takes 3.5 mins\n",
    "# columns are:\n",
    "# 'id', 'created_at', 'updated_at', 'time_used', 'metadata', 'user_id',\n",
    "#        'status', 'discord_message_id', 'prompt_id', 'request_id',\n",
    "#        'is_generated', 's3_id', 'upvote_count', 'batch_index', 'model_name',\n",
    "#        'prompt_text', 'daily_theme_id', 'is_deleted', 'image_s3_id',\n",
    "#        'is_public', 'dislike_count', 'flag_count', 'play_count', 'skip_count',\n",
    "#        'title', 'is_public_approved', 'slug'\n",
    "\n",
    "# find all the complete clips -- this query takes ~ 10 sec\n",
    "# query = \"\"\"\n",
    "# SELECT COUNT(*) FROM bots_generatedclip\n",
    "# \"\"\"\n",
    "# clip_counts = pd.read_sql_query(query, engine)\n",
    "# all_total_clip_counts = clip_counts[\"count\"][0]\n",
    "# print(f\"all version total clips: {all_total_clip_counts}\")\n",
    "\n",
    "# query = \"\"\"\n",
    "# SELECT COUNT(*) FROM bots_generatedclip\n",
    "# WHERE status='complete' AND model_name::text LIKE '%%v3%%'\n",
    "# \"\"\"\n",
    "# clip_counts = pd.read_sql_query(query, engine)\n",
    "# all_total_clip_counts = clip_counts[\"count\"][0]\n",
    "# print(f\"v3 version total clips: {all_total_clip_counts}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:15:04.731885Z",
     "start_time": "2024-04-02T22:29:19.410541Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "58,239,575 rows\n",
      "total clips: 36510659\n"
     ]
    }
   ],
   "source": [
    "# ~ 1h 25 mins...\n",
    "# TODO: query only v3 here....\n",
    "# This is still a lot...we will have to do this in steps very soon\n",
    "# Some data eng required, disk is much cheaper\n",
    "# the generated clips table has play count issues (we need to read it without filtering on playcounts)\n",
    "# AND model_name::text LIKE '%%v3%%' AND play_count>=1\n",
    "query = \"\"\"\n",
    "SELECT * FROM bots_generatedclip\n",
    "WHERE status='complete' AND created_at>'2024-02-20' \n",
    "\"\"\"\n",
    "clip_df = pd.read_sql_query(query, engine)\n",
    "print(f\"{clip_df.shape[0]:,} rows\")\n",
    "# filter on versions\n",
    "clip_df = clip_df[\n",
    "    (clip_df[\"model_name\"].str.contains(\"v3\"))  # or v3...\n",
    "    & (clip_df[\"created_at\"] >= \"2024-02-20\")\n",
    "]\n",
    "# print(f\"total v3 selected fraction = {clip_df.shape[0] / all_total_clip_counts}\")\n",
    "total_clip_counts = clip_df.shape[0]\n",
    "print(f\"total clips: {total_clip_counts}\")\n",
    "# 9,745,619 rows\n",
    "# total v3 selected fraction = 0.11235114663577185\n",
    "# total clips: 9745619"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:15:34.055439Z",
     "start_time": "2024-04-02T23:15:04.733601Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "816,105 clips\n"
     ]
    }
   ],
   "source": [
    "# get playlists\n",
    "query = \"\"\"\n",
    "SELECT * FROM bots_playlistclip\n",
    "\"\"\"\n",
    "playlist_clip_df = pd.read_sql_query(query, engine)\n",
    "print(f\"{playlist_clip_df.shape[0]:,} clips\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Proceed with feature engineering and cleaning up"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:15:55.060582Z",
     "start_time": "2024-04-02T23:15:34.057500Z"
    }
   },
   "outputs": [],
   "source": [
    "# add clip is in playlist feature\n",
    "clip_df[\"is_in_playlist\"] = clip_df[\"id\"].isin(playlist_clip_df[\"clip_id\"].unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:16:26.060526Z",
     "start_time": "2024-04-02T23:15:55.063117Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "clips that have children 6134796 837716 \n",
      " Average continues from clip =  7.3232408119219405\n"
     ]
    }
   ],
   "source": [
    "def parse_parent_id(x):\n",
    "    if \"history\" not in x:\n",
    "        return None\n",
    "    out = x.get(\"history\", [])\n",
    "    if not isinstance(out, list) or len(out) == 0:\n",
    "        return None\n",
    "    out = out[0]\n",
    "    if isinstance(out, dict):\n",
    "        # this is the continued info, which is a dict with id and continue_at\n",
    "        return out[\"id\"]\n",
    "    else:\n",
    "        return None\n",
    "\n",
    "\n",
    "clip_df[\"continued_parent\"] = clip_df[\"metadata\"].apply(lambda x: parse_parent_id(x))\n",
    "clip_history_df = clip_df[~clip_df[\"continued_parent\"].isna()].copy()\n",
    "continued_ids = clip_history_df[\"id\"]\n",
    "has_continued_children_ids = clip_history_df[\n",
    "    \"continued_parent\"\n",
    "]  # these are the parent's ids\n",
    "print(\n",
    "    \"clips that have children\",\n",
    "    len(has_continued_children_ids),\n",
    "    len(has_continued_children_ids.unique()),\n",
    "    \"\\n\",\n",
    "    \"Average continues from clip = \",\n",
    "    len(has_continued_children_ids) / len(has_continued_children_ids.unique()),\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:16:54.199349Z",
     "start_time": "2024-04-02T23:16:26.062441Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "concat clips frac = 0.019094971690321996\n"
     ]
    }
   ],
   "source": [
    "# the nans are concats, we want to drop them for now\n",
    "concated_clips = clip_df[clip_df[\"request_id\"].isna()].copy()\n",
    "# need to kick them out...\n",
    "clip_df = clip_df[~clip_df[\"request_id\"].isna()]\n",
    "print(f\"concat clips frac = {concated_clips.shape[0] / total_clip_counts}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:16:57.899491Z",
     "start_time": "2024-04-02T23:16:54.201502Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "model_name\n",
       "chirp-v3-engine-i      23863708\n",
       "chirp-v3-engine-v0      5933292\n",
       "chirp-v3-engine-d       5869731\n",
       "chirp-v3-engine-i-d       80871\n",
       "chirp-v3-engine-s         43878\n",
       "chirp-v3-0                19522\n",
       "chirp-v3-alpha             2486\n",
       "chirp-v3-engine-exp           1\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clip_df[\"model_name\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:17:15.106047Z",
     "start_time": "2024-04-02T23:16:57.901465Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(35813489, 29)\n",
      "(35791480, 29)\n"
     ]
    }
   ],
   "source": [
    "print(clip_df.shape)\n",
    "clip_df = clip_df[\n",
    "    clip_df[\"model_name\"].isin(\n",
    "        [\n",
    "            \"chirp-v3-engine-d\",\n",
    "            \"chirp-v3-engine-v0\",\n",
    "            \"chirp-v3-engine-i\",\n",
    "            \"chirp-v3-engine-i-d\",\n",
    "            \"chirp-v3-engine-s\",\n",
    "        ]\n",
    "    )\n",
    "]\n",
    "print(clip_df.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:17:15.129627Z",
     "start_time": "2024-04-02T23:17:15.108225Z"
    }
   },
   "outputs": [],
   "source": [
    "# I fucking hate this but what can I do\n",
    "# DO NOT FILTER ON play counts yet..."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:18:19.193316Z",
     "start_time": "2024-04-02T23:17:15.131309Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(9279968, 9) 598386\n"
     ]
    }
   ],
   "source": [
    "# ~ only 1 min :) \n",
    "concat_reaction_df = reaction_df[reaction_df[\"clip_id\"].isin(concated_clips[\"id\"])].copy()\n",
    "print(concat_reaction_df.shape, concat_reaction_df['clip_id'].nunique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:18:28.554907Z",
     "start_time": "2024-04-02T23:18:19.195281Z"
    }
   },
   "outputs": [],
   "source": [
    "concat_total_play_reaction_df_sum = concat_reaction_df.groupby(\"clip_id\")[\n",
    "    \"play_count\"\n",
    "].sum()\n",
    "concat_total_play_reaction_df_sum_df = (\n",
    "    concat_total_play_reaction_df_sum.reset_index().rename(\n",
    "        columns={\"clip_id\": \"id\", \"play_count\": \"reaction_play_count\"}\n",
    "    )\n",
    ")\n",
    "concated_clips = concated_clips.merge(\n",
    "    concat_total_play_reaction_df_sum_df, on=\"id\", how=\"left\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:18:29.170606Z",
     "start_time": "2024-04-02T23:18:28.558151Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(697170, 30)\n",
      "(598386, 30)\n"
     ]
    }
   ],
   "source": [
    "print(concated_clips.shape)\n",
    "concated_clips = concated_clips[concated_clips[\"reaction_play_count\"] > 0]\n",
    "print(concated_clips.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:18:29.192623Z",
     "start_time": "2024-04-02T23:18:29.172589Z"
    }
   },
   "outputs": [],
   "source": [
    "# concated_clips[[\"upvote_count\", \"dislike_count\"]].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:19:02.444035Z",
     "start_time": "2024-04-02T23:18:29.194439Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "598386it [00:33, 18034.58it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "total concat unique clips are: 1349365\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "# this is each clip. and the mapped start time of the clip\n",
    "concat_clips_ids = {}\n",
    "for _, row in tqdm.tqdm(concated_clips.iterrows()):\n",
    "    if history_ids := row[\"metadata\"][\"concat_history\"]:\n",
    "        total_duration = row[\"metadata\"][\"duration\"]\n",
    "        start_s = 0\n",
    "        for history_id in history_ids:\n",
    "            # print(history_ids, row[\"metadata\"][\"duration\"])\n",
    "            if isinstance(history_id, dict) and \"id\" in history_id:\n",
    "                # the other key is `continue_at`\n",
    "                concat_clips_ids[history_id[\"id\"]] = {\n",
    "                    \"total_start_s\": start_s,\n",
    "                    \"total_clip_s\": total_duration,\n",
    "                    \"concat_play_counts\": row[\"reaction_play_count\"],\n",
    "                    \"concat_in_playlist\": row[\"is_in_playlist\"],\n",
    "                    \"concat_likes\": row[\"upvote_count\"],\n",
    "                }\n",
    "                start_s = history_id[\"continue_at\"]\n",
    "print(\"total concat unique clips are:\", len(concat_clips_ids))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:19:02.920557Z",
     "start_time": "2024-04-02T23:19:02.447482Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(109801, 3)"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "SELECT *\n",
    "FROM auth_user_groups\n",
    "\"\"\"\n",
    "auth_user_df = pd.read_sql_query(query, engine)\n",
    "auth_user_df.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:19:04.085388Z",
     "start_time": "2024-04-02T23:19:02.922844Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "96064"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clip_df[\"is_pro_user\"] = clip_df[\"user_id\"].isin(auth_user_df[\"user_id\"].unique())\n",
    "clip_df[\"is_pro_user\"].value_counts()\n",
    "clip_df[\"user_id\"][clip_df[\"is_pro_user\"]].nunique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:19:06.257360Z",
     "start_time": "2024-04-02T23:19:04.087607Z"
    }
   },
   "outputs": [],
   "source": [
    "# set user number of clips generated\n",
    "clip_df[\"user_n_clips\"] = clip_df[\"user_id\"].map(clip_df[\"user_id\"].value_counts())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:19:36.745260Z",
     "start_time": "2024-04-02T23:19:06.259868Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "has upvoted upvoted\n",
      "False    33721559\n",
      "True      2069921\n",
      "Name: count, dtype: int64 upvoted\n",
      "False    0.942167\n",
      "True     0.057833\n",
      "Name: proportion, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# add upvoted column\n",
    "clip_df[\"upvoted\"] = clip_df[\"id\"].isin(upvoted_ids)\n",
    "print(\n",
    "    \"has upvoted\",\n",
    "    clip_df[\"upvoted\"].value_counts(),\n",
    "    clip_df[\"upvoted\"].value_counts(normalize=True),\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:19:37.247734Z",
     "start_time": "2024-04-02T23:19:36.747627Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "has upvoted upvoted\n",
      "False    33721559\n",
      "True      2069921\n",
      "Name: count, dtype: int64 upvoted\n",
      "False    0.942167\n",
      "True     0.057833\n",
      "Name: proportion, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "print(\n",
    "    \"has upvoted\",\n",
    "    clip_df[\"upvoted\"].value_counts(),\n",
    "    clip_df[\"upvoted\"].value_counts(normalize=True),\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:19:37.463559Z",
     "start_time": "2024-04-02T23:19:37.253423Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "upvote_count\n",
       "False    0.941771\n",
       "True     0.058229\n",
       "Name: proportion, dtype: float64"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(clip_df[\"upvote_count\"] >= 1).value_counts(normalize=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:20:27.142896Z",
     "start_time": "2024-04-02T23:19:37.466223Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "has has_continued has_continued\n",
      "False    35097479\n",
      "True       694001\n",
      "Name: count, dtype: int64 has_continued\n",
      "False    0.98061\n",
      "True     0.01939\n",
      "Name: proportion, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# add continued column -- uuid and str are not compatible X.x\n",
    "clip_df[\"has_continued\"] = (\n",
    "    clip_df[\"id\"].astype(str).isin(set(list(has_continued_children_ids)))\n",
    ")\n",
    "print(\n",
    "    \"has has_continued\",\n",
    "    clip_df[\"has_continued\"].value_counts(),\n",
    "    clip_df[\"has_continued\"].value_counts(normalize=True),\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:21:20.014521Z",
     "start_time": "2024-04-02T23:20:27.145385Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "is part of a concat part_of_concat\n",
      "False    34546429\n",
      "True      1245051\n",
      "Name: count, dtype: int64 part_of_concat\n",
      "False    0.965214\n",
      "True     0.034786\n",
      "Name: proportion, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# add concat column\n",
    "clip_df[\"part_of_concat\"] = clip_df[\"id\"].astype(str).isin(concat_clips_ids)\n",
    "print(\n",
    "    \"is part of a concat\",\n",
    "    clip_df[\"part_of_concat\"].value_counts(),\n",
    "    clip_df[\"part_of_concat\"].value_counts(normalize=True),\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:22:15.401637Z",
     "start_time": "2024-04-02T23:21:20.016830Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "has has_action has_action\n",
      "False    33203169\n",
      "True      2588311\n",
      "Name: count, dtype: int64 has_action\n",
      "False    0.927684\n",
      "True     0.072316\n",
      "Name: proportion, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# verify bots action are all non-empty\n",
    "# assert (\n",
    "#     bots_action_df[\n",
    "#         bots_action_df[\"download_audio_count\"]\n",
    "#         + bots_action_df[\"download_video_count\"]\n",
    "#         + bots_action_df[\"share_count\"]\n",
    "#         == 0\n",
    "#     ].shape[0]\n",
    "#     == 0\n",
    "# )\n",
    "action_mask = (\n",
    "    bots_action_df[\"download_audio_count\"] + bots_action_df[\"download_video_count\"]\n",
    ") >= 1\n",
    "has_action_ids = set(i for i in bots_action_df[action_mask][\"clip_id\"].unique())\n",
    "clip_df[\"has_action\"] = clip_df[\"id\"].isin(has_action_ids)\n",
    "print(\n",
    "    \"has has_action\",\n",
    "    clip_df[\"has_action\"].value_counts(),\n",
    "    clip_df[\"has_action\"].value_counts(normalize=True),\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:22:33.989139Z",
     "start_time": "2024-04-02T23:22:15.403705Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "has downvoted downvoted\n",
      "False    35764880\n",
      "True        26600\n",
      "Name: count, dtype: int64 downvoted\n",
      "False    0.999257\n",
      "True     0.000743\n",
      "Name: proportion, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# add downvoted column\n",
    "clip_df[\"downvoted\"] = clip_df[\"id\"].isin(flagged_ids)\n",
    "print(\n",
    "    \"has downvoted\",\n",
    "    clip_df[\"downvoted\"].value_counts(),\n",
    "    clip_df[\"downvoted\"].value_counts(normalize=True),\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-04T14:57:18.272712Z",
     "start_time": "2024-04-04T14:57:12.685719Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "total_clips, 35791480, total preference, 5115724, pos 5117771, neg 35764880\n"
     ]
    }
   ],
   "source": [
    "must_be_positive_mask = (\n",
    "    (clip_df[\"upvoted\"])\n",
    "    | (clip_df[\"has_action\"])\n",
    "    | (clip_df[\"part_of_concat\"])\n",
    ")\n",
    "must_be_not_negative_mask = ~clip_df[\"downvoted\"]\n",
    "mask = must_be_positive_mask & must_be_not_negative_mask\n",
    "print(\n",
    "    f\"total_clips, {clip_df.shape[0]}, total preference, {sum(mask)}, pos {sum(must_be_positive_mask)}, neg {sum(must_be_not_negative_mask)}\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:22:39.002501Z",
     "start_time": "2024-04-02T23:22:33.991544Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "total_clips, 35791480, total preference, 5115724, pos 5117771, neg 35764880\n"
     ]
    }
   ],
   "source": [
    "# This is probably the most important cell of this notebook -- what are good labels, and not having good label makes it a bad label\n",
    "must_be_positive_mask = (\n",
    "    (clip_df[\"upvoted\"] == True)\n",
    "    | (clip_df[\"has_action\"] == True)\n",
    "    | (clip_df[\"part_of_concat\"] == True)\n",
    ")\n",
    "must_be_not_negative_mask = clip_df[\"downvoted\"] == False\n",
    "mask = must_be_positive_mask & must_be_not_negative_mask\n",
    "print(\n",
    "    f\"total_clips, {clip_df.shape[0]}, total preference, {sum(mask)}, pos {sum(must_be_positive_mask)}, neg {sum(must_be_not_negative_mask)}\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:24:53.721997Z",
     "start_time": "2024-04-02T23:22:39.004582Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "liked 4266678 unliked 17141816\n",
      "3366622 requests have preference paired generations, 0.187\n"
     ]
    }
   ],
   "source": [
    "total_unique_requests = clip_df[\"request_id\"].nunique()\n",
    "liked_requests = clip_df[mask][\"request_id\"].unique()\n",
    "unliked_requests = clip_df[~mask][\"request_id\"].unique()\n",
    "has_liked_requests = set(liked_requests).intersection(set(unliked_requests))\n",
    "print(\"liked\", len(liked_requests), \"unliked\", len(unliked_requests))\n",
    "print(\n",
    "    f\"{len(has_liked_requests)} requests have preference paired generations, {len(has_liked_requests) / total_unique_requests:.3f}\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:24:53.984914Z",
     "start_time": "2024-04-02T23:24:53.723848Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3366622"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "requests = has_liked_requests\n",
    "len(requests)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:24:54.052520Z",
     "start_time": "2024-04-02T23:24:53.987008Z"
    }
   },
   "outputs": [],
   "source": [
    "# this used to be a terrible bug...X.x\n",
    "assert mask.shape[0] == clip_df.shape[0]\n",
    "clip_df[\"preference\"] = mask"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:25:35.308394Z",
     "start_time": "2024-04-02T23:24:54.054361Z"
    }
   },
   "outputs": [],
   "source": [
    "# creation of interesting_clips\n",
    "interesting_clips = clip_df[clip_df[\"request_id\"].isin(requests)].copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:26:04.506109Z",
     "start_time": "2024-04-02T23:25:35.310347Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(6733244, 37)\n",
      "(6733244, 37)\n",
      "3366622 6733244\n"
     ]
    }
   ],
   "source": [
    "# get df of requests -- let's move on!\n",
    "print(interesting_clips.shape)\n",
    "interesting_clips = interesting_clips[\n",
    "    (\n",
    "        interesting_clips[\"model_name\"].isin(\n",
    "            [\n",
    "                \"chirp-v3-engine-d\",\n",
    "                \"chirp-v3-engine-v0\",\n",
    "                \"chirp-v3-engine-i\",\n",
    "                \"chirp-v3-engine-i-d\",\n",
    "                \"chirp-v3-engine-s\",\n",
    "            ]\n",
    "        )\n",
    "    )  # or v3...\n",
    "    & (interesting_clips[\"created_at\"] >= \"2024-02-14\")\n",
    "]\n",
    "print(interesting_clips.shape)\n",
    "print(interesting_clips[\"request_id\"].nunique(), interesting_clips[\"id\"].nunique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:26:52.687746Z",
     "start_time": "2024-04-02T23:26:04.507619Z"
    }
   },
   "outputs": [],
   "source": [
    "# some validations\n",
    "assert interesting_clips[interesting_clips[\"request_id\"].isna()].shape[0] == 0\n",
    "check_df = interesting_clips.groupby(\"request_id\")[\"id\"].nunique()\n",
    "check_df[check_df.values != 2]\n",
    "assert check_df[check_df.values != 2].shape[0] == 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:26:53.068981Z",
     "start_time": "2024-04-02T23:26:52.690059Z"
    }
   },
   "outputs": [],
   "source": [
    "# validation...\n",
    "# TODO: refactor this with above into a func\n",
    "interesting_clips_must_be_positive_mask = (\n",
    "    (interesting_clips[\"upvoted\"] == True)\n",
    "    | (interesting_clips[\"has_action\"] == True)\n",
    "    | (interesting_clips[\"part_of_concat\"] == True)\n",
    ")\n",
    "interesting_clips_must_be_not_negative_mask = interesting_clips[\"downvoted\"] == False\n",
    "interesting_clips_mask = interesting_clips_must_be_positive_mask & interesting_clips_must_be_not_negative_mask\n",
    "assert interesting_clips_mask.eq(interesting_clips[\"preference\"]).all()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:26:53.108113Z",
     "start_time": "2024-04-02T23:26:53.071214Z"
    }
   },
   "outputs": [],
   "source": [
    "# # listen to some pairs\n",
    "# test_requests = interesting_clips[\"request_id\"].sample(10)\n",
    "\n",
    "# for i in range(1):\n",
    "#     rows = interesting_clips[interesting_clips[\"request_id\"] == test_requests.iloc[i]]\n",
    "#     assert rows.shape[0] == 2\n",
    "#     # Audio.from_s3(f\"s3://suno-data-uploads/studio/uploads/{row['s3_id']}.mp3\").play()\n",
    "#     # sort by likes\n",
    "#     rows = rows.sort_values(\"upvoted\", ascending=True)\n",
    "#     print(rows.iloc[0][\"prompt_text\"])\n",
    "#     print(rows.iloc[0][\"metadata\"])\n",
    "#     for _, row in rows.iterrows():\n",
    "#         print(row[\"id\"], row[\"preference\"], row[\"upvoted\"])\n",
    "#         Audio.from_s3(\n",
    "#             f\"s3://suno-data-uploads/studio/uploads/{row['s3_id']}.mp3\"\n",
    "#         ).play()\n",
    "#         with open_from_s3(\n",
    "#             f\"s3://suno-data-uploads/studio/uploads/{row['s3_id']}.npz\", as_binary=True\n",
    "#         ) as f:\n",
    "#             # read numpy array\n",
    "#             npz_a = np.load(f)\n",
    "#             if \"v1_raw\" in npz_a:\n",
    "#                 a = np.load(f)[\"v1_raw\"]\n",
    "#             elif \"v3.0_raw\" in npz_a:\n",
    "#                 a = np.load(f)[\"v3.0_raw\"]\n",
    "#             else:\n",
    "#                 print(\"npz_a\", npz_a)\n",
    "#                 raise ValueError\n",
    "#             print(a.shape)\n",
    "#     print()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Further cuts and selections"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:26:53.168208Z",
     "start_time": "2024-04-02T23:26:53.109891Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "6733244\n"
     ]
    }
   ],
   "source": [
    "# interesting_clips[\"has_gpt_prompt\"] = interesting_clips[\"metadata\"].apply(\n",
    "#     lambda x: ast.literal_eval(str(x)).get(\"gpt_description_prompt\", None) is not None\n",
    "# )\n",
    "# print(len(interesting_clips))\n",
    "# interesting_clips = interesting_clips[~interesting_clips[\"has_gpt_prompt\"]]\n",
    "print(len(interesting_clips))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:26:53.409522Z",
     "start_time": "2024-04-02T23:26:53.169926Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "batch_index  preference\n",
       "0            False         1736965\n",
       "             True          1629657\n",
       "1            True          1736965\n",
       "             False         1629657\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "interesting_clips.groupby(\"batch_index\")[\"preference\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:26:53.611921Z",
     "start_time": "2024-04-02T23:26:53.411300Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(650578,\n",
       " user_id\n",
       " 3877426    4208\n",
       " 125080     3290\n",
       " 3555360    2436\n",
       " 4693211    2404\n",
       " 193743     2204\n",
       "            ... \n",
       " 3686471       2\n",
       " 6743824       2\n",
       " 6743715       2\n",
       " 7493775       2\n",
       " 4542299       2\n",
       " Name: count, Length: 650578, dtype: int64)"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "interesting_clips[\"user_id\"].nunique(), interesting_clips[\"user_id\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:26:54.552680Z",
     "start_time": "2024-04-02T23:26:53.613534Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "model_name\n",
       "chirp-v3-engine-i      4224188\n",
       "chirp-v3-engine-d      1327526\n",
       "chirp-v3-engine-v0     1154643\n",
       "chirp-v3-engine-i-d      18294\n",
       "chirp-v3-engine-s         8593\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "interesting_clips[\"model_name\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:26:54.750402Z",
     "start_time": "2024-04-02T23:26:54.554092Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "time validation 2024-02-20 00:23:04.236921+00:00 2024-03-31 13:18:02.589504+00:00 2024-02-20 00:00:16.552966+00:00 2024-03-31 13:19:13.374351+00:00\n"
     ]
    }
   ],
   "source": [
    "print(\n",
    "    \"time validation\",\n",
    "    interesting_clips[\"created_at\"].min(),\n",
    "    interesting_clips[\"created_at\"].max(),\n",
    "    clip_df[\"created_at\"].min(),\n",
    "    clip_df[\"created_at\"].max(),\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:27:20.845073Z",
     "start_time": "2024-04-02T23:26:54.751972Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3366622 6733244\n"
     ]
    }
   ],
   "source": [
    "print(interesting_clips[\"request_id\"].nunique(), interesting_clips[\"id\"].nunique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:28:06.578125Z",
     "start_time": "2024-04-02T23:27:20.847113Z"
    }
   },
   "outputs": [],
   "source": [
    "interesting_clips = interesting_clips.sort_values(by=[\"request_id\", \"preference\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:28:13.797480Z",
     "start_time": "2024-04-02T23:28:06.579825Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "model_name\n",
       "chirp-v3-engine-d      0.130570\n",
       "chirp-v3-engine-i      0.089092\n",
       "chirp-v3-engine-i-d    0.108840\n",
       "chirp-v3-engine-s      0.094603\n",
       "chirp-v3-engine-v0     0.077729\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "interesting_clips[interesting_clips[\"preference\"] == True][\n",
    "    \"model_name\"\n",
    "].value_counts() / clip_df[\"model_name\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:28:56.566666Z",
     "start_time": "2024-04-02T23:28:13.798973Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "chirp-v3-engine-d_win_over_chirp-v3-engine-d, win ratio 1.000, counts 286890\n",
      "chirp-v3-engine-d_win_over_chirp-v3-engine-i, win ratio 0.512, counts 74847\n",
      "chirp-v3-engine-d_win_over_chirp-v3-engine-i-d, win ratio 0.505, counts 4927\n",
      "chirp-v3-engine-d_win_over_chirp-v3-engine-s, win ratio 0.518, counts 2234\n",
      "chirp-v3-engine-d_win_over_chirp-v3-engine-v0, win ratio 0.670, counts 397515\n",
      "chirp-v3-engine-i-d_win_over_chirp-v3-engine-d, win ratio 0.495, counts 4838\n",
      "chirp-v3-engine-i-d_win_over_chirp-v3-engine-i, win ratio 0.423, counts 2596\n",
      "chirp-v3-engine-i-d_win_over_chirp-v3-engine-i-d, win ratio 1.000, counts 100\n",
      "chirp-v3-engine-i-d_win_over_chirp-v3-engine-v0, win ratio 0.578, counts 1268\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-d, win ratio 0.488, counts 71461\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-i, win ratio 1.000, counts 1992285\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-i-d, win ratio 0.577, counts 3539\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-s, win ratio 0.516, counts 2208\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-v0, win ratio 0.683, counts 56577\n",
      "chirp-v3-engine-s_win_over_chirp-v3-engine-d, win ratio 0.482, counts 2078\n",
      "chirp-v3-engine-s_win_over_chirp-v3-engine-i, win ratio 0.484, counts 2073\n",
      "chirp-v3-engine-v0_win_over_chirp-v3-engine-d, win ratio 0.330, counts 195846\n",
      "chirp-v3-engine-v0_win_over_chirp-v3-engine-i, win ratio 0.317, counts 26317\n",
      "chirp-v3-engine-v0_win_over_chirp-v3-engine-i-d, win ratio 0.422, counts 926\n",
      "chirp-v3-engine-v0_win_over_chirp-v3-engine-v0, win ratio 1.000, counts 238097\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4kAAAM7CAYAAADnLNUrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAADIZ0lEQVR4nOzdeVyU9fr/8fcMq8gmiPuGGrjggmgu5ZKWHiVNU9N+prkclzQrS/N77LRo52hlHcsoxSU1s1OZe5qWlrZp7kulueaGK8gmyAAzvz843DoCIxIwEq/n4zGPh3Ov133fgHPNdd2f22Sz2WwCAAAAAECS2dkBAAAAAADuHCSJAAAAAAADSSIAAAAAwECSCAAAAAAwkCQCAAAAAAwkiQAAAAAAA0kiAAAAAMBAkggAAAAAMJAkAgAAAAAMJIkAAA0cOFChoaF69913C3W77777rkJDQzVw4MBC3e6dIjMzUwsWLFDPnj3VtGlThYaGKjQ0VBs3bnR2aLjD/fzzz8bPCwDcaVydHQAA/JW8++67ioqKMt7/5z//UWRkpMN1RowYoS1bthjvN23apGrVqhVZjCXF8uXL9Y9//CPHdDc3N/n5+Sk0NFRdu3ZVz5495ebm5oQIpalTp+qjjz4y4ipfvrwkyd3d3SnxIEtuiZfJZJKXl5eqVq2q5s2ba8CAAapbt26h7zsxMVGLFi2SJD3++OPy9fUt9H0AQFEjSQSAIrR8+XKHSeKFCxf0ww8/FGNEJVO5cuXk4uIiSUpJSdHly5d1+fJl/fjjj/rkk0/0wQcfyM/Pr1hjSk5O1qeffipJmjBhgoYNGyaTyVSsMcAxLy8veXl5Scqq+sbHx+vw4cM6fPiwli5dqldeeUV9+vQp1H0mJiYaXxT16tUrzySxTJkyCg4OLtR9A0Bhod0UAIpAuXLl5OXlpZ9++knnz5/Pc7lVq1YpMzNTVatWLcboSp7PP/9cP/74o3788Uft2bNHGzdu1IMPPihJ+uWXX/Tiiy8We0zHjx9Xenq6JOnRRx8lQbwDDR061Pi52bZtm/bv36/33ntPlStXVnp6ul5++WUdP37cKbE1btxY69ev1/r1652yfwBwhCQRAIqAl5eXunTpIqvVquXLl+e53LJlyyRJDz/8cHGF9pdQvXp1vfnmm2revLkk6auvvtKlS5eKNYZr164Z/y5btmyx7hsF4+7urvvvv19vvvmmJCkjI0MrV650blAAcAei3RQAisjDDz+sFStWaMWKFRo9enSO+Tt37tQff/yh6tWrG8mOI2lpafrvf/+r9evX69ixY7p27ZrKly+vFi1aaMiQIapfv36e62ZmZurjjz/W8uXLdeLECbm7uys0NFQDBgzQ3/72t3wdz65du/Tf//5Xu3bt0uXLl+Xu7q7g4GB17txZAwYMKPZEyWQyqUePHtq5c6dsNpt++eUX3XfffZKu35P24Ycfqm7dupozZ442b96s8+fP69q1a/r999/ttrV582YtW7ZMe/fu1ZUrV1SmTBmFhIQoMjJSffr0sbvHMLd7JW+8B+7uu+/W4sWL7eYfPnxYixcv1s8//6wLFy7IbDarWrVq6tixox5//HEFBATkOL7s+1uzt7dhwwZ9+umnOnjwoK5cuaIxY8Zo7NixxvJxcXFatGiRtmzZotOnT8tisahChQpq2bKlhgwZorvuuivHPn7++WcNGjRIkvT777/r5MmTmj17tn766SfFxsYqICBA7dq109ixY1WxYsU8r4XFYtGqVau0fv16HTx4UImJifL391fVqlXVtm1bPfTQQ6pevXqO9QoSc2GIiIiQl5eXUlJSdOTIkRzzrVarfv75Z23atEn79+/X+fPnFRcXp7Jly+quu+4yfi5uvhd24MCB2r59u/G+U6dOdvNv/Nm4+dzn5tKlS/rggw/03Xff6ezZs5KkqlWrqn379ho6dKhxDywAFDaSRAAoIi1atFCNGjV06tQp7dixQy1atLCbn11h7NWr1y1bFS9cuKC///3vOnz4sKSsQVI8PT0VExOjVatWac2aNZo0aVKuo4haLBY98cQTxr2PZrNZbm5u2rFjh7Zv367hw4c73LfVatXUqVPtEh8vLy+lpqbqwIEDOnDggJYvX6758+cXe9tspUqVjH8nJyfnmH/q1Ck9++yzunz5sjw8POTqav/f3rVr1/T8889rw4YNxjRvb28lJSVp586d2rlzp1atWqU5c+YY9zx6enqqfPnySk9PV0JCgiTZfVi/+d7IuXPn6j//+Y+sVqukrHvR0tPTjXvjli1bpjlz5qhBgwZ5Hudrr72mBQsWyGQyydfXV2azfSPQTz/9pKefflqJiYmSsn4+3NzcdObMGZ05c0arV6/Wv/71L/Xs2TPPfWzbtk1PPPGEUlJSVLZsWdlsNl24cEFLly7Vli1b9Pnnn+eaKJ4+fVqjR482fjazY0xOTtbevXu1d+9eJSQk6IUXXij0mAtD9nW5UUxMjAYPHmy89/Lykqenp+Lj47Vjxw7t2LFDX3zxhebPny9PT09jOT8/P5UrV05XrlyRZH8vbfb8/Nq+fbvGjBljnJ/seyuPHj2qo0eP6vPPP9f777+fry+YAOC22QAAhWbmzJm2kJAQ23333Wez2Wy29957zxYSEmKbOHGi3XJXr161NW3a1FavXj1bTEyMbdu2bbaQkBBbSEiI7fTp03bLZmRk2Pr27WsLCQmxRURE2FatWmVLS0uz2Ww226lTp2wjR460hYSE2EJDQ22bN2/OEdPUqVON+e+//74tKSnJZrPZbJcvX7a9/PLLxnZDQkJsM2fOzLH+jBkzbCEhIbbWrVvbPvroI9uVK1dsNpvNZrFYbNu2bbP17NnTFhISYuvVq5ctMzMz1/Px2GOP3fa5XLZsWZ7nJNtHH31kLLNlyxZjeva0pk2b2rp06WL76aefjNiOHz9uLDd+/HhbSEiIrVOnTrbVq1cb5+batWu2jRs32jp16mQLCQmxjR49Ose+b7xmefnss8+MOGbNmmW7ePGizWbLuqYHDhywDRo0yBYSEmJr166dLTk52W7d7HPXtGlTW0hIiG369Om22NhYm81ms6WlpdnOnDljs9lstkOHDtkaN25sCwkJsf3zn/+0HT161JaRkWGz2Wy2s2fP2l555RVbSEiIrUGDBrb9+/fneQwtWrSwjRo1ynb06FFjH2vXrrWFh4fbQkJCbBMmTMhxfElJSbbOnTsb63/66ae2xMREY/6pU6dsH3zwgW3BggV26/2ZmPMj+5hy+3m22Wy27du3G8u8+uqrOeafO3fO9txzz9k2bdpk/LzbbDZbcnKybdmyZbZ7773XFhISYps6dWqOdU+fPn3Ln1ubzfHPT0xMjK158+a2kJAQW7du3Ww7d+405u3YscPWpUsXW0hIiO3uu++2nT9/3tGpAIAC4Z5EAChCvXr1ktls1oYNG3T16lVj+pdffqmUlBS1bt1alStXdriNDRs2aN++fZKkt99+Wz169DDaH6tXr66oqCg1adJENpvNuNcq24ULF4xHNDzxxBN64okn5O3tLUkKDAzUK6+8ogcffFBJSUm57vvMmTOaM2eOPD099cEHH2jAgAHy9/eXlFX5admypRYvXqxKlSrp119/1TfffHP7J6mAMjIy9Nlnn0nKqo42atQoxzJms1kLFy5U69atjepb9oiSO3fu1OrVqxUYGKjFixere/fuxrnx8PBQp06d9NFHH8nLy0sbN27UwYMHbyu+5ORkvfHGG5KkmTNnatSoUQoKCpIkubi4KCwsTPPnz1fDhg11/vx5LV26NNftpKSkaMiQIRo/frzRluru7m5UbadOnapr165p5MiRevXVV1WnTh2jelWlShW9/PLLGjhwoDIyMjRr1qw8461Xr57ee+891alTx9hHt27dNG7cOElZP4cZGRl268ybN09//PGH3N3dtXDhQj3yyCPy8fEx5levXl1Dhgyxq8oVZsy3y2KxaOPGjZowYYIxrVevXjmWq1Spkt5880117NjR+HmXsu49ffjhh/X+++9Lkj777DOlpaUVWnzZZs+ercTERPn5+WnhwoWKiIgw5jVv3lwLFy6Ut7e34uPjFR0dXej7BwCSRAAoQpUrV1abNm2UkpKiL7/80pie3Wrau3fvW25j3bp1kqTw8HDde++9Oea7urpqzJgxkrLufbvx/qbsD/aenp4aNmxYrtt/8skn89z3ihUrlJmZqbZt26pevXq5LuPt7a37779fkvT999/f8nj+rKtXr2rv3r0aMWKEDh06JEnq2bOnypUrl2PZhx56yK4l9Uaff/65JKl79+55JuqVKlVSy5YtJd3+sX311VdKTExUgwYN1LZt21yXcXV1NUZpzetRKGazOc+W4DNnzmjbtm1ydXXV0KFD84wlu2Vz69atyszMzHWZUaNG5Whjla7fV3ft2jWdPHnSbl72wEt9+/Z12C5bVDHfygcffKB77rlH99xzj1q1aqXGjRtrzJgxOnfunCRp4sSJatiw4W1vt1GjRgoMDFRKSsptf3lwKzabzRjxtH///sYXCzeqVKmS+vfvL0lau3Ztoe4fACTuSQSAIvfwww/rhx9+0LJly9SnTx+dPHlSO3fulJ+fn5FcOfLLL79Iklq3bp3nMq1atZKLi4syMzP1yy+/GAOpZK8bFhZmVMluFhwcrIoVK+rChQs55u3evVuS9OOPP+qee+7Jc/8pKSmSsu7lKgo3DwByozZt2uT5CIxmzZrluV72sX3++ef64osv8lwuu8p6u8eWvf1jx445PHfZo6Tmtf0aNWooMDDQ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LlXHjh3VuHFjSdLAgQM1ZcoUTZkyRREREWrZsqXefvtt2Wy515yTk5PVuHFjbdmyxW76119/rfDwcKWmpkqSBg8erKZNm6pq1apq1qyZhg8frr179yo9Pd3hMW/cuFG9evVSo0aN1KlTJ0VFRSkjI8OYHxoaqqVLl2rMmDFq0qSJOnfurE2bNtltY9OmTercubMaNWqkgQMHasWKFQoNDVViYqLDc7Ny5Up17NhRERERGjdunJKTr1cfrFaroqOjjXPXo0ePWw5WdPN+cpOZmalp06apefPmatmypd544408z31pE7vhlPzbVZV/2yryqOqtyoPqyezuovjvHVWaTHL187B74c405K7W+uyP3Vp+cp+OJV3Wy3vW6lpmunrXDM9zHbNMerPFw3r3t806ffWK3bzkjDQN/fEjfXn2N51IjtW+K2f16r4vFVauiiqX8S3qw0Eh6j3uQX05b5M2LNysUwfP6J1Rc5SWYlGXoXQF/BVxvUu+XatSFNbZS2H3eymwhqvuH+0rVw+TftmYmuc6JpNUtpyL3etGMYfS1bBjGVVv5CG/iq5q/DcvBQW76vwRx58jgaJyRyWJb731lubOnavRo0dr3bp1evPNN1W+/PVvXWbMmKFhw4Zp5cqVqlWrlp577jm7hOpmp06d0oYNGxQVFaWVK1ca01esWCEXFxctXbpUL7zwghYuXKilS5fmug1vb2916NBBX3zxhd30NWvW6P7771eZMmVyrBMfH681a9YoPDxcbm5ueca3c+dOTZw4UYMGDdK6des0ZcoULV++XLNnz7ZbLioqSl27dtXq1avVrl07jR8/XvHx8ZKyEuenn35anTp10qpVq9S/f3/NmDEjz33eeG42bdqk2bNnKzo6Wjt27NDcuXON+dHR0Vq5cqUmT56stWvXavDgwZowYYK2b99+y2078sEHH2jFihWaOnWqPv74YyUkJOjrr7/+U9v8K7BlWHXtZJLKNggwppnMJpVtEKCUY/F5rmdNy9SRCT/o8HPf69TMvbp2ljbDO5GbyayG/pX108UTxjSbpJ8unlB4QLU81xtTv51i067q85N787Ufb1cPWW02JaZf+5MRo7i4urkqJKK2dm/cb0yz2WzavXG/GrQKcWJkKApc75IvM92mC0fTVbPp9Q4fk9mkmk3cde5Q3gmdJdWmucMuas7Qi1r1ryu6fMp+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KOutBbv3PfD72O563ikFYtlCBdXt02W6fINhxfbgVnKSDl4+K/+i5RR59idJf/z7LlpOC4+m/WXNsd8uqvVX01MdG1L1X8rrllP/2b9O567d+UVBSoFYJq+nemyZr8sP0HWEfbl967Z+3n1MNZr5aNuKO38XbDabajTz0YrQey8MB8fE87ZzDDfNkF1ljjlz5tQLL7ygCRMmKEeOHKpZs6bi4uJ05MiRNIud/FNnzpzRuHHj1KVLF/34449auHChMafvXurUqaMiRYpo6NChKlWqlKpXr26c27dvnw4cOKBatWopf/78OnnypCZPnqzSpUunGmZ6t4EDB2rAgAEqUaKEWrZsKRcXFx0+fFg///yzXn755Qf6LF26dNHcuXM1YcIEdezYUYcOHdLy5cslKdWQ2ofh4eGh3r17a9y4cUpOTlatWrX022+/6fvvv5eHh4cxhzI9QUFB6t+/v44cOWIsWJOia9euWrRokT744AN16NBB27dv15dffplqeK9VzN69WxOeekoHzp3XvnPn1KtmTeXJkUPLfjgoSZr41FM6Fx+vid9+K0kaULeODpw/r5OXr8jd1VVNypVT2ypV9PYfK93mdnNTcP16ijx6TBfi4+WZO7e61fDTIx4e+vLnn037nLhj9nffa0JgSx04d0H7z57T87VrKHeOHFp24M7znhDYUud/i9fEzVslSQPq19GBc+d18tIVubu5qkn5smr7eBVjOKmbi4umtW2tx4sV1QvLIuTiYjM601eu39CtfzjSAP/MnCNRGl+7rX64dEb7L51Rzwr1lNs1h774Y1Ga8bXa6PyN3/TRwa+VkJSoI1dTLy6VshhNynE3m4um1OukqgUfUf+oxXK12VTkj07llYTrupXM83YUn/93tYbNHaifdx3VTzt/UbshgcqVN6fWz/mf2aEhC/C84ajsqkiUpODgYLm6umrKlCm6cOGCvLy81LVr5u8D1bZtW924cUOdOnWSq6urevTooS5dumT4GpvNpsDAQM2aNUsDBw5MdS5XrlzasGGDpk6dqmvXrsnLy0sBAQEKDg42hmemJyAgQGFhYQoNDdXMmTPl5uam8uXLq1OnTg/8Wby9vTV58mSNHz9e8+fPl5+fnwYMGGDMC/y7hgwZIk9PT4WHh+v06dPKly+fqlatqgEDBmT4uvr166tAgQI6fvy4goKC0sQaHh6u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Dw8PSamfPZxTvnz5jO+Tk5O1ceNG5cuXT9WqVZMkHTx4UFevXlWLFi3MChFZZMKECRo6dKgk6aefftL777+vXr16aceOHXr//fc1btw4kyNEZli+fLnefPNNtWzZUiNGjFDhwoUlSbGxsdq6dav69eund999V23btjU3UOA+bMnJyclmBwEgfS+99JLq1aunbt26pTq+cOFCbdu2Tf/3f/9nUmQA/qkJEyboypUrGj16tFxdXSVJiYmJGj16tPLmzavhw4ebHCEyU40aNbRq1SqVKlVKU6dO1ZEjRzRlyhQdPHhQ/fr109atW80OEZmgZcuW6tGjh5577rl0zy9atEjz5s3Thg0bsjky4OEwJxGwY99++60CAgLSHA8ICFBUVJQJESG79OvXTxcuXDA7DGShzz//XL179zYKRElydXXV888/ry+++MLEyJAVcuTIoRs3bkiStm3bpieeeEKSVKBAAWNIIhzfmTNn5O/vf8/z/v7+OnfuXDZGBPw9FImAHStYsKAiIyPTHI+MjFTBggWzPyBkm++++043b940OwxkocTERB07dizN8WPHjikpKcmEiJCVatasqXHjxik0NFQHDhxQkyZNJEknTpzQI488Ym5wyDSPPfaYli1bds/zn3/+uSpUqJCNEQF/D3MSATv20ksv6c0339TOnTvl6+srSdq/f7+2bNmisWPHmhwdgH+iffv2euONN3Tq1Cn5+PhIuvPve8aMGWrfvr3J0SGzvf322xo9erTWr1+vUaNGqVixYpLuLGiT3ogROKbhw4drwIAB2rJlixo0aJBqTmJUVJROnTqlGTNmmBwlcH/MSQTs3L59+zR//nyj41C+fHn16NFD1atXNzkyZKXWrVtr5syZKl68uNmhIIskJSXp448/1vz58xUTEyNJ8vLyUo8ePdIMQwXgOE6fPq1PP/1U+/btS/Vv28/PT127dlWpUqVMjhC4P4pEAABM9tdl8uH8Ula4LFq0qNmhAEC6mJMIOAgWMrGGXbt2aejQoeratavOnz8vSYqIiNCuXbtMjgxZ6ZNPPmEeooUw59j5vfHGG9qxY4fZYQB/G0Ui4CBIKpzf+vXr1adPH+XKlUsHDx5UQkKCpDtdpvDwcJOjQ1YKCwvTlStXzA4DQCaJi4tT37591bhxY40fP16HDh0yOyTgoVAkAoCdmD59ukaPHq13331X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iQScV+XKldPsc/xX7HMMR0KRCABANiGJBJzXr7/++sDX/nUPTcAeUSQCAJBNSCIBa2CfYzg6F7MDAADAKkqWLGl8rV69WlFRUamOlSxZUlFRUVqzZo3ZoQL4B5YsWaLy5cunOf7YY49p8eLFJkQEPByKRAAATEASCTgv9jmGo6NIBADABCSRgPNK2ef4buxzDEfBPokAAJggJYn09vZOdZwkEnB87HMMR0eRCACACUgiAefVt29fXb58WaNHj06zz3H//v1Njg64P1Y3BQDABMnJyZo4caIWLFiQJokMCQkxOToAmYF9juGoKBIBADARSSQAwN5QJAIAAAAADKxuCgAAAAAwUCQCAAAAAAwUiQAAAAAAA0UiAAAAAMBAkQgAwF2mTp2qSpUqmR1GttqxY4cqVaqkHTt2PPRrv/jiC1WqVEmnT5/OgsgAANmNIhEAYPdSipADBw6YHUqWe/3111WpUiXVrFlTN27cSHP+xIkTqlSpkipVqqSPP/7YhAgBAM6OIhEAgLu8+OKL2r9/v2n3d3Nz040bN/T111+nObdq1SrlzJnThKgAAFZBkQgAwF3c3NxMLcTc3d3l7++vNWvWpDm3evVqNWnSJPuDAgBYBkUiAMBp/Pjjj+rbt69q1qypGjVqqGfPntq7d2+qa27duqVp06apRYsW8vHxUb169fTss89q69atxjXpzUmsVKmSxowZo6+++kqtW7dWtWrVFBgYqM2bN6eJY8eOHWrfvr18fHzUvHlzLV68+KHnObZu3VqbN2/W1atXjWP79+/XiRMn1Lp163Rfc+rUKQ0aNEh169ZV9erV1blzZ33zzTdprjt37pyCg4Pl5+cnf39/vffee0pISEj3Pfft26c+ffqoVq1aql69urp166bdu3ffN/4DBw6oT58+qlevnnx9fdW0aVONGDHiwT48AMBUbmYHAABAZjhy5Iiee+455c2bV3379pWbm5uWLFmi7t27a+HChapevbokadq0aQoPD1enTp3k6+ur+Ph4/fDDDzp48KCeeOKJDO+xe/dubdiwQf/+97+VN29eLViwQIMGDdL//vc/FSpUSNKfhaqXl5deeuklJSUlKTQ0VJ6eng/1eZ588kmNGjVKGzZsUMeOHSXd6SKWL19eVatWTXP9xYsX1bVrV12/fl3du3dXoUKFtHz5cr344ouaMmWKnnzySUnSjRs31LNnT509e1bdu3dX0aJFtWLFCm3fvj3Ne0ZFRemFF15QtWrVFBISIpvNpi+++EI9e/bUJ598Il9f33Rjj42NVZ8+fVSoUCH169dP+fPn1+nTp7Vx48aH+hkAAMxBkQgAcAqTJk3SrVu39Omnn8rb21uS1LZtWz311FOaMGGCFi5cKEn65ptv1LhxY40dO/ah73H06FGtXbtWpUuXliTVq1dPbdq00Zo1a9StWzdJ0pQpU+Tq6qpPP/1UxYoVkyQ9/fTTatWq1UPdy8PDQ02aNNHq1avVsWNHJSUlae3ateratWu618+YMUMXL17UokWLVLt2bUlSp06d9Mwzz2jcuHFq1qyZXFxctGTJEp04cUKTJk3S008/LUnq3Lmz2rRpk+r9kpOT9c4776hevXqaNWuWbDabJKlr164KDAzUpEmTNHv27HRj2bNnj65cuaKPP/5YPj4+xvGXX375oX4GAABzMNwUAODwEhMTtXXrVjVv3twoECWpaNGiat26tXbv3q34+HhJUv78+XXkyBGdOHHioe/ToEEDo0CUpMqVK8vDw0OnTp0y4oiKilKzZs2MAlGSypQpo4CAgIe+X1BQkHbu3KmYmBht375dMTExCgoKSvfaTZs2ydfX1ygQJSlv3rzq0qWLfv31V/3yyy+SpM2bN8vLy0tPPfWUcV3u3LnVuXPnVO936NAhnThxQkFBQbp06ZLi4uIUFxena9euyd/fX999952SkpLSjSVfvnyS7hTkt27deujPDQAwF51EAIDDi4uL0/Xr11WuXLk05x599FElJSXp7NmzeuyxxzRo0CAFBwerZcuWqlixoho2bKg2bdqocuXK971P8eLF0xwrUKCAMW8wNjZWN27cUJkyZdJcl96x+2ncuLHy5s2rtWvX6vDhw/Lx8VGZMmXS3Y/wzJkzxpDavypfvrxxvmLFivr1119VpkwZozOY4u6fXUoRPXz48HvG99tvv6lAgQJpjtetW1ctW7bUtGnTNHfuXNWtW1fNmzdXUFCQ3N3d7/u5AQDmokgEAFhKnTp1tHHjRkVGRmrr1q1atmyZ5s2bp9GjR6tTp04ZvtbV1TXd48nJyVkRqtzd3fXkk08qIiJCp06dUkhISJbcJz0pn2nYsGGqUqVKutfkyZMn3eM2m01TpkzR3r179b///U9btmzRyJEjNWfOHC1ZskR58+bNsrgBAP8cRSIAwOF5enoqd+7cOn78eJpzx44dk4uLS6ouYMGCBdWhQwd16NBBv//+u7p166apU6fet0i8n8KFCytnzpyKjo5Ocy69Yw8iKChIn3/+uVxcXBQYGHjP60qUKHHPz59yXpJKliypn3/+WcnJyam6iXe/NmXYroeHhxo0aPC3Yvfz85Ofn59efvllrVq1SkOHDtXatWv/8c8ZAJC1mJMIAHB4rq6ueuKJJxQZGZlqKObFixe1evVq1apVSx4eHpKkS5cupXpt3rx5Vbp06XtuAfGwcTRo0ECRkZE6f/68cTw6Olpbtmz5W+9Zr149DR48WG+99Za8vLzueV3jxo21f/9+7dmzxzh27do1ffbZZypZsqQqVKggSWrUqJEuXLigdevWGdddv35dn332War3q1atmkqXLq3Zs2fr999/T3O/uLi4e8Zy5cqVNN3VlG5kZvycAQBZi04iAMBhfP755+kWWz169NCQIUO0bds2/fvf/9a///1vubq6asmSJUpISNBrr71mXBsYGKi6devq8ccfV8GCBXXgwAGtX7/eWJ30nwoJCdG3336rZ599Vs8++6ySkpK0cOFCPfbYYzp06NBDv5+Li4uCg4Pve12/fv20Zs0avfDCC+revbsKFCigiIgInT59WlOnTpWLy53fC3fu3FmLFi3S8OHDdfDgQXl5eWnFihXKlStXmvu+++67euGFF9S6dWu1b99exYoV0/nz57Vjxw55eHgoLCws3ViWL1+uTz/9VM2bN1fp0qX1+++/67PPPpOHh4caNWr00D8DAED2okgEADiMTz/9NN3j7du312OPPaZFixbpww8/VHh4uJKTk+Xr66sJEyakWtCle/fu+vrrr7V161YlJCSoRIkSGjJkiPr06ZMpMVarVk0zZ87UBx98oMmTJ6t48eIaNGiQjh07Zgz9zApFihTR4sWLje0+bt68qUqVKiksLExNmjQxrsudO7fmzp2rsWPHauHChcqVK5eCgoLUqFEj9e3bN9V71qtXT0uWLNH//d//aeHChbp27Zq8vLzk6+urLl263DOWunXr6sCBA1q7dq0uXryofPnyydfXVxMnTky1+iwAwD7ZkrNqtj0AADAEBwfrl19+0YYNG8wOBQCADDEnEQCATHbjxo1Ufz5x4oQ2b96sunXrmhQRAAAPjuGmAABksubNm6tdu3by9vbWr7/+qsWLFytHjhxphnMCAGCPKBIBAMhkAQEBWrNmjWJiYuTu7i4/Pz+98sorKlu2rNmhAQBwX8xJBAAAAAAYmJMIAAAAADBQJAIAAAAADBSJAAAAAAADRSIAAAAAwECRCAAAAAAwUCQCAAAAAAwUiQAAAAAAA0UiAAAAAMDw/yd/rBBO1D9kAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1000x800 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "get_preferfence_counts(interesting_clips)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:28:56.830357Z",
     "start_time": "2024-04-02T23:28:56.568408Z"
    }
   },
   "outputs": [],
   "source": [
    "# top_user_df = interesting_clips.groupby([\"user_id\"]).filter(lambda x: len(x) > 500)\n",
    "# get_preferfence_counts(top_user_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:28:58.514293Z",
     "start_time": "2024-04-02T23:28:56.831660Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAGwCAYAAACgi8/jAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA0F0lEQVR4nO3de1iUdf7/8dfMAB5Q1AAPZF8rrcEEPG7mYWMz09Is0bDcRYovZZZWkharbSmeILODVpul38xMU0vdTnZYKju4bB6WRBHNw5a5WOIokqChM/P7o1+zEogzOsPM3Dwf18V1MZ/7wz3vuduFl/fncJucTqdTAAAABmT2dwEAAAC+QtABAACGRdABAACGRdABAACGRdABAACGRdABAACGRdABAACGRdABAACGRdABAACGFeLvAgKFzfaT2CMaAIDgYDJJkZFNz9qPoPP/OZ0i6AAAYDAMXQEAAMMi6AAAAMMi6AAAAMMi6AAAAMMi6AAAAMMi6AAAAMMi6AAAAMMi6AAAAMMi6AAAAMMi6AAAAMMi6AAAAMMi6AAAAMMi6AAAAMPi6eU+ZDabZDabau3jcDjlcPDYdAAAfIGg4yNms0nNmjdWiKX2m2an7A4dLa0g7AAA4AMEHR8xm00KsZj1wPJ87T54rMY+HVo20dzbuspsNhF0AADwAYKOj+0+eEyFxWX+LgMAgHqJycgAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwCDoAAMCwQvxdACSL5ex50+FwyuFw1kE1AAAYB0HHj6KbNJDd4VRERKOz9j1ld+hoaQVhBwAADxB0/CiiUYgsZpMeWJ6v3QePnbFfh5ZNNPe2rjKbTQQdAAA8QNAJALsPHlNhcZm/ywAAwHCYjAwAAAyLoAMAAAyLoAMAAAyLoAMAAAyLoAMAAAyLoAMAAAyLoAMAAAyLoAMAAAyLoAMAAAyLoAMAAAyLoAMAAAzLEM+6+v777zV58mTZbDZZLBatWLFCjRs39ndZAADAzwwRdCZNmqTx48erR48eKi0tVVhYmL9LAgAAASDog86uXbsUEhKiHj16SJKaN2/u34IAAEDA8PscnY0bN2rMmDHq27evrFarcnNzq/VZunSp+vXrp/j4eCUnJ6ugoMB17LvvvlPjxo01ZswYJSUlaf78+XVZPgAACGB+DzoVFRWyWq2aMmVKjcfXrl2r7OxsjR07VmvWrFFsbKzS09Nls9kkSadOndLmzZs1ZcoUrVixQuvXr9f69evr8iMAAIAA5fegk5iYqIyMDF133XU1Hl+0aJFGjBih4cOHq0OHDsrKylLDhg21atUqSVKrVq0UFxenNm3aKCwsTImJiSoqKqrLjwAAAAKU34NObSorK1VYWKjevXu72sxms3r37q38/HxJUnx8vGw2m44ePSqHw6FNmzapffv2/ioZAAAEkICejHzkyBHZ7XZFRkZWaY+MjNTevXslSSEhIcrIyFBKSoqcTqf69Omja665xh/lAgCAABPQQcddiYmJSkxM9HcZAAAgwAT00FWLFi1ksVhcE49/ZbPZFBUV5aeqAABAsAjooBMWFqZOnTopLy/P1eZwOJSXl6euXbv6sTIAABAM/D50VV5ern379rle79+/X0VFRWrWrJliYmKUlpamzMxMxcXFKSEhQYsXL9bx48c1bNgwP1YNAACCgd+DzrZt25Samup6nZ2dLUlKSkpSTk6OBg0apMOHD2vevHkqKSlRx44dtXDhQoauAADAWfk96PTs2VM7d+6stU9KSopSUlLqqCIAAGAUAT1HBwAA4HwQdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGGF+LsAeI/ZbJLZbKq1j8PhlMPhrKOKAADwL4JOELFYznwDzmQyqUnThgqppY8knbI7dLS0grADAKgXCDpBILpJA9kdTkVENDpr3weW52v3wWM1HuvQsonm3tZVZrOJoAMAqBcIOkEgolGILGZTrSHmD9ZoPTQwVrsPHlNhcVkdVwgAQGAi6ASR2kJM++jwOq4GAIDAx6orAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQdAABgWAQd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VhUVFZ3TeZ599lndfPPNXq4OQCDhWVcAgs7nn3+uNWvW6NVXX9VFF12kFi1a+LukgPfbx3kA9QVBB4Bf2O12mUwmmc2e31j+/vvvFR0drW7duvmgMgBGwtAVECRGjRqlGTNmaPbs2bryyivVp08fPfvss67j+/fvrzaMU1ZWJqvVqq+++krSLw/js1qt+uKLLzR06FAlJCQoNTVVNptNn332mW644QZ169ZNEyZM0PHjx6u8v91u17Rp09S9e3f17NlTzzzzjE5/VF5lZaUef/xx/f73v1eXLl2UnJzsel9JWr16tXr06KGPP/5YgwYNUnx8vIqLi2v8rBs2bNAtt9yiuLg49e3bV3PmzNGpU6ckSX/+8581ffp0FRcXy2q1ql+/fjWe49f3y83N1YABAxQfH6/09HQdOHDgjNe4oKBAaWlp6tmzp7p3766UlBQVFha6jk+aNEl33313lZ85efKkevXqpTfeeOOM5928ebNGjRqlzp0763e/+53S09N19OhR13WbMWOGevXqpfj4eI0cOVIFBQXVPsfpcnNzqzzo9tchuL/97W/q16+funfvroyMDB07dsx1zTZs2KBXX31VVqtVVqtV+/fv19GjRzVhwgRdddVVSkhI0IABA7Rq1aozfg4gGBF0gCCyZs0aNW7cWCtXrtRDDz2k559/XuvXr/f4PM8995weffRRLV++XD/88IPGjx+vV199VU8++aReeuklffnll1qyZEm197ZYLHrjjTf0yCOP6JVXXqnyx33atGnKz8/X008/rbffflvXX3+97rzzTn377beuPidOnNCCBQs0Y8YMvfvuu4qMjKxW248//qjRo0crPj5eb731lqZOnao333xTL7zwgiTpkUce0f3336/WrVvryy+/1JtvvnnGz3nixAm98MILevzxx/X666+rrKxMGRkZZ+xfXl6uoUOHatmyZVq5cqXatWun0aNHuwJDcnKyvvjiCx08eND1M+vWrdOJEyc0aNCgGs9ZVFSkO+64Q+3bt9eKFSu0bNkyXXPNNbLb7ZKk2bNn68MPP1ROTo7WrFmjdu3a6c4771RpaekZ66zJvn379PHHH2v+/Pl68cUXtXHjRi1YsMB1zbp27aoRI0boyy+/1Jdffqk2bdpo7ty52rNnjxYsWKC1a9dq6tSpDAPCcBi6AoKI1WrVuHHjJEkXX3yxXnvtNeXl5alPnz4enWf8+PHq3r27JOmWW27Rk08+qdzcXF100UWSpIEDB+qrr77S6NGjXT/Tpk0bTZ48WSaTSZdeeqm++eYbvfLKKxoxYoSKi4u1evVqffrpp2rVqpUkKT09XV988YVWr16tBx98UNIvdz+mTp2q2NjYM9a2bNkytW7dWo899phMJpPat2+vH3/8UXPmzNHYsWPVtGlThYeHy2KxKDo6utbPefLkST322GPq3LmzJCknJ0eDBg1SQUGBEhISqvXv1atXldfTp09Xjx49tHHjRl1zzTXq1q2bLrnkEr311lu66667JEmrVq3S9ddfr/Dw8BprWLhwoeLi4jR16lRX22WXXSZJqqio0PLly5Wdna3ExETXe65fv15vvvmm7rzzzlo/3+mcTqeys7PVpEkTSdJNN92kvLw8ZWRkqGnTpgoNDVXDhg2rXLPi4mJ17NhR8fHxkqS2bdu6/X5AsCDoAEHk9OEKSYqOjpbNZjuv80RGRqpRo0aukCNJUVFR2rp1a5Wf6dy5s0wmk+t1ly5dtGjRItntdn3zzTey2+26/vrrq/xMZWWlmjdv7nodGhpa7TP81p49e9S1a9cq79W9e3dVVFTohx9+UExMjNufMyQkxPVHXJLat2+viIgI7dmzp8agc+jQIT3zzDPasGGDbDabHA6Hjh8/XmWILTk5WStWrNBdd92lQ4cO6YsvvtDixYvPWENRUVG16/Krffv26eTJk1XmGoWGhiohIUF79uxx+3NK0oUXXugKOZLUsmXLs/5vY+TIkbr//vu1fft29enTR/3792feEwyHoAMEkZCQqv+XNZlMrnkyv07qPX3ezK/zWmo7j8lkqvG8DofD7boqKipksVi0atUqWSyWKscaN27s+r5hw4ZVAkygyczMVGlpqR555BHFxMQoLCxMt956q06ePOnqc/PNN2vOnDnKz89Xfn6+2rZtW20OzekaNmx4XjWZzeYq/00lVannV7/9byip2s/9VmJioj799FN99tlnWr9+ve644w796U9/UmZm5nnVDAQS5ugABnHBBRdIkkpKSlxt57q/TE1OnyArSVu2bFG7du1ksVjUsWNH2e12HT58WO3atavydbbhpd9q37698vPzq/yR3rx5s8LDw9W6dWuPznXq1Clt27bN9Xrv3r0qKytT+/bta+z/r3/9S6NGjVJiYqIuu+wyhYWF6ciRI1X6tGjRQv3799fq1au1Zs0aDRs2rNYarFar8vLyajz2P//zPwoNDdW//vUvV9vJkye1detWdejQwfV+5eXlqqiocPXZsWNH7R+8BqGhoTWG1wsuuEBJSUmaM2eOJk+erBUrVnh8biCQEXQAg2jYsKG6dOmil156SXv27NGGDRv0zDPPeO38xcXFys7O1t69e/Xuu+/qtddeU2pqqiTpkksu0ZAhQ/Twww/ro48+0vfff6+CggK9+OKLWrdunUfv88c//lE//PCDpk+frj179ig3N1fPPvus0tLSPF6KHhoaqunTp2vLli3atm2bJk2apC5dutQ4bCX9Mu/p7bff1p49e7RlyxZNnDixxjsyycnJWrNmjfbs2aOhQ4fWWsPo0aO1detWTZ06VTt27NCePXu0bNkyHT58WI0bN9bIkSM1e/Zsff7559q9e7ceffRRnThxQrfccoukX4YMGzVqpKeeekr79u3TO++8o9WrV3t0HaRfhra2bNmi/fv36/Dhw3I4HJo7d65yc3P13XffadeuXVq3bt0ZQyAQrAg6gIHMmjVLdrtdw4YN06xZszR+/HivnXvo0KE6ceKEkpOTNW3aNKWmpurWW291Hc/OztbQoUOVk5OjG264Qffee6+2bt2qNm3aePQ+rVq10ksvvaSCggLdfPPNmjp1qm655Rbdc889HtfcsGFD3XXXXZowYYJGjhypxo0b6+mnnz5j/5kzZ+ro0aNKSkrSww8/rFGjRtW4Mqx3795q2bKl+vbt65p8fSaXXHKJXn75Ze3YsUPJycm67bbb9PHHH7uGmiZOnKiBAwfq4YcfVlJSkr777jstXLhQzZo1kyQ1b95cTzzxhD7//HMNGTJE7733nu677z6Pr8X//u//ymKxaPDgwerVq5eKi4sVGhqqp556SjfddJNSUlJkNpv11FNPeXxuIJCZnGcbxAWAILR69WrNmjVLmzZt8vq5y8vLdfXVVys7O1sDBgzw+vkBeA+TkQHATQ6HQ0eOHNHLL7+siIiIM25WCCBwEHQAwE3FxcW69tpr1bp1a+Xk5NS40glAYGHoCgAAGBaTkQEAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGERdAAAgGH9P1zcI00dQ4cUAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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Y7r66qs1ZMgQTZkyxfe60v+fNtq0aZMmTpyo2NhY7d+/v9mvdevWrbr55psVExOjxMRELVy4UKdOnZL0nymjuXPnav/+/bLb7Ro7duz3vmcbN27UNddco8GDBys7O1tHjx5ttP+/p6O2bNmim2++WUOGDNHw4cN166236quvvmr22v89dfXf3n//fQ0bNkyvvfaaJOnAgQOaOXOmhg8frhEjRmjGjBmqqqr63vP/2yuvvKIbb7zR95783w/43L9/v2bMmKH4+HgNHTpUM2fO1KFDh86Ydf78+Zo6dapv+2zfX6ff5+zs7LO+70Awo+gAQayoqEjdunXTunXrdP/99+uZZ57R5s2b/b7On/70Jz3yyCNau3atvv76a91zzz1auXKlnnjiCb344ov68MMPtWrVqiavbbPZtH79ej388MNavny51q9f79s/Z84clZaW6sknn9Rrr72mH//4x7rjjju0b98+3zHffvutlixZonnz5umNN95QeHh4k2zffPONpk2bptjYWP3lL3/RH/7wB73yyit67rnnJP1nyug3v/mN+vbtqw8//FCvvPJKs1/jxx9/rIcfflg///nP9eqrr2rkyJG+azTn1KlTys7O1pVXXqnXXntNL7/8sm655RZZLBZ/3lpJ0uuvv657771XCxcu1E9/+lN99913ysrKUmhoqAoLC/XSSy+pW7duuuOOO9TQ0HDW661Zs0Zz5sxRWlqaXn/9dT377LP6n//5H0mSx+PRXXfdpWPHjmnVqlUqKCjQl19+qZycHL9zn+n76/T77HA4zvi+A8GOqSsgiNntdt19992SpEsvvVSrV6+W0+nU6NGj/brOPffco2HDhkmSbr75Zj3xxBMqKSnRxRdfLEm6/vrrtWXLFk2bNs13zoUXXqiHHnpIFotF/fv31+7du7V8+XKlpaVp//792rhxo9577z1FRkZKkrKysvTBBx9o48aNuvfeeyVJ3333nf7whz8oKirqe7OtWbNGffv21e9//3tZLBYNGDBA33zzjRYuXKjs7Gz16NFDoaGhstls6t279/deZ+XKlbr66qv1q1/9SpJ02WWXqbS0VB988EGzx9fU1OjEiRO69tprfSViwIABLX1LfQoLC/Xkk0/q+eef14gRIyRJxcXF8ng8mj9/vq84ORwOXXnlldq6dasSExPPeM3nnntOmZmZ+sUvfuEbi4uLkyQ5nU7t3r1bmzZt0oUXXihJWrBggW688UaVlZX5jmuJM31/XXDBBZKk888//4zvOxDsKDpAELPb7Y22e/fuLZfL1abrhIeH67zzzvOVHEmKiIjQJ5980uicwYMHN7q7MWTIEBUUFMjtdmv37t1yu9368Y9/3OichoYG9erVy7fduXPnJl/Df/v8888VHx/f6LWGDRumuro6ff311+rXr1+LvsbPP/+8yaLZIUOGfG/R6dWrl1JSUpSVlaXRo0dr1KhRuuGGG9SnT58WvZ4kvf322zp8+LDWrFnTqGDs3LlTlZWVTdYUnTx5UpWVlWe8psvl0sGDBzVq1Khm93/++efq27evr+RI0sCBA3X++edr7969fhed/6u1319AMKPoAEGsU6fG/4laLBbfOpnTi3r/77qZ0+taznQdi8XS7HU9Hk+Lc9XV1clms2nDhg2y2WyN9nXr1s33965du7ZqKuhccTgcmjp1qj744AO9+eabeuqpp1RQUKAhQ4a06PwrrrhC5eXl2rBhg2JjY31fa11dnaKjo7Vw4cIm55y+U/J9unTp4vfX8d/+7/fJac19b5zp+wswC9boAB3U6R+Y1dXVvrGWPl+mJcrKyhptf/zxx7rkkktks9k0aNAgud1uHT58WJdcckmjP/5OcwwYMEClpaWNfsBu375doaGh6tu3r1/XaS7z2VxxxRW68847tXbtWl1++eV64403WvyaF198sVauXKlNmzZp7ty5vvHo6Gh98cUXCg8Pb/L+nO23t7p3766LLrpITqez2f0DBgzQ119/rQMHDvjGPvvsMx0/ftw39XbBBRc0+r6QWve90blzZ7ndbr/PA4IJRQfooLp27aohQ4boxRdf1Oeff66tW7fqqaeeCtj19+/fL4fDob179+qNN97Q6tWrlZGRIek/618mTZqkBx54QO+8846+/PJLlZWV6YUXXtD777/v1+v87Gc/09dff625c+fq888/V0lJiZ5++mllZmb69avop+/MLFu2TPv27dPq1au/d9pK+s+vrD/xxBMqLS3VV199pQ8//FD79u1T//79/cp/2WWXaeXKlXrnnXd8DxCcNGmSwsLCNGPGDH300Uf68ssvtWXLFs2bN09ff/31Wa/561//WgUFBVq5cqX27dun8vJy32LxhIQEXX755brvvvtUXl6usrIyPfDAAxoxYoRiY2MlSVdddZV27NihV199Vfv27dPixYu1Z88ev74uSb7CVV1drWPHjvl9PhAMmLoCOrBHH31UDz/8sFJSUnTZZZfp/vvv1y9/+cuAXHvy5Mn69ttvNWXKFNlsNmVkZOiWW27x7Xc4HHruueeUn5+vgwcPqlevXhoyZIiuueYav14nMjJSL774ohYsWKB169apV69euvnmmzVjxgy/rjNkyBDNnTtXTz/9tBYvXqxRo0ZpxowZevbZZ5s9/rzzztPevXtVVFSko0ePqk+fPvr5z3+uW2+91a/XlaT+/ftrxYoVmjp1qmw2m377299q9erVWrhwoe6++27V1tYqMjJSo0aNUvfu3c96veTkZJ08eVLLly/XggUL1KtXL996KIvFomeffVZz585Venq6LBaLrr76aj3yyCO+86+++mrdddddevzxx3Xy5EmlpqZq8uTJ2r17t19fV25urvLz87V+/XpFRkbq3Xff9e+NAYKAxcuELAAAMCmmrgAAgGkxdQUA51h8fPz37luyZEmjDyIF0DZMXQHAOfbFF198777IyEh17dr1HKYBzI2iAwAATIs1OgAAwLQoOgAAwLQoOgAAwLQoOgAAwLQoOgAAwLQoOgAAwLQoOgAAwLQoOgAAwLT+H3D1F3OHIbUnAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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7qy0tDRlZmYqMjJS0dHRys3N1cmTJzV69GgDUwMAgKbA8KKzfft2paamerezs7MlSYmJicrJydHw4cN15MgRzZs3TxUVFerRo4cWLVrE1BUAADgnw4tObGysdu7cedZjUlJSlJKScoESAQAAswjoNToAAADng6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMi6IDAABMK8joAP6QkJCgkJAQWa1WXXLJJVq6dKnRkQAAQAAwRdGRpJUrVyokJMToGAAAIIAwdQUAAEzL8KKzefNmTZgwQXFxcbLb7SosLKxzTF5enhISEhQVFaUxY8aouLi4zjFjx45VUlKS3n777QsRGwAANAGGF53q6mrZ7XbNmDHjjPsLCgqUnZ2tjIwM5efnKzw8XOnp6XI6nd5jVqxYoTVr1ujll1/WK6+8oh07dlyo+AAAIIAZXnTi4+M1depUXXfddWfcv3jxYiUnJyspKUndu3dXVlaWmjdvrtWrV3uP6dChgySpffv2Gjx4sL766qsLkh0AAAQ2w4vO2dTU1KikpEQDBw70jlmtVg0cOFBFRUWSfr4iVFlZKUmqqqrSxo0b1b17d0PyAgCAwBLQ77o6evSoXC6XQkNDa42HhoZq7969kiSn06mMjAxJktvt1pgxYxQdHX3BswIAgMAT0EWnPq644goWIAMAgDMK6Kmrtm3bymaz1Vp4LP18FScsLMygVAAAoKkI6KITHBysiIgIORwO75jb7ZbD4VBMTIyByQAAQFNg+NRVVVWVysrKvNv79+9XaWmpWrdurc6dOystLU2ZmZmKjIxUdHS0cnNzdfLkSY0ePdrA1AAAoCkwvOhs375dqamp3u3s7GxJUmJionJycjR8+HAdOXJE8+bNU0VFhXr06KFFixYxdQUAAM7J8KITGxurnTt3nvWYlJQUpaSkXKBEAADALAJ6jQ4AAMD5oOgAAADTougAAADTougAAADTougAAADTougAAADTougAAADTougAAADT8kvROXHihD9OAwAA4Fc+F50FCxaooKDAuz158mTFxsbq97//vXbs2OHXcAAAAOfD56KzcuVKdezYUZK0YcMGff7551q4cKEGDx6sp59+2u8BAQAAGsrne10dPnxYnTp1kiR98sknGjZsmOLi4nTZZZcpOTnZ7wEBAAAayucrOpdccokOHjwoSfrss880YMAASZLH45HL5fJvOgAAgPPg8xWd66+/Xvfff7+6dOmiY8eOafDgwZKk0tJSdenSxe8BAQAAGsrnojN9+nRddtllOnjwoB544AGFhIRIkioqKnTHHXf4PSAAAEBD+Vx0mjVrpvT09Drjd911lz/yAAAA+I3PRUeS9u7dq2XLlmnPnj2SpG7duiklJUVdu3b1azgAAIDz4fNi5A8//FAjRoxQSUmJwsPDFR4erq+++kojRozQhx9+2BgZAQAAGsTnKzrPPPOMxo0bp8mTJ9canzdvnp555hndcMMNfgsHAABwPny+olNRUaFRo0bVGb/llltUUVHhj0wAAAB+4XPR6devn7Zs2VJnfOvWrerbt69fQgEAAPiDz1NXCQkJmjNnjkpKStSzZ09J0pdffqkPPvhA//Vf/6WPP/7Ye+yQIUP8lxQAAMBHPhedrKwsSdLy5cu1fPnyM+6TJIvFotLS0vOMBwAA0HA+Fx3uUA4AAJoKn9foAAAANBX1uqLz2muv6bbbbtNFF12k11577azHpqam+iUYAADA+apX0VmyZIlGjBihiy66SEuWLPnV4ywWC0UHAAAEjHoVnbVr157xewAAgEDGGh0AAGBa9bqik52dXe8TTp8+vcFhAAAA/KleReerr76q18ksFst5hQEAAPCnehWdpUuXNnYOAAAAv/N5jc4PP/ygY8eO1Rk/duyYKisr/ZEJAADAL3wuOlOnTtV7771XZ/z999/X1KlT/RIKAADAH3wuOsXFxerfv3+d8X79+qm4uNgvoQAAAPzB56JTU1Oj06dP1xk/ffq0Tp065ZdQAAAA/uBz0YmKitKqVavqjK9cuVIRERF+CQUAAOAPPt+9fMqUKUpLS9OOHTs0YMAASZLD4dC2bdv0t7/9ze8BAQAAGsrnKzp9+vTR66+/ro4dO+r999/X2rVr9W//9m96++231bdv38bICAAA0CA+X9GRpB49eujZZ5/1dxYAAAC/4l5XAADAtCg6AADAtCg6AADAtOpVdHbs2CG3293YWc7LyZMnde211+qpp54yOgoAAAgQ9So6iYmJOnr0qCRpyJAh3u8Dyfz589WzZ0+jYwAAgABSr6JzySWXaP/+/ZKkAwcOyOPxNGooX+3bt0979+7V4MGDjY4CAAACSL3eXn799dcrJSVF7dq1k8ViUVJSkqzWM3ekjz/+2KcAmzdv1quvvqrt27eroqJCL730koYOHVrrmLy8PL366quqqKhQeHi4Hn30UUVHR3v3P/XUU3rwwQdVVFTk03MDAABzq1fRefzxx3XdddeprKxMs2fP1pgxYxQSEuKXANXV1bLb7UpKStLEiRPr7C8oKFB2draysrLUs2dP5ebmKj09XR988IFCQ0NVWFioK6+8UldddRVFBwAA1FLvDwz8ZVqopKREqampatmypV8CxMfHKz4+/lf3L168WMnJyUpKSpIkZWVlad26dVq9erXGjRunL7/8UgUFBfrwww9VVVWl06dPKyQk5IylCQAA/Lb4/MnI2dnZ3u+/++47SVLHjh39l+j/qKmpUUlJicaPH+8ds1qtGjhwoPfqzbRp0zRt2jRJ0po1a7R7925KDgAAkNSAouN2u/XXv/5VixcvVnV1tSQpJCREaWlpuueee3517U5DHD16VC6XS6GhobXGQ0NDtXfvXr89DwAAMCefi85zzz2nN998U9OmTVPv3r0lSVu3btWLL76ompoaTZ061e8h62v06NGGPTcAAAg8Phed/Px8zZ49W0OGDPGOhYeHq0OHDsrKyvJr0Wnbtq1sNpucTmetcafTqbCwML89DwAAMCef55mOHz+url271hnv2rWrjh8/7pdQvwgODlZERIQcDod3zO12y+FwKCYmxq/PBQAAzMfnohMeHq68vLw643l5eQoPD/c5QFVVlUpLS1VaWipJ2r9/v0pLS1VeXi5JSktL06pVq5Sfn689e/Zo5syZOnnyJNNUAADgnHyeunrggQc0fvx4ff755+rVq5ck6YsvvtDBgwe1cOFCnwNs375dqamp3u1f3tWVmJionJwcDR8+XEeOHNG8efNUUVGhHj16aNGiRUxdAQCAc/K56PTr108ffPCBli9f7n3n03XX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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/tony/anaconda3/envs/suno_env/lib/python3.10/site-packages/matplotlib/axes/_axes.py:6859: RuntimeWarning: Converting input from bool to <class 'numpy.uint8'> for compatibility.\n",
      "  m, bins = np.histogram(x[i], bins, weights=w[i], **hist_kwargs)\n"
     ]
    },
    {
     "data": {
      "image/png": "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JA0bNkyRkZGKjo7Wm2++qdOnT6tbt262vD4AADCX5Ssjp6amer8+cOCAJKl27dqlHmDTpk1KTEwstv2uXbtqwoQJ6ty5s44cOaLp06crNzdXjRo10pw5czh0BQAALsty6BQWFuq1117T3LlzlZ+fL0kKCQlRUlKSHnvssT88d+ePtGrVStu2bbvkYxISEjhUBQAALLMcOi+++KKWLl2qwYMHq1mzZpKkzMxMvfLKKzp37pxSUlJsHxIAAKA0LIfO8uXLNW7cON15553etYiICIWFhWn06NGEDgAAKDcsfwTE8ePH1aBBg2LrDRo00PHjx20ZCgAAwA6WQyciIkILFy4str5w4UJFRETYMhQAAIAdLB+6Gjp0qB599FF9//33iomJkST9+OOP2r9/v2bPnm33fAAAAKVmeY9Oy5Yt9fHHH6tjx446efKkTp48qY4dO+rjjz9WixYtfDEjAABAqVjeoyNJYWFhnHQMAADKPct7dAAAAK4WhA4AADAWoQMAAIxlKXQ8Ho9ycnJ09uxZX80DAABgG8uh06lTJ+3fv99X8wAAANjGUug4nU7Vr19fx44d89E4AAAA9rF8js7gwYM1adIkbd++3RfzAAAA2MbydXSGDRum06dP6/7771dgYKCCg4OL3L927VrbhgMAACgLy6EzYsQIX8wBAABgO8uh07VrV1/MAQAAYLtSXUdnz549evHFFzVo0CC53W5J0tdff60dO3bYOhwAAEBZWA6dtWvXKi4uTllZWfr000+Vn58vSdq2bZtefvll2wcEAAAoLcuhM3XqVA0cOFBz585VYGCgd/3WW2/Vjz/+aOdsAAAAZWI5dLZv364OHToUW7/uuut09OhRW4YCAACwg+XQqVy5snJzc4utZ2dnKywszJahAAAA7GA5dLp06aIpU6YoNzdXDodDhYWFyszM1MSJExUfH++DEQEAAErHcuikpKSoQYMG+utf/6r8/Hx16dJFCQkJatq0qR577DFfzAgAAFAqlq+jExQUpHHjxql///7asWOHTp06pVtuuUU33nijD8YDAAAoPcuh85s6dero+uuvlyQ5HA7bBgIAALBLqS4YuGTJEt17772KiopSVFSU7r33Xi1ZssTu2QAAAMrE8h6dadOmad68eUpISFBMTIwk6ccff9QLL7ygnJwcPfXUU3bPCAAAUCqWQ2fRokUaO3as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iAiNHDnS36MY5csvv9Q///lP7d69WzfccIOSkpLUq1cvf49llLy8PE2bNk2rVq3yHkbp0qWLBgwYoKCgIH+Pd1Vbs2aNEhMTi6137dpVEyZMkMfj0fTp05Wenq4TJ06oefPmGjVqlG666Safz0boAAAAY3GODgAAMBahAwAAjEXoAAAAYxE6AADAWIQOAAAwFqEDAACMRegAAABjEToAAMBYhA4A2/Tu3Vvjx4/39xheHo9Hzz77rFq2bCmXy6Xs7Oxij1m2bJlatGjhh+kuriTvYWxsrObNm+e97XK5tGrVKh9PBlyd+KwrAMb65ptvtHz5cs2fP1/16tVT9erViz2mc+fOat++vR+ms893332nqlWr+nsMoFwidACUawUFBXI4HHI6re+A3rt3r2rWrKlmzZr94WOCg4Ov+g+CrVmzpr9HAMotDl0Bhundu7fGjRunSZMmqWXLlmrTpo1efvll7/379u0rdhjnxIkTcrlcWrNmjaRfP6DP5XLp22+/VXx8vKKjo5WYmCi3262vv/5a99xzj5o1a6bBgwfr9OnTRV6/oKBAY8aMUfPmzdWqVSu99NJL+v1H6p07d04TJ07U7bffrpiYGPXs2dP7utL/P5T0+eefq3PnzoqKilJOTs5Fv9e1a9eqR48eioyMVNu2bTVlyhRduHBBkvT0009r7NixysnJkcvlUmxs7EW38d+HrrZu3arevXuradOmatasmbp166aNGzde9n3/bTurVq1Sp06dFBUVpeTkZO3fv9/7mKefflr9+/cv8rzx48erd+/elt7D//bfh64OHDigQYMGqWXLloqJiVG3bt20YcOGy34PgIkIHcBAy5cvV6VKlZSenq6hQ4fq1Vdf1erVqy1v55VXXtGzzz6rxYsX68CBAxo4cKDmz5+vqVOnatasWfruu++UlpZW7LUDAgK0ZMkSjRw5UvPmzdOSJUu8948ZM0br16/Xiy++qPfff1933323Hn74Ye3evdv7mDNnzmj27NkaN26cVqxYodDQ0GKzHTx4UH379lVUVJTee+89Pf/881q6dKlmzJghSRo5cqSefPJJ1a5dW999952WLl1aou95yJAhql27tpYuXaply5bpkUceUWBgYImee+bMGc2YMUMTJ07UokWLdOLECaWkpJToub93uffwUk6dOqWEhAQdPHhQr732mt577z09/PDDKiwstDwHYAIOXQEGcrlcevzxxyVJN954oxYsWKCMjAy1adPG0nYGDhyo5s2bS5J69OihqVOnatWqVapXr54k6a677tKaNWvUt29f73Ouv/56jRgxQg6HQw0aNND27ds1b9489erVSzk5OVq2bJm+/PJLhYWFSZKSk5P17bffatmyZRo0aJAk6fz583r++ecVERHxh7O99dZbql27tp577jk5HA6Fh4fr4MGDmjJligYMGKDKlSsrJCREAQEBlg7t5OTkKDk5WeHh4d73r6TOnz+v5557Tk2aNJEkTZgwQZ07d1ZWVpaio6NLvJ1LvYeXs2LFCh05ckRLly5VtWrVJEn169cv8WsDpmGPDmAgl8tV5HbNmjXldrvLtJ3Q0FBdc8013siRpBo1aujIkSNFntOkSRM5HA7v7ZiYGP38888qKCjQ9u3bVVBQoLvvvltNmzb1/lm3bp327NnjfU5gYGCx7+G/7dy5U02bNi3yWs2bN1d+fr4OHDhg+Xv9TVJSkp555hn16dNHs2bNKjLX5VSoUEFRUVHe2+Hh4apSpYp27txpaYZLvYeXk52drVtuucUbOcCfHXt0AANVqFD0P22Hw+E9x+O3k3p/f87Hb+e1XGo7Dofjotu1ckgkPz9fAQEBeueddxQQEFDkvkqVKnm/Dg4OLvKD/kp64okndO+99+rrr7/WN998o+nTp+vFF19Ux44dy7zt3/9z+M0fvfeldbWfWA3YjT06wJ/MddddJ0nKzc31rl3s+jKllZWVVeT2hg0bVL9+fQUEBKhRo0YqKCjQkSNHVL9+/SJ/rP7mUHh4uNavX18kHDIzMxUSEqLatWuX6Xu46aab1KdPH73xxhvq1KmT3nnnnRI978KFC9q0aZP39q5du3TixAnvYbDrrruuyPsuXfy9v9R7eDm/nWh+7NixEs0MmI7QAf5kgoODFRMTo1mzZmnnzp1au3atXnrpJdu2n5OTo9TUVO3atUsrVqzQggULlJiYKOnXgIiLi9P//u//6tNPP9XevXuVlZWlmTNn6quvvrL0Og899JAOHDigsWPHaufOnVq1apVefvllJSUllepX0aVfTyYeM2aM1qxZo19++UWZmZnauHGjN1QuJzAwUGPHjtWGDRu0adMmDR8+XDExMd7zc2699VZt2rRJ7777rnbv3q3p06drx44dxbZzqffwcrp06aIaNWpowIAByszM1N69e/XJJ59o/fr1JX8jAINw6Ar4E3rhhRc0cuRIdevWTTfddJOGDh2qf/zjH7ZsOz4+XmfOnFHPnj0VEBCgxMREPfDAA977U1NTNWPGDE2YMEGHDh1StWrVFBMTo7/+9a+WXicsLEyzZs3SpEmTlJ6ermrVqqlHjx567LHHSj270+nUsWPHNGzYMB0+fFjVq1dXp06d9OSTT5bo+cHBwXrkkUc0ePBgHTx4UC1atChylePbb79d/fv31+TJk3X27Fl1795d8fHx2r59e5HtXO49vJSgoCC98cYbmjhxovr27auCggKFh4dr1KhRJX8jAIM4PJe6OAMAoESWLVumF154QT/88IO/RwHwOxy6AgAAxuLQFQCUwMMPP6zMzMyL3vfoo4+qVq1aV3giACXBoSsAKIGDBw/qzJkzF72vatWqXLcGKKcIHQAAYCzO0QEAAMYidAAAgLEIHQAAYCxCBwAAGIvQAQAAxiJ0AACAsQgdAABgLEIHAAAY6/8BG43Xo1TzUI0AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(interesting_clips[\"play_count\"], bins=np.linspace(0, 100, 50))\n",
    "plt.yscale(\"log\")\n",
    "plt.xlabel(\"number of play counts\")\n",
    "plt.ylabel(\"number of clips\")\n",
    "plt.show()\n",
    "plt.hist(interesting_clips[\"dislike_count\"], bins=np.linspace(0, 10, 30))\n",
    "plt.yscale(\"log\")\n",
    "plt.xlabel(\"number of dislike_count\")\n",
    "plt.ylabel(\"number of clips\")\n",
    "plt.show()\n",
    "plt.hist(interesting_clips[\"upvote_count\"], bins=np.linspace(0, 10, 30))\n",
    "plt.yscale(\"log\")\n",
    "plt.xlabel(\"number of like_count\")\n",
    "plt.ylabel(\"number of clips\")\n",
    "plt.show()\n",
    "plt.hist(interesting_clips[\"is_public\"], bins=np.linspace(0, 10, 30))\n",
    "plt.yscale(\"log\")\n",
    "plt.xlabel(\"number of is_public\")\n",
    "plt.ylabel(\"number of clips\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:28:59.014387Z",
     "start_time": "2024-04-02T23:28:58.515886Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAG3CAYAAAC9jv9bAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA86klEQVR4nO3de1yUdd7/8TczaJ6VgCyrX6XeDMhBMJNCFCWz8tB6SL1riTI3tWzbNbe145qHwiw7WG1a7m2ua5mlbNtmJ+u23ZIMWw+JeEoNjUpE1BQTYb6/P7yZGARkYIYZLl7Px4PHw7nmmuv6zKXpu+8xyBhjBAAAYEE2fxcAAADgKwQdAABgWQQdAABgWQQdAABgWQQdAABgWQQdAABgWQQdAABgWQQdAABgWQQdAABgWQQdAABgWQQdAABgWcH+LsAb9u3bpwcffFCFhYWy2+1644031KpVK3+XBQAA/CzICpt6pqWl6fe//7169uypw4cPq02bNgoOtkSGAwAA9dDo08DOnTsVHBysnj17SpI6dOjg34IAAEDA8PsYnezsbE2cOFHJyclyOBxavXr1GecsXbpUqampio2N1ahRo7R582bXe99++61atWqliRMnavjw4Zo/f35Dlg8AAAKY34NOcXGxHA6Hpk2bVuX7q1atUkZGhiZNmqTMzExFRkZq3LhxKiwslCSVlpbqq6++0rRp0/TGG2/o888/1+eff96QXwEAAAQov3ddpaSkKCUlpdr3Fy1apNGjR2vkyJGSpOnTp2vNmjVasWKFxo8fr44dOyomJkYXXHCB63q5ubnq3bu3R3UUFv6kxj9aCQCApiEoSAoNbXvW8/wedGpSUlKinJwcTZgwwXXMZrMpKSlJGzZskCTFxsaqsLBQR44cUdu2bbV+/XqNGTPG43sZI4IOAAAWE9BBp6ioSGVlZQoNDXU7Hhoaqt27d0uSgoODNXnyZKWlpckYo969e6t///7+KBcAAASYgA46tXW27i8AANA0+X0wck1CQkJkt9tdA4/LFRYWKiwszE9VAQCAxiKgg07z5s0VHR2trKws1zGn06msrCwlJCT4sTIAANAY+L3r6vjx48rLy3O93r9/v3Jzc9W+fXt16tRJY8eO1dSpUxUTE6O4uDgtXrxYJ06c0IgRI/xYNQAAaAz8vgXEunXrlJ6efsbx4cOHa/bs2ZKkv/3tb/rLX/6igoICRUVF6eGHH1b37t29WsfBg0wvBwCgsQgKksLCzj693O9BJ1AQdAAAaDxqG3QCeowOAABAfRB0AACAZRF0AACAZRF0AACAZRF0AACAZRF0AACAZfl9wUArs9mCZLMFuR1zOo2cTuaxAwDQEAg6PmKzBal9h1YKtrs3mpWWOXXkcDFhBwCABkDQ8RGbLUjBdpt+t2yDdh04Jknqel4bPfffCbLZggg6AAA0AIKOj+06cEw5+Uf9XQYAAE0Sg5EBAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlBfu7AG9ITU1V69atZbPZ1K5dOy1ZssTfJQEAgABgiaAjScuWLVPr1q39XQYAAAggdF0BAADL8nvQyc7O1sSJE5WcnCyHw6HVq1efcc7SpUuVmpqq2NhYjRo1Sps3bz7jnFtuuUUjR47UP/7xj4YoGwAANAJ+DzrFxcVyOByaNm1ale+vWrVKGRkZmjRpkjIzMxUZGalx48apsLDQdc7rr7+ulStX6qWXXtKCBQu0bdu2hiofAAAEML8HnZSUFE2ePFnXXHNNle8vWrRIo0eP1siRI9W1a1dNnz5dLVq00IoVK1zndOzYUZJ03nnnqW/fvtq6dWuD1A4AAAKb34NOTUpKSpSTk6OkpCTXMZvNpqSkJG3YsEHS6RahY8eOSZKOHz+udevWqWvXrn6pFwAABJaAnnVVVFSksrIyhYaGuh0PDQ3V7t27JUmFhYWaNGmSJMnpdGrUqFGKi4tr8FoBAEDgCeigUxsXX3wxA5ABAECVArrrKiQkRHa73W3gsXS6FScsLMxPVQEAgMYioINO8+bNFR0draysLNcxp9OprKwsJSQk+LEyAADQGPi96+r48ePKy8tzvd6/f79yc3PVvn17derUSWPHjtXUqVMVExOjuLg4LV68WCdOnNCIESP8WDUAAGgM/B50tmzZovT0dNfrjIwMSdLw4cM1e/ZsDRo0SIcOHdK8efNUUFCgqKgoLVy4kK4rAABwVn4POomJidq+fXuN56SlpSktLa2BKgIAAFYR0GN0AAAA6oOgAwAALIugAwAALIugAwAALIugAwAALIugAwAALIugAwAALIugAwAALIugAwAALIugAwAALIugAwAALIugAwAALIugAwAALIugAwAALIugAwAALCvY3wU0RXb7L/nS6TRyOo0fqwEAwLoIOg0ovM05KnMatWvX0nWstMypI4eLCTsAAPgAQacBtWsZLLstSL9btkG7DhxT1/Pa6Ln/TpDNFkTQAQDABwg6frDrwDHl5B/1dxkAAFgeg5EBAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlEXQAAIBlBfu7AEh2u3vedDqNnE7jp2oAALAOgo4fhbc5R2VOo3btWrodLy1z6sjhYsIOAAD1RNDxo3Ytg2W3Bel3yzZo14FjkqSu57XRc/+dIJstiKADAEA9EXQCwK4Dx5STf9TfZQAAYDmWGYx84sQJ9e/fX0888YS/SwEAAAHCMkFn/vz56t69u7/LAAAAAcQSQWfv3r3avXu3+vbt6+9SAABAAPF70MnOztbEiROVnJwsh8Oh1atXn3HO0qVLlZqaqtjYWI0aNUqbN292e/+JJ57Qvffe21AlAwCARsLvQae4uFgOh0PTpk2r8v1Vq1YpIyNDkyZNUmZmpiIjIzVu3DgVFhZKklavXq1LL71Ul112WUOWDQAAGgG/z7pKSUlRSkpKte8vWrRIo0eP1siRIyVJ06dP15o1a7RixQqNHz9emzZt0qpVq/TBBx/o+PHjKi0tVevWrXX33Xc31FcAAAAByu9BpyYlJSXKycnRhAkTXMdsNpuSkpK0YcMGSdKUKVM0ZcoUSdLKlSu1c+dOQg4AAJAUAF1XNSkqKlJZWZlCQ0PdjoeGhurgwYN+qgoAADQWHrfoZGZmKiQkRP369ZMkzZkzR8uXL1fXrl01d+5cXXjhhd6usdZGjBjht3sDAIDA43GLzvz583XOOedIkjZs2KDXXntN9913nzp06KCMjAyvFhcSEiK73e4aeFyusLBQYWFhXr0XAACwHo+Dzg8//KBLLrlE0ukZTwMHDtSYMWM0ZcoUrV+/3qvFNW/eXNHR0crKynIdczqdysrKUkJCglfvBQAArMfjoNOqVSsdPnxYkvT5558rKSlJknTOOefo5MmTHhdw/Phx5ebmKjc3V5K0f/9+5ebmKj8/X5I0duxYLV++XJmZmfrmm2/06KOP6sSJE3RTAQCAs/J4jE5SUpIefvhhRUVFae/eva6p4Tt37qzT+JwtW7YoPT3d9bq8+2v48OGaPXu2Bg0apEOHDmnevHkqKChQVFSUFi5caPmuK7v9lwzqdBp2MgcAoA48DjrTpk3Tc889p/z8fM2bN08hISGSpJycHA0ePNjjAhITE7V9+/Yaz0lLS1NaWprH126MwtucozKnUbt2LV3HSsucOnK4mLADAICHPAo6paWl+utf/6o77rhD559/vtt799xzj1cLa6ratQyW3Rak3y3boF0HjqnreW303H8nyGYLIugAAOAhj8boBAcH6y9/+YtKS0t9VQ/+z64Dx5STf1S7DhzzdykAADRaHg9GvvLKK5Wdne2LWgAAALzK4zE6ffv21dy5c7Vjxw5FR0erZcuWbu9fffXVXisOAACgPjwOOtOnT5d0erPNyoKCglzTxAEAAPzN46Czbds2X9QBAADgdfXa1LMuCwQCAAA0FI+DTllZmV588UX16dNHCQkJ2rdvnyTp2Wef1Ztvvun1AgEAAOrK46Dz0ksvKTMzU/fdd5+aNWvmOh4REaG33nrLq8UBAADUh8dB5+2339bMmTN1ww03yGb75eMOh0O7d+/2anEAAAD14XHQ+fHHH/X//t//O+O4MYaFBAEAQEDxOOh07dpV69evP+P4+++/r6ioKK8UhTPZ7TYFB//yY7MF+bskAAACnsfTy++66y7df//9+vHHH2WM0Ycffqg9e/bo73//uxYsWOCLGpu0qjb5lNjoEwCA2vA46AwYMEDz58/Xiy++qJYtW2revHnq1q2b5s+fr969e/uixiat8iafktjoEwCAWvI46EhSz549q1wZGb5TvsknAACoPY+Dzvfff6+goCCdf/75kqTNmzfrnXfeUdeuXTVm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r169TFFRkTlx4oRZu3atiYiIMJs2bTIHDhwwpaWlJjs72/To0cOsXLnS5OXlmc8++8z079/fPP/88677RUREmKuuusq89dZbJi8vz3z33Xe1/lzfvn3NO++8Y/bu3Wtmzpxp4uPjTVFRkeuZ9erVy9x9991m8+bNZvfu3eatt94y33zzjTHGmLffftv07t3bfPDBByYvL8988MEHplevXmblypXGGGMWLlxoUlJSTHZ2ttm/f7/Jzs4277zzTrV/FpcuXWpiY2PNq6++anbv3m02bdpkFi1a5FbvRx99ZIw5889l+Z/B66+/3nz22Wdm27ZtZsKECaZ///6mpKTEGGPM+PHjzdixY822bdtMXl6e+eSTT8yXX35ZbT1AQyHoAD6UlpZmbrrpJrdjI0eONE8++aQxxrOgs3btWtc5CxYsMBERESYvL8917JFHHjG33367272vv/5643Q6XceefPJJc/311xtjjPnuu+9MVFSU+eGHH9zqu/XWW83cuXONMaeDR0REhCtMVOfpp5821157rdu9/va3v5n4+HhTVlZmjDFm0aJFpn///jVep/x+GzdudB3btWuXK6AYczroREdHu4Wl8uBx8uRJt+sNGDDALFu2zBhjzNatW01ERITZt2+f23edP3++22f+/ve/m969e7teR0REmMcee8ztnNp+7plnnnG9Pn78uImIiDCffvqpMcaYuXPnmtTUVFdQqGzAgAFnBJcXX3zRFfpmzpxp0tPT3Z55TZKTk83TTz9d7fu1CTrvvvuu6/yioiITFxfnOjZkyBC3oAcECsboAD7mcDjcXoeHh6uwsLBe1wkNDVXLli118cUXu46FhYXp66+/dvtM9+7dFRQU5HodHx+vRYsWqaysTDt27FBZWZmuu+46t8+UlJSoQ4cOrtfNmjU74ztU9s033yghIcHtXpdffrmKi4v1ww8/qFOnTrX+nsHBwYqNjXW97tKli9q1a6dvvvnG1U3VqVMnnXvuua5ztm/fruLiYiUmJrpd6+eff3brCqps27Zt+s9//uPqjpJOd/edPHlSJ06cUMuWLSVJMTExdfpcxefWqlUrtWnTRocOHZIk5ebmqmfPnlWO9ykuLlZeXp4eeughPfLII67jpaWlrkHUw4cP1+23367rrrtOffr0Ub9+/ZScnFzl9ywsLNSBAwd01VVXVfssaiM+Pt716w4dOuiyyy7T7t27JUnp6el69NFH9dlnnykpKUkDBw5UZGRkve4HeANBB/Cx4GD3/8yCgoJc42TKB/WaCuNmKo7zqO46QUFBVV7X6XTWuq7i4mLZ7XatWLFCdrvd7b1WrVq5ft2iRQu3ABMIyoNEuePHjys8PFxLliw549yaZlcVFxfrt7/9rQYOHHjGe+ecc47r1xWfhyefqxxiKv4etWjRosa6JGnmzJnq3r2723vlf2aio6P18ccf61//+pfWrl2r3//+90pKStK8efNqrMlXRo0apeTkZK1Zs0aff/65Xn75ZU2dOlW33HKLz+8N1ISgA/hReatEQUGB65g31y7ZvHmz2+tNmzbpkksukd1uV1RUlMrKynTo0CH17NmzXvfp0qWLPvjgAxljXKHoq6++UuvWrXX++ed7dK3S0lJt2bLF1Xqze/duHT16VF26dKn2M9HR0Tp48KDsdrsuuuiiWt+rW7du2rNnjy655BKPaqzr5ypyOBzKzMyschZXWFiYzjvvPO3bt0833HBDtddo06aNBg0apEGDBunaa6/Vb37zGx0+fNitRa78vAsvvFBZWVm68sor61zzxo0bXa1zR44c0d69e9W5c2fX+xdccIFuuukm3XTTTZo7d66WL19O0IHfEXQAP2rRooXi4+P18ssv66KLLlJhYaGeffZZr10/Pz9fGRkZGjNmjLZu3aq//e1vmjp1qiTpsssu09ChQ/XHP/5R999/v6KiolRUVKSsrCw5HA7169ev1ve5+eabtXjxYs2cOVO//vWvtWfPHj3//PMaO3asx1PRmzVrppkzZ+rhhx+W3W7XzJkzFR8f7wo+VUlKSlJ8fLwmTZqk++67T5deeqkOHDigTz/9VAMGDHDrCqto0qRJmjhxojp16qRrr71WNptN27Zt044dOzR58uRq71fXz1X061//WkuWLNG9996r8ePHq23bttq4caPi4uLUuXNn3XPPPZo1a5batm2rPn36qKSkRFu2bNHRo0c1duxYLVq0SOHh4YqKipLNZtP777+v8PBwtWvXrsr7/fa3v9W0adMUGhqqvn376vjx4/rPf/7jURD585//rJCQEIWGhuqZZ55RSEiIBgwYIEl67LHH1LdvX1166aU6evSo1q1bV2M4BRoKQQfws8cff1wPPfSQRowYocsuu0z33Xefbr/9dq9ce9iwYfr55581atQo2e12paena8yYMa73MzIy9NJLL2n27Nk6cOCAOnTooPj4eI9CjiR17NhRL7/8subMmaPly5erQ4cOuvHGG3XnnXd6XHOLFi10xx13aMqUKfrxxx/Vs2fPs67wHBQUpJdfflnPPvusHnjgARUVFSksLEw9e/ZUWFhYtZ/r06eP5s+frxdffFGvvPKKgoOD1blzZ40aNarG+9X1cxWFhIRo8eLFevLJJ3XLLbfIZrMpKipKl19+uaTTXUEtWrTQX/7yF82ZM0etWrVSRESEbr31VklS69attXDhQn377bey2WyKjY3Vyy+/XG2wHD58uE6ePKlXX31Vc+bMUYcOHc4Yn3U2U6ZM0WOPPaa9e/cqKipKL730kmsNI6fTqRkzZuiHH35QmzZt1KdPHz3wwAMeXR/whSBTcXAAAPjRypUr9fjjj2v9+vX+LgUVrFu3Tunp6crOzq62xQgIVCwYCAAALIugAwAALIuuKwAAYFm06AAAAMsi6AAAAMsi6AAAAMsi6AAAAMsi6AAAAMsi6AAAAMsi6AAAAMsi6AAAAMv6/4WdFO6V3FLNAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(interesting_clips[\"user_id\"].value_counts(), bins=np.linspace(0, 1000, 100))\n",
    "plt.yscale(\"log\")\n",
    "plt.xlabel(\"number of preferences clips\")\n",
    "plt.ylabel(\"number of users\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:29:13.151828Z",
     "start_time": "2024-04-02T23:28:59.015758Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(6421240, 37) (6733244, 37)\n"
     ]
    }
   ],
   "source": [
    "MAX_PREFERENCE_PER_USER = 400\n",
    "grouped_interesting_clips = interesting_clips.groupby([\"user_id\"])\n",
    "user_top_df = (\n",
    "    interesting_clips.sort_values(\n",
    "        [\"preference\", \"play_count\", \"part_of_concat\", \"time_used\"], ascending=False\n",
    "    )\n",
    "    .groupby(\"user_id\")\n",
    "    .head(MAX_PREFERENCE_PER_USER)\n",
    ")\n",
    "print(user_top_df.shape, interesting_clips.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:29:40.939226Z",
     "start_time": "2024-04-02T23:29:13.153559Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(6649584, 37)\n"
     ]
    }
   ],
   "source": [
    "user_top_requests = user_top_df[\"request_id\"].unique()\n",
    "user_intersting_clips = interesting_clips[\n",
    "    interesting_clips[\"request_id\"].isin(user_top_requests)\n",
    "].copy()\n",
    "print(user_intersting_clips.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:29:41.435819Z",
     "start_time": "2024-04-02T23:29:40.940991Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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gs6FCxfUtWtXPf/88/4uBQAABAjLBJ3Zs2erTZs2/i4DAAAEEEsEnUOHDunAgQPq3Lmzv0sBAAABxO9BJyMjQ6NHj1anTp3kcDi0cuXKEtcsWrRIKSkpio2N1aBBg7R161a3888//7wee+yx6ioZAAAECY+DzrJly7R69WrX82nTpqldu3b65S9/qaNHj3pcQF5enhwOhyZMmFDq+RUrVigtLU1jxozRsmXLFBUVpVGjRiknJ0eStHLlSt1444266aabPP5sAABgbR4HndmzZ+uqq66SJG3atElvvfWWHn/8cTVu3FhpaWkeF5CcnKyxY8eqR48epZ6fP3++Bg8erAEDBqhly5aaOHGi6tSpoyVLlkiStmzZohUrViglJUXPP/+83n33Xc2cOdPjOgAAgPV4vHv58ePHdcMNN0i63JrSs2dPDRkyRAkJCRo6dKhXi8vPz9eOHTv0wAMPuI7ZbDYlJSVp06ZNkqRx48Zp3LhxkqSlS5dq7969evjhh71aBwAACE4et+jUq1dPZ86ckSR98803SkpKkiRdddVVunjxoleLO336tAoKChQeHu52PDw8XCdPnvTqZwEAAOvxuEUnKSlJf/rTn9SqVSsdOnRIycnJkqS9e/fq5z//udcL9ET//v39+vkAACCweNyiM2HCBLVt21anTp3S9OnTFRYWJknasWOHevfu7dXiwsLCZLfbXQOPC+Xk5CgiIsKrnxVo7HabQkMvP2y2EH+XAwBAUPKoRefSpUt68803dd999+naa691O/fII494tTBJql27tqKjo5Wenq7u3btLkpxOp9LT05Wamur1zwsETRpcpQKnUcOGdV3HLhU49cOZPDmdxo+VAQAQfDwKOqGhoXrjjTfUt29frxVw/vx5ZWVluZ4fOXJEmZmZatSokZo3b66RI0dq/PjxiomJUVxcnBYsWKALFy5YtpuqYd1Q2W0h+v3iTdp3IlctmzbQa79sK5sthKADAICHPB6j06FDB2VkZOi6667zSgHbt2/XsGHDXM8Lp6j369dPU6dOVa9evVzdZNnZ2WrVqpXmzZtn+a6rfSdytePYWX+XAQBAUPM46HTu3FkvvfSS9uzZo+joaNWtW9ftfLdu3Tx6v8TERO3evbvca1JTUy3bVQUAAHzH46AzceJESZcX8isuJCREmZmZVa8KAADACzwOOrt27fJFHQAA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+Tlz5phbbrnFfPHFFyYzM9OMHj3apKSkmB9//NF1zahRo8w999xjNm/ebDIyMkyPHj3MY489Vt23Uqp7773XLFmyxOzZs8dkZmaa++67z3Tp0sWcP3/edc2f//xnk5ycbNasWWO2bdtmBg8ebIYMGeI6f+nSJXP33XebESNGmJ07d5rVq1ebxMRE89JLL/njltysWrXKrF692hw8eNAcOHDAvPzyyyY6Otrs2bPHGBPc91bcli1bTNeuXU2fPn3MlClTXMeD+R6nT59uevfubU6cOOF65OTkuM4H870ZY8yZM2dM165dzRNPPGG2bNlisrKyzFdffWW+/fZb1zXB/jcmJyfH7fv75ptvTGRkpFm7dq0xJvi/w9dff920b9/e/N///Z85fPiw+eSTT0x8fLxZsGCB65pA+w4JOj4wcOBAM3HiRNfzgoIC06lTJzNnzhw/VuW54kHH6XSajh07mnnz5rmOnT171sTExJh//OMfxhhj9u3bZyIjI83WrVtd13z55ZfG4XCY48ePV1/xFZSTk2MiIyPN+vXrjTGX7yc6Otp88sknrmsK72nTpk3GmMthMCoqymRnZ7uueeutt0xCQoK5ePFitdZfEbfeeqt59913LXVvubm5pmfPnuabb74xqamprqAT7Pc4ffp0c88995R6LtjvzRhjXnjhBfOrX/2qzPNW/BszZcoU0717d+N0Oi3xHd5///3mySefdDv28MMPm3HjxhljAvM7pOvKy/Lz87Vjxw4lJSW5jtlsNiUlJWnTpk1+rKzqjhw5ouzsbLd7u/rqq9WmTRvXvW3atEkNGzZUbGys65qkpCTZbLaA7L47d+6cJKlRo0aSpO3bt+unn35yu8cWLVqoefPm2rx5syRp8+bNioyMVEREhOuaTp06KTc3V/v27au+4q+goKBAH3/8sfLy8tS2bVtL3dukSZOUnJzsdi+SNb6/b7/9Vp06dVK3bt00btw4HTt2TJI17u2f//ynYmJi9Mgjj+i2225T37599e6777rOW+1vTH5+vj766CMNGDBAISEhlvgO27Ztq7Vr1+rgwYOSpF27dmnjxo3q3LmzpMD8DkO9/o413OnTp1VQUKDw8HC34+Hh4SXGggSb7OxsSSr13gr7mE+ePKlrrrnG7XxoaKgaNWrken2gcDqdeu6555SQkKDIyEhJl+uvVauWGjZs6HZt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73//u4mPjzcFBQXGGGPmz59vunbtWu77FH7e5s2bXcf27dvnCijGXA460dHRbmGpMHhcvHjR7f26d+9uFi9ebIwxZufOnSYyMtIcPnzY7V5nz57t9poPPvjAdOzY0fU8MjLSPPvss27XVPR1r7zyiuv5+fPnTWRkpPnyyy+NMca89NJLJiUlxeTn55f6u+jevXuJ4DJr1ixX6Js8ebIZNmyY2+8csBLG6ABBwuFwuD1v0qSJcnJyqvQ+4eHhqlu3rq6//nrXsYiICG3bts3tNW3atFFISIjreXx8vObPn6+CggLt2bNHBQUFuvPOO91ek5+fr8aNG7ue16pVq8Q9FLd//361bdvW7bNuueUW5eXl6fjx42revHmF7zM0NFSxsbGu5y1atFDDhg21f/9+VzdV8+bNdc0117iu2b17t/Ly8pSYmOj2Xj/++KNbV1Bxu3bt0r///W9Xd5R0ubvv4sWLunDhgurWrStJiomJqdTriv7e6tWrpwYNGujUqVOSpMzMTLVr167U8T55eXnKysrS008/rWeeecZ1/NKlS65B1P369dO9996rO++8U7fffru6dOmiTp06lXmvQLAh6ABBIjTU/X+uISEhrnEyhYN6TZFxM0XHeZT1PiEhIaW+r9PprHBdeXl5stvtWrJkiex2u9u5evXquX6uU6eOW4AJBIVBotD58+fVpEkTLVy4sMS15c2uysvL0+9+9zv17NmzxLmrrrrK9XPR34cnryseYop+R3Xq1Cm3LkmaPHmy2rRp43au8L+Z6OhorVq1Sv/617+0Zs0aPfroo0pKStL06dPLfF8gmBB0AAsobJXIzs52HfPm+jJbt251e75lyxbdcMMNstvtatWqlQoKCnTq1Cm1a9euSp/TokULffbZZzLGuELRxo0bVb9+fV177bUevdelS5e0fft2V+vNgQMHdPbsWbVo0aLM10RHR+vkyZOy2+267rrrKvxZrVu31sGDB3XDDTd4VGNlX1eUw+HQsmXLSp3FFRERoaZNm+rw4cO65557ynyPBg0aqFevXurVq5fuuOMO/fa3v9WZM2fcWuSAYMWsK8AC6tSpo/j4eM2dO1f79+/X+vXr9eqrr3rt/Y8dO6a0tDQdOHBA//jHP/T3v/9dw4YNkyTddNNN6tOnj/74xz/q888/1+HDh7V161bNmTNHq1ev9uhzfv3rX+v48eOaPHmy9u/fr5UrV2rGjBkaOXKkx1PRa9WqpcmTJ2vLli3avn27nnzyScXHx7uCT2mSkpIUHx+vMWPG6Ouvv9aRI0f073//W6+88kqJ7ryixowZow8//FAzZ87U3r17tX//fn388cd65ZVXyq2xsq8r6je/+Y1yc3P12GOPadu2bTp06JA++OADHThwQJL0yCOPaO7cuXrzzTd18OBB7d69W0uWLNH8+fMlSfPnz9c//vEP7d+/XwcPHtSnn36qJk2aqGHDhhWuAQhktOgAFvHcc8/p6aefVv/+/XXTTTfp8ccf17333uuV9+7bt69+/PFHDRo0SHa7XcOGDdOQIUNc59PS0vT6669r6tSpOnHihBo3bqz4+Hh16dLFo89p1qyZ5s6dq2nTpundd99V48aNNXDgQD344IMe11ynTh3dd999GjdunL7//nu1a9fuiis8h4SEaO7cuXr11Vf15JNP6vTp04qIiFC7du0UERFR5utuv/12zZ49W7NmzdJf//pXhYaG6uabb9agQYPK/bzKvq6osLAwLViwQC+88IKGDh0qm82mVq1a6ZZbbpEkDRo0SHXq1NEbb7yhadOmqV69eoqMjNTw4cMlSfXr19e8efP07bffymazKTY2VnPnzq3UGkdAIAoxRTv1AcACli5dqueee04bNmzwdykA/IzIDgAALIugAwAALIuuKwAAYFm06AAAAMsi6AAAAMsi6AAAAMsi6AAAAMsi6AAAAMsi6AAAAMsi6AAAAMsi6AAAAMv6f1S+VcoCPulgAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(user_intersting_clips[\"user_id\"].value_counts(), bins=np.linspace(0, 802, 100))\n",
    "plt.yscale(\"log\")\n",
    "plt.xlabel(\"number of preferences\")\n",
    "plt.ylabel(\"number of users\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:29:41.454410Z",
     "start_time": "2024-04-02T23:29:41.437448Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "finally 6649584 requests 3324792.0 frac 0.18212719743020797\n"
     ]
    }
   ],
   "source": [
    "print(\n",
    "    \"finally\",\n",
    "    user_intersting_clips.shape[0],\n",
    "    \"requests\",\n",
    "    user_intersting_clips.shape[0] / 2,\n",
    "    \"frac\",\n",
    "    user_intersting_clips.shape[0] / total_clip_counts,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:29:42.600478Z",
     "start_time": "2024-04-02T23:29:41.455583Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time_used</th>\n",
       "      <th>user_id</th>\n",
       "      <th>upvote_count</th>\n",
       "      <th>batch_index</th>\n",
       "      <th>dislike_count</th>\n",
       "      <th>flag_count</th>\n",
       "      <th>play_count</th>\n",
       "      <th>skip_count</th>\n",
       "      <th>user_n_clips</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>6.649584e+06</td>\n",
       "      <td>6.649584e+06</td>\n",
       "      <td>6.649584e+06</td>\n",
       "      <td>6649584.0</td>\n",
       "      <td>6.649584e+06</td>\n",
       "      <td>6.649584e+06</td>\n",
       "      <td>6.649584e+06</td>\n",
       "      <td>6649584.0</td>\n",
       "      <td>6.649584e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>7.552677e+01</td>\n",
       "      <td>5.127564e+06</td>\n",
       "      <td>2.004118e-01</td>\n",
       "      <td>0.5</td>\n",
       "      <td>4.444113e-02</td>\n",
       "      <td>5.054452e-04</td>\n",
       "      <td>3.181872e+00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.382641e+02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>3.688683e+01</td>\n",
       "      <td>2.345599e+06</td>\n",
       "      <td>5.098196e-01</td>\n",
       "      <td>0.5</td>\n",
       "      <td>2.061927e-01</td>\n",
       "      <td>2.248980e-02</td>\n",
       "      <td>1.083170e+02</td>\n",
       "      <td>0.0</td>\n",
       "      <td>9.491927e+02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>6.198862e-01</td>\n",
       "      <td>3.000000e+00</td>\n",
       "      <td>-4.000000e+00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-8.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>4.773042e+01</td>\n",
       "      <td>4.024577e+06</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.200000e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>6.908242e+01</td>\n",
       "      <td>5.707499e+06</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>2.000000e+00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.640000e+02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>1.060122e+02</td>\n",
       "      <td>6.869524e+06</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>4.000000e+00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.950000e+02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>2.834291e+02</td>\n",
       "      <td>8.527296e+06</td>\n",
       "      <td>5.090000e+02</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.000000e+01</td>\n",
       "      <td>2.000000e+00</td>\n",
       "      <td>2.063210e+05</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.692000e+04</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          time_used       user_id  upvote_count  batch_index  dislike_count  \\\n",
       "count  6.649584e+06  6.649584e+06  6.649584e+06    6649584.0   6.649584e+06   \n",
       "mean   7.552677e+01  5.127564e+06  2.004118e-01          0.5   4.444113e-02   \n",
       "std    3.688683e+01  2.345599e+06  5.098196e-01          0.5   2.061927e-01   \n",
       "min    6.198862e-01  3.000000e+00 -4.000000e+00          0.0  -8.000000e+00   \n",
       "25%    4.773042e+01  4.024577e+06  0.000000e+00          0.0   0.000000e+00   \n",
       "50%    6.908242e+01  5.707499e+06  0.000000e+00          0.5   0.000000e+00   \n",
       "75%    1.060122e+02  6.869524e+06  0.000000e+00          1.0   0.000000e+00   \n",
       "max    2.834291e+02  8.527296e+06  5.090000e+02          1.0   1.000000e+01   \n",
       "\n",
       "         flag_count    play_count  skip_count  user_n_clips  \n",
       "count  6.649584e+06  6.649584e+06   6649584.0  6.649584e+06  \n",
       "mean   5.054452e-04  3.181872e+00         0.0  5.382641e+02  \n",
       "std    2.248980e-02  1.083170e+02         0.0  9.491927e+02  \n",
       "min    0.000000e+00  0.000000e+00         0.0  2.000000e+00  \n",
       "25%    0.000000e+00  0.000000e+00         0.0  2.200000e+01  \n",
       "50%    0.000000e+00  2.000000e+00         0.0  1.640000e+02  \n",
       "75%    0.000000e+00  4.000000e+00         0.0  5.950000e+02  \n",
       "max    2.000000e+00  2.063210e+05         0.0  1.692000e+04  "
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "user_intersting_clips.describe()\n",
    "# 214202\n",
    "# 608730\n",
    "# 1376250\n",
    "# 4625842"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:29:42.618152Z",
     "start_time": "2024-04-02T23:29:42.601913Z"
    }
   },
   "outputs": [],
   "source": [
    "date_cut = '2024-03-22 04:30:00' # v3 launch test time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:29:42.751039Z",
     "start_time": "2024-04-02T23:29:42.619739Z"
    }
   },
   "outputs": [],
   "source": [
    "user_intersting_clips[\"is_pro_user\"] = user_intersting_clips[\"user_id\"].isin(auth_user_df[\"user_id\"].unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:29:42.781678Z",
     "start_time": "2024-04-02T23:29:42.752663Z"
    }
   },
   "outputs": [],
   "source": [
    "user_compare_mask = (user_intersting_clips[\"created_at\"] >= date_cut) # & (user_intersting_clips[\"is_pro_user\"] == True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:30:06.575877Z",
     "start_time": "2024-04-02T23:29:42.783210Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "chirp-v3-engine-d_win_over_chirp-v3-engine-i, win ratio 0.516, counts 41171\n",
      "chirp-v3-engine-d_win_over_chirp-v3-engine-s, win ratio 0.519, counts 2229\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-d, win ratio 0.484, counts 38676\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-i, win ratio 1.000, counts 1880499\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-s, win ratio 0.515, counts 2191\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-v0, win ratio 0.713, counts 24431\n",
      "chirp-v3-engine-s_win_over_chirp-v3-engine-d, win ratio 0.481, counts 2068\n",
      "chirp-v3-engine-s_win_over_chirp-v3-engine-i, win ratio 0.485, counts 2062\n",
      "chirp-v3-engine-v0_win_over_chirp-v3-engine-i, win ratio 0.287, counts 9847\n",
      "chirp-v3-engine-v0_win_over_chirp-v3-engine-v0, win ratio 1.000, counts 25984\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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LVu2TBs3btTy5cuzLSpOnjypkSNHOu7NzIyJiYnau3ev9u7dq4sXL+rFF1/M98z5IfO/y7WioqL0+OOPO7738/NT8eLFFR8frx07dmjHjh1au3at3n//fRUvXtyxX0BAgEqXLq0LFy5Icp77k7k9t7Zv366nnnrK8fPJnAty5MgRHTlyRMuXL9e7776bq19GAECeGQBMM2vWLCMkJMT429/+ZhiGYcyZM8cICQkxxo0b57Tf5cuXjcaNGxt169Y1oqKijG3bthkhISFGSEiIcfLkSad909PTjT59+hghISFGs2bNjNWrVxspKSmGYRhGZGSkMWzYMCMkJMSoU6eO8cMPP2TJNGXKFMf2d99917h06ZJhGIZx/vx545VXXnGcNyQkxJg1a1aW42fMmGGEhIQYd955p/Hf//7XuHDhgmEYhpGammps27bN6NmzpxESEmL06tXLyMjIyPbnMWDAgDz/LFesWJHjzyTTf//7X8c+GzdudLRntjVu3Njo0qWLsXXrVke2Y8eOOfYbM2aMERISYnTs2NFYs2aN42dz5coV49tvvzU6duxohISEGCNHjsxy7Wv/m+Xks88+c+SYO3euce7cOcMwrv43PXDggPHoo48aISEhRrt27YzExESnYzN/do0bNzZCQkKM6dOnG7GxsYZhGEZKSopx6tQpwzAM49dffzXCwsKMkJAQ46WXXjKOHDlipKenG4ZhGKdPnzZeffVVIyQkxKhfv76xf//+HN9DixYtjOHDhxtHjhxxXGPdunVGkyZNjJCQEOP555/P8v4uXbpk3HPPPY7jly5daiQkJDi2R0ZGGgsXLjQWLVrkdNxfyZwbme8pu/vZMAxj+/btjn0mT56cZfuZM2eM5557ztiwYYPjfjcMw0hMTDRWrFhhtGnTxggJCTGmTJmS5diTJ0/e8L41DNf3T1RUlNG8eXMjJCTE6Nq1q7Fz507Hth07dhhdunQxQkJCjJYtWxpnz5519aMAALdQUAAmur6giIqKMurWrWs0btzY6QPj8uXLjZCQEGPQoEGGYRguC4p169Y5tm3evDnLNdPS0hwFR/fu3Z22nT171qhfv74REhJivPPOO9lmfvbZZ3P8AHby5EmjXr16RlhYmHHo0KFsj7906ZLRrl07IyQkxPjmm2+y/XncjIIiLS3NuP/++42QkBCjbt26RlxcnGNb5nFN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TlbFihXVsmVLDRo0KMfx3sWKFdN//vMfffzxx/r88891/PhxGYah5s2bq3///rrvvvs0cODAHK9ts9n0zDPP6L777tMnn3yin376SWfOnFFiYqJKlSqlGjVqqGnTpurcubNjXkJh4ePjo9dee029e/fWZ599pp07d+rcuXNKSkpScHCwbrvtNrVo0UJdunRx+4Nbv3791LZtWy1ZskRbt27VqVOndOnSJfn7+6tq1apq0qSJOnTooFatWrn9Ppo1a6bw8HB99tln+u677/T777/r0qVLKlasmGrVqqUGDRqoXbt2Lp/n4a6qVatq5cqVWr58ub766isdPnxYly9fVunSpVW3bl21a9dODzzwgKUyZ6pfv77at2+vjRs3at68eXrooYdUrFgxNWzYUMuWLdPs2bO1bds2JSYmqkSJEmrXrp0GDx6ssLAwl0MAhw8fLn9/f61evVrHjh1zrAZVuXLlXGdr2bKlvvzySy1atEgbN27U6dOnZbPZVKtWLbVv316DBw/O9qF3AJAfbAZr2AEAAABwE3MoAAAAALiNggIAAACA2ygoAAAAALiNggIAAACA2ygoAAAAALiNggIAAACA2ygoAAAAALitSDzYrrNHH7MjoIjw31zO7AgoIjxsPEIIBSOhTYzZEVBEfGNfZnaEHNnPhph2bY8Kh027dm7RQwEAAADAbUWihwIAAABwl112065dGH77XxgyAgAAALAoCgoAAAAAbmPIEwAAAOBChmHekKfC8GGdHgoAAAAAbisMRQ8AAABgGrsKz1LdS5Ys0fvvv6+YmBjVrVtXEydOVFhYWLb7Dhw4UNu3b8/S3r59ey1YsCDX16SgAAAAAG4BX375paZOnapJkyapUaNGWrx4sYYMGaLw8HAFBwdn2f/f//630tLSHN/Hx8frgQce0L333pun6zLkCQAAAHDBbuL/8mLRokXq27evevfurdq1a2vSpEkqXry4VqxYke3+gYGBKlu2rOO1ZcsWFS9enIICAAAAuFWkpqYqMTHR6ZWamprtfgcPHlTr1q0dbR4eHmrdurX27NmTq2utWLFC3bp1k5+fX54yUlAAAAAAFjV//nw1a9bM6TV//vws+124cEEZGRlZhjYFBwfr/PnzN7zO/v37dfjwYfXp0yfPGZlDAQAAALiQYZg3KXvYsGEaNGiQU5uPj0++X2f58uUKCQnJ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AAAUmPnz56tZs2ZOr/nz52fZ78KFC8rIyMgytCk4OFjnz5/P9twnT57U+vXrlZGRoQULFmjkyJFatGjRDVdfvZ7lhjxt3rxZa9eu1bfffisvLy916dJFCxcuZMlYAAAAmMJumLds7LBhwzRo0CCnNh8fn3w5t2EYCg4O1uTJk+Xp6amGDRsqOjpa77//fp6mGViuoBg1apTuvvtuTZs2Te3bt3eM5wIAAACKGh8fn1wVEKVLl5anp6diY2Od2mNjY1WmTJlsjylbtqy8vLzk6enpaKtZs6ZiYmKUmpqa68LFckOetmzZopkzZ6pTp06KjY1l6VgAAADgBnx8fNSgQQNFREQ42ux2uyIiItSkSZNsj2natKkiIyOdPm//8ccfKlu2bJ56QSxXUPj7+zu+7tq1q06fPm1iGgAAABR1Zk7KzotBgwbps88+08qVK3X06FG9+uqrSk5O1oMPPihJGjt2rN566y3H/v369VN8fLxef/11HT9+XD/88IPmz5+v/v375+m6lhvydC3DMMyOAAAAABQKXbt2VVxcnGbNmqWYmBjVq1dP7733nmPI05kzZ+Th8WeRUrFiRb3//vuaOnWq7r//fpUvX16PPvqonnzyyTxd19IFBQAAAGA2eyF5sJ0kDRgwQAMGDMh220cffZSlrUmTJvrss8/+0jUt/dMZPny4AgICzI4BAAAAIAeW7qHI7ol+AAAAAKzDkgXFsmXLtHjxYv3xxx+SpBo1auixxx5Tnz59zA0GAACAIidD5j2HojCwXEExc+ZMffDBBxowYIAaN24sSdq7d6+mTJmiqKgoPfPMM+YGBAAAAOBguYLik08+0eTJk9W9e3dHW8eOHVWnTh1NnjyZggIAAAAFqjBNyjaD5X466enpatiwYZb2Bg0aKCMjw4REAAAAAHJiuYLigQce0CeffJKl/bPPPlOPHj1MSAQAAICiLEM2016FgeWGPEnS8uXLtWXLFjVq1EiStH//fkVFRalnz56aOnWqY7/x48ebFREAAACALFhQHD58WPXr15ckRUZGSpICAwMVGBiow4cPO/az2QpHxQYAAADcyixXUGT3BD8AAADALEzKds1SP520tDTVr1/fqScCAAAAgHVZqofC29tbFStWlN1uNzsKAAAAIEnKoIfCJcv9dIYPH663335b8fHxZkcBAAAAcAOW6qGQpCVLlujE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KU4Fhd1u14cffqioqCj16NFDt912myTp2LFjWrt2rSpXrqyBAwe6FahTp05uHQcAAADcaubPn6/Zs2c7tY0aNUqjR492artw4YIyMjKyDG0KDg7WsWPHsj33zp07tXz5cq1ateovZcxVQfHggw86fT937lylpKTo66+/VunSpZ22jR49Wv369dP58+fdCjRq1Ci3jgMAAABuNcOGDdOgQYOc2tx9gPS1EhMTNXbsWE2ePFlBQUF/6VxuTcr+9NNP9fjjj2cpJiQpKChIffv21UcffeTU5QIAAAAUSoZ5z6HIbnhTdkqXLi1PT0/FxsY6tcfGxqpMmTJZ9j958qROnz6tESNGONoyF0aqX7++wsPDVa1atVxldKugiI+PV3Jyco7bk5OTFR8fn+vztWzZUuHh4QoKClKLFi1cztfYvn17XqICAAAAtzwfHx81aNBAERERjikEdrtdERERGjBgQJb9a9asqS+++MKp7Z133tHly5f14osvqkKFCrm+tlsFReYyVO3atVPDhg2dth04cEAfffRRrta7zTR+/HjHsysmTJjgTiQAAADgpjAKybKxgwYN0rhx49SwYUOFhYVp8eLFSk5OdkxfGDt2rMqXL6/nnntOxYoVy/Lct1KlSklSnp8H51ZB8fLLL2vgwIHq06ePGjVqpBo1akiS/vjjD+3bt08BAQGaOHFirs/Xq1evbL8GAAAAkDtdu3ZVXFycZs2apZiYGNWrV0/vvfeeY8jTmTNn5OHhke/XtRmGezXX+fPntWDBAm3atMnxnIpKlSqpffv2euKJJ1S2bFm3Q9ntdp04cUKxsbG6Pl6LFi3yfL67vhnndhYgL/y6ZL+KApDf/DeXMzsCiogVtb4xOwKKCI8Kh82OkKPq7/+fadc+MWSsadfOLbeflF2mTBlNmDAh34co7d27V88995yioqKyFBM2m82tZ1sAAAAAuDncLigyXb58WWfPnpUkVahQQSVKlPhL53vllVfUsGFDLViwQGXLlnXrgXoAAAAACobbBcX+/fs1ffp07d6927HElIeHh5o1a6bnn39eoaGhbp33xIkTmjVrlqpXr+5uNAAAACD/mLhsbGHgVkGxb98+DRw4UN7e3nrooYdUq1YtSdLRo0e1bt06DRgwIM8rPWUKCwvTiRMnKCgAAACAQsCtgmLGjBkqX768Pv744yyTrzOflD1j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",
      "text/plain": [
       "<Figure size 1000x800 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "get_preferfence_counts(\n",
    "    user_intersting_clips[user_compare_mask]\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:30:30.578209Z",
     "start_time": "2024-04-02T23:30:06.577609Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "first gen\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_1058173/2492402391.py:3: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n",
      "  interesting_clips[\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "chirp-v3-engine-d_win_over_chirp-v3-engine-i, win ratio 0.534, counts 31448\n",
      "chirp-v3-engine-d_win_over_chirp-v3-engine-s, win ratio 0.549, counts 1749\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-d, win ratio 0.466, counts 27446\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-i, win ratio 1.000, counts 1520818\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-s, win ratio 0.509, counts 1646\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-v0, win ratio 0.744, counts 18667\n",
      "chirp-v3-engine-s_win_over_chirp-v3-engine-d, win ratio 0.451, counts 1437\n",
      "chirp-v3-engine-s_win_over_chirp-v3-engine-i, win ratio 0.491, counts 1589\n",
      "chirp-v3-engine-v0_win_over_chirp-v3-engine-i, win ratio 0.256, counts 6437\n",
      "chirp-v3-engine-v0_win_over_chirp-v3-engine-v0, win ratio 1.000, counts 17388\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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axB2wfko8tcZOiibiIiIiMhQaul16pEUSRQUR44cETsCEREREREZQBIFhZubm+bn4OBgODo64r33tC/PFRoaipSUFIwaNaq84xERERFRJabioGy9JNd+s2XLFtStW7fQ8gYNGmDz5s0iJCIiIiIiIl0k0UJRUFJSEpydnQstd3BwQFJSkgiJiIiIiKgy42Vj9ZNcC4WrqysuXLhQaHlUVBSqVq0qQiIiIiIiItJFci0U/fv3x7x585CXl4eWLVsCACIiIrBo0SKMGDFC5HRERERERFSQ5AqKDz/8EGlpaQgKCkJubi4AwMzMDB9++CFGjx4tcjoiIiIiqmzUguQ69UiK5AoKmUyGTz/9FOPGjcOtW7dgbm6O2rVrQy6Xix2NiIiIiIheILmCIp+VlRV8fHzEjkFERERElZwKHJStD9tviIiIiIjIYCwoiIiIiIjIYJLt8kREREREJAWch0I/tlAQEREREZHB2EJBRERERKQHLxurH58dIiIiIiIyGAsKIiIiIiIyGLs8ERERERHpoeY8FHqxhYKIiIiIiAzGFgoiIiIiIj1UvGysXmyhICIiIiIig7GFgoiIiIhID142Vj8+O0REREREZDAWFEREREREZLBK0eXp3nYvsSNQJVGj/VWxI1Al8eRQbbEjUCVxLOGo2BGIRKfmoGy92EJBREREREQGqxQtFEREREREhuLEdvqxhYKIiIiIiAzGgoKIiIiIiAzGLk9ERERERHpwULZ+bKEgIiIiIiKDsYWCiIiIiEgPzpStH58dIiIiIiIyGFsoiIiIiIj04BgK/dhCQUREREREBmNBQUREREREBmOXJyIiIiIiPThTtn5soSAiIiIiIoOxhYKIiIiISA8OytaPLRRERERERGQwFhRERERERGQwdnkiIiIiItKDXZ70YwsFEREREREZjC0URERERER6sIVCP7ZQEBERERGRwdhCQURERESkB1so9JNEQdGiRQuEh4fDwcEB/v7+kMl0/9IiIyPLMRkREREREekjiYJi5syZsLa2BgDMmjVL5DRERERERFRckigoAgICivyZiIiIiEhsarDLkz6SHpQ9atQoPHr0SOwYRERERESkgyRaKHQ5d+4ccnJyxI5BRERERJUYB2XrJ+kWCiIiIiIikjZJFxRubm4wMZF0IwoRERERUaUm6U/re/bsETsCEREREVVy7PKknyRbKM6fP49p06Zh0KBBSExMBADs2LED58+fFzkZEREREREVJLmC4sCBAxg5ciTMzc1x7do1KJVKAEBGRgaCg4NFTkdERERElY1akIl2qwgkV1CsXLkSQUFBmDt3rtb4CV9fX1y/fl3EZERERERE9CLJjaG4c+cOmjdvXmh5lSpVkJ6eLkIiIiIiIqrMKkpLgVgk10Lh5OSEuLi4QsujoqLg7u4uQiIiIiIiItJFcgXFgAED8M033+Dy5cuQyWRITEzErl27sHDhQgwePFjseEREREREVIDkujyNGjUKarUaw4YNQ3Z2NgIDAyGXyzFixAgMHTpU7HhEREREVMkI7PKkl+QKCplMhrFjx2LkyJGIi4tDVlYW6tWrBysrK7GjERERERHRCyRXUOSTy+WoX7++2DGIiIiIqJJTgy0U+kiuoMjKysLq1atx5swZJCcnQ61Wa60/cuSISMmIiIiIiOhFkisovvjiC0RGRqJ3795wdnaGTMaKkIiIiIhIqiRXUJw4cQLBwcHw8/MTOwoREREREeeheAnJXTbWxsYGdnZ2YscgIiIiIqJikFxBMXnyZCxduhTZ2dliRyEiIiIigiDIRLtVBJLr8hQSEoK4uDi0bt0aNWrUgImJdsSwsDCRkhERERERSdvGjRvxyy+/ICkpCR4eHpg9ezZ8fHyK3PaPP/7AzJkztZbJ5XJcuXKlROeUXEHRqVMnsSMQEREREWlUlDEU+/btw/z58xEUFIQmTZpg3bp1GDlyJMLDw+Ho6FjkPtbW1ggPD9fcN+SCSJIrKCZMmCB2BCIiIiKiCickJAQDBgxAv379AABBQUE4duwYtm/fjlGjRhW5j0wmg7Oz8yudV3IFBRERERERPadUKqFUKrWWyeVyyOXyQttdu3YNo0eP1iwzMjJC69atcfHiRZ3Hz8rKwttvvw21Wg1PT09MmTIFDRo0KFFGSRQULVq0QHh4OBwcHODv76+3qSUyMrIckxERERFRZSfm4Ojg4GAsX75ca9mECRMwceJErWWpqalQqVSFujY5Ojri9u3bRR67Tp06mDdvHho2bIinT59i7dq1GDRoEPbu3QsXF5diZ5REQTFz5kxYW1sDAGbNmiVyGiIiIiIiaRg9ejSGDx+utezF1glDNWvWDM2aNdO6361bN2zevBkff/xxsY8jiYIiICCgyJ+JiIiIiMQm5qDsoro3FcXe3h7GxsZITk7WWp6cnAwnJ6dincvU1BSNGjVCXFxciTJKbh6KjIwMnbcX+48REREREdHzwqNx48aIiIjQLFOr1YiIiNBqhdBHpVIhJiamxIO0JdFCUVDz5s31jqFwcXFBQEAAJkyYACMjydVDRERERESiGD58OGbMmAEvLy/4+Phg3bp1yM7ORt++fQEA06dPR7Vq1TB16lQAwPLly9G0aVPUqlUL6enp+OWXX5CQkID+/fuX6LySKygWLFiAJUuWICAgQDMJR3R0NHbs2IGxY8ciJSUFa9euhVwux5gxY0ROS0RERESvO0EQO0HxdOvWDSkpKVi2bBmSkpLQqFEjrFmzRtPl6cGDB1pfyKenp2P27NlISkqCra0tGjdujM2bN6N+/folOq9MEKT1FH3wwQcYOHAgunXrprV837592LJlC9atW4cdO3Zg1apVWpNw6NMoLKgsohIVUqPfVbEjUCWRc6i22BGokjjWeKfYEaiSMHKJETuCTv77xbto0Lmu80Q7d3FJrs/QxYsX4enpWWi5p6cnLl26BADw8/PDgwcPyjkZEREREVVGashEu1UEkisoXF1dERoaWmh5aGio5nq4aWlpsLGxKe9oRERERET0AsmNoZg+fTomT56MEydOwNvbGwBw9epV3L59G8uWLQMAXLlypVCXKCIiIiKisiDmxHYVgeQKio4dO2L//v3YsmUL7t69CwBo164dVqxYgRo1agAA/vOf/4iYkIiIiIiI8kmuoAAAd3d3TJs2TewYRERERET0EpIsKNLT0xEdHY3k5GS8eBGqPn36iBOKiIiIiColMWfKrggkV1AcPXoU06ZNQ1ZWFqytrbUmuZPJZCwoiIiIiIgkRHIFxcKFC9GvXz9MmTIFFhYWYschIiIiokpOWrO2SY/kLhubmJiI999/n8UEEREREVEFILmC4s0338SVK1fEjkFERERERMUguS5P7du3x6JFi3Dr1i0oFAqYmGhH7Nixo0jJiIiIiKgy4jwU+kmuoJg9ezYAYMWKFYXWyWQy3Lhxo7wjERERERGRDpIrKP766y+xIxARERERabCFQj/JjaEoKCcnR+wIRERERESkh+QKCpVKhRUrVqBt27Zo1qwZ4uPjAQA//PADtm3bJnI6IiIiIiIqSHIFxcqVKxEWFoZPP/0UpqammuUKhQKhoaEiJiMiIiKi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iImJ0WzHifaIiIiIqHzwc6c+BhUU7du3x/z58zFv3jzNwOxPP/0UgiDA2toaCxcuhL+/v0GBNmzYYNB+RERERERU/gye2K5Pnz545513cOrUKcTGxkKtVqNmzZp48803YW1tbdAxc3Nz0aRJE+zYsQMKhcLQaEREREREVE5eaaZsS0tLdO7cubSywNTUFK6urlCr1aV2TCIiIiKiV1JBBkeLpVgFRUJCgkEHr169eon3GTNmDL7//nt8++23sLOzM+i8RERERERUPopVUHTo0MGgQdA3btwo8T4bN25EbGws2rZti+rVq8PS0lJrfVhYWImPSURERERkMLZQ6FWsgmLevHlaBYVarcb69euRkJCAnj17ok6dOgCA27dvY8+ePXBzc8PQoUMNCtSpUyeD9iMiIiIiovJXrIKib9++WvdXrlyJnJwcHDx4EPb29lrrJk6ciMGDB+Px48cGBZowYYJB+xERERERUfkzaKbszZs3Y+DAgYWKCQBwcHDAgAEDipztmoiIiIiowhFk4t0qAIOu8pSWlobs7Gyd67Ozs5GWllbs47Vo0QLh4eFwcHCAv7+/3vEakZGRJYlKRERERERlyKCCokmTJli3bh3atWsHLy8vrXVXrlzBhg0b4OPjU+zjzZw5UzN3xaxZswyJRERERERUJgQOytbLoILiyy+/xNChQ9G/f380adIEtWvXBgDcvXsXly9fhq2tLWbPnl3s4wUEBBT5MxERERERSZtBBUX9+vWxe/durF69GidOnMC+ffsAPJ934v3338eHH34IZ2dng0Op1WrExsYiOTkZwgslob+/v8HHJSIiIiIqMbZQ6GXwTNlOTk6YNWtWqXdRunTpEqZOnYqEhIRCxYRMJjNobgsiIiIiIiobBhcU+TIzM/Hw4UMAgIuLC6ysrF7peF999RW8vLywevVqODs7GzShHhERERERlQ+DC4ro6GgsWrQIFy5cgFqtBgAYGRnBz88Pn376Kby9vQ06bmxsLJYtW4ZatWoZGo2IiIiIqPRUkMu3isWgeSguX76MwMBAXL9+He+99x5mzpyJmTNn4r333sP169cRGBiI6OhogwL5+PggNjbWoH2JiIiIiCqzjRs3okOHDvD29kb//v2L/Zl87969aNiwIcaNG1ficxrUQrFkyRJUq1YNv//+e6HB1/kzZS9ZsgQhISHFOt5ff/2l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wgRMmTIFXbt2RZ8+fVCzZk0Az1sudu7cicTERCxevBgAoFKpsGvXLvj6+pZeaiIiIiKicsKZsvUzqKDo2rUrLCwssHjxYqxcuVJrXYMGDfDll1/i7bffBgAIgoCQkBBeNpaIiIiI6DVk8MR2b731Ft566y08evQICQkJAIDq1aujatWq2icwMYGbm9urpSQiIiIiEgtbKPR65Zmyq1atWqiIICIiIiKiysHggkKlUuHPP/9EfHw8njx5AkHQLt1kMhnGjx//ygGJiIiIiEi6DCoorly5gkmTJuHhw4eFCol8LCiIiIiI6LXALk96GVRQBAUF4dmzZ1ixYgWaN2+ud04KIiIiIiJ6fRlUUPz999/45JNP0KFDh9LOQ0REREQkKbxsrH4GTWzn4uKis6sTERERERFVHgYVFB999BG2bt2KjIyM0s5DREREREQViEFdnjIzM2FlZYXOnTuje/fucHFxgbGxsdY2MpkMw4YNK42MRERERETiEWRiJ5A0gwqKhQsXan7+7bffityGBQURERER0evPoILiyJEjpZ2DiIiIiEiaOHRYL4MKCjc3t9LOoXHixAlYWlqiefPmAICNGzdi69atqF+/Pr788kvY2tqW2bmJiIiIiKhkDBqUXZYWLVqEzMxMAM8vT7tgwQK0b98e9+7dw4IFC0ROR0RERESVjUwQ71YRFKuFokOHDjAyMsL+/fthamqKDh06QCbTPzhFJpPh8OHDJQ5079491KtXDwBw8OBBvP3225gyZQquXbuGUaNGlfh4RERERERUdopVULRo0QIymQxGRkZa98uCqakpnj17BgA4ffo0+vTpAwCwtbXlZWqJiIiIiCSmWAXFi12NyrLrka+vL+bPnw9fX19cuXIFP/zwAwDg7t27cHFxKbPzEhEREREVqYJ0PRKL5MZQfPnllzAxMcGBAwfw1VdfoVq1agCeD9Zu27atyOmIiIiIiKggg67ylO/mzZuIj4/HkydPilyf312pJKpXr47g4OBCy2fNmlXiYxERERERvaqKMjhaLAYVFHFxcfj0008RHR0NQSj6GZbJZAYVFAWNGjUKc+fORdWqVV/pOEREREREVDYMKii+/PJLxMTEYNasWWjevDlsbGxKOxcA4Ny5c8jJySmTYxMRERER0aszqKC4cOECRo8ejaFDh5Z2HiIiIiIiaWGXJ70MGpRtb2+P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nDlzWFAQERERUbmqKJdvFYvkujzl5eXBy8ur0PLGjRtDpVKJkIiIiIiIiHSRXEHRu3dvbNq0qdDyrVu3omfPniIkIiIiIqJKjWMo9JJclycACA0NxalTp9CkSRMAQHR0NBISEtCnTx/Mnz9fs93MmTPFikhERERERJBgQRETEwNPT08AQFxcHADAzs4OdnZ2iImJ0Wwnk8lEyUdERERERP+SXEGxYcMGsSMQEREREWnIhArS90gkkhpDkZubC09PT62WCCIiIiIiki5JtVCYmprC1dUVarVa7ChERERERM+xgUIvSbVQAMCYMWPw/fffIy0tTewoRERERET0EpJqoQCAjRs3IjY2Fm3btkX16tVhaWmptT4sLEykZERERERE9CLJFRSdOnUSOwIRERERkQZnytZPcgXFhAkTxI5ARERERETFJLmCgoiIiIhIUthCoZckCooWLVogPDwcDg4O8Pf31ztpXWRkZDkmIyIiIiIifSRRUMycORPW1tYAgFmzZomchoiIiIjoXxxDoZ8kCoqAgIAifyYiIiIiImmTREHxIrVajdjYWCQnJ0N4Yapzf39/kVIREREREdGLJFdQXLp0CVOnTkVCQkKhYkImk+HGjRsiJSMiIiKiSoldnvSSXEHx1VdfwcvLC6tXr4azs7PeAdpERERERCQuyRUUsbGxWLZsGWrVqiV2FCIiIiIiDsp+CSOxA7zIx8cHsbGxYscgIiIiIqJikEQLxV9//aX5eejQoVi4cCEeP34MhUIBExPtiB4eHuUdj4iIiIiIdJBEQdGnTx/IZDKtQdgF56PIX8dB2URERERU7tjlSS9JFBRHjhwROwIRERERERlAEgWFm5ub5ufg4GA4Ojrivffe09omNDQUKSkpGDVqVHnHIyIiIqJKjIOy9ZPcoOwtW7agbt26hZY3aNAAmzdvFiERERERERHpIokWioKSkpLg7OxcaLmDgwOSkpJESERERERElZrAJgp9JNdC4erqigsXLhRaHhUVhapVq4qQiIiIiIiIdJFcC0X//v0xb9485OXloWXLlgCAiIgILFq0CCNGjBA5HRERERERFSS5guLDDz9EWloagoKCkJubCwAwMzPDhx9+iNGjR4ucjoiIiIgqGw7K1k9yBYVMJsOnn36KcePG4datWzA3N0ft2rUhl8vFjkZEREREJGkbN27EL7/8gqSkJHh4eGD27Nnw8fEpctutW7dix44d+OeffwAAjRs3xpQpU3Rur4vkxlDks7Kygo+PDxQKBYsJIiIiIhKPIOKtBPbt24f58+dj/PjxCAsLg4eHB0aOHInk5OQitz979iy6d++O9evXY/PmzXB1dcWIESOQmJhYovNKtqAgIiIiIqLiCwkJwYABA9CvXz/Ur18fQUFBMDc3x/bt24vcfvHixRgyZAgaNWqEevXqYe7cuVCr1YiIiCjReVlQEBERERFJlFKpREZGhtZNqVQWud21a9fQunVrzTIjIyO0bt0aFy9eLNa5srOzkZeXB1tb2xJlZEFBRERERKSHTC3eLTg4GH5+flq34ODgQhlTU1OhUqng6OiotdzR0RGPHz8u1uP87rvvULVqVa2ipDgkNyibiIiIiIieGz16NIYPH661rCzGF69evRr79u3D+vXrYWZmVqJ9WVAQEREREekj4mVj5XJ5sQoIe3t7GBsbFxqAnZycDCcnJ737/vLLL1i9ejVCQkLg4eFR4ozs8kREREREVMHJ5XI0btxYa0B1/gDrZs2a6dzv559/xk8//YQ1a9bA29vboHOzhYKIiIiI6DUwfPhwzJgxA15eXvDx8cG6deuQnZ2Nvn37AgCmT5+OatWqYerUqQCed3NatmwZFi9eDDc3NyQlJQEALC0tYWVlVezzsqAgIiIiItKjosyU3a1bN6SkpGDZsmVISkpCo0aNsGbNGk2XpwcPHsDI6N8OSps3b0Zubi4mTZqkdZwJEyZg4sSJxT4vCwoiIiIiotdEYGAgAgMDi1y3YcMGrftHjx4tlXOyoCAiIiIi0keoIE0UIuGgbCIiIiIiMhhbKIiIiIiI9KgoYyjEwhYKIiIiIiIyGAsKIiIiIiIyWKXo8lR74GWxI1AlkTSutdgRqNL4R+wARESVB7s86cUWCiIiIiIiMlilaKEgIiIiIjIUB2XrxxYKIiIiIiIyGAsKIiIiIiIyGLs8ERERERHpw5my9WILBRERERERGYwtFEREREREenBQtn5soSAiIiIiIoOxhYKIiIiISB+2UOjFFgoiIiIiIjIYCwoiIiIiIjIYuzwREREREenBQdn6sYWCiIiIiIgMJtkWCqVSCQCQy+UiJyEiIiKiSk3NJgp9JFVQnDp1Cr/++isuXbqEjIwMAIC1tTWaNm2K4cOHo3Xr1iInJCIiIiKigiRTUISFheGLL75Aly5dMHPmTDg6OgIAkpOTcerUKYwaNQpz585Fnz59xA1KREREREQakikoVq1ahVmzZmHIkCGF1vXt2xe+vr746aefWFAQERERUflijye9JDMoOyEhAa1atdK5vlWrVnj48GE5JiIiIiIiopeRTEHRoEEDhIaG6ly/fft21K9fvxwTERERERE9v2ysWLeKQDJdnmbMmIExY8bg5MmTaN26tdYYioiICMTHx2P16tUipyQiIiIiooIkU1C88cYb2L17NzZt2oTLly8jKSkJAODs7Ix27dph0KBBqFGjhsgpiYiIiKjSESpIU4FIJFNQAECNGjXw6aefih2DiIiIiIiKSTJjKPJ9/vnnOHv2rNgxiIiIiIioGCTVQgEAKSkp+PDDD+Hg4IBu3bqhV69eaNSokdixiIiIiKiSqiiDo8UiuYJi5cqVePLkCcLDw7Fnzx78+uuvqFu3Lnr27IkePXpwHAURERERkYRIrssTANja2mLgwIHYsGED/ve//yEgIAA7d+7EO++8I3Y0IiIiIqpsBBFvFYAkC4p8ubm5uHr1KqKjo3H//n3NpWSJiIiIiEgaJNflCQDOnDmDPXv24ODBg1Cr1ejcuTOCg4PRsmVLsaMREREREVEBkiso2rZtiydPnqBt27b473//iw4dOkAul4sdi4iIiIgqKRnnodBLcgXFxIkT8e6778LGxkbsKERERERE9BKSG0MxYMAATTExatQoPHr0SORERERERFSpqUW8VQCSKygKOnfuHHJycsSOQUREREREOkiuyxMRERERkZRwDIV+km6hcHNzg4kJax4iIiIiIqmS9Kf1PXv2iB2BiIiIiIj0kGQLxfnz5zFt2jQMGjQIiYmJAIAdO3bg/PnzIicjIiIiokqHM2XrJbmC4sCBAxg5ciTMzc1x7do1KJVKAEBGRgaCg4NFTkdERERERAVJrqBYuXIlgoKCMHfuXK3xE76+vrh+/bqIyYiIiIioUhIE8W4VgOQKijt37qB58+aFllepUgXp6ekiJCIiIiIiIl0kV1A4OTkhLi6u0PKoqCi4u7uLkIiIiIiIiHSRXEExYMAAfPPNN7h8+TJkMhkSExOxa9cuLFy4EIMHDxY7HhERERFVMjJBvFtFILnLxo4aNQpqtRrDhg1DdnY2AgMDIZfLMWLECAwdOlTseEREREREVIDk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",
      "text/plain": [
       "<Figure size 1000x800 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(\"first gen\")\n",
    "get_preferfence_counts(\n",
    "    interesting_clips[\n",
    "        (interesting_clips[\"continued_parent\"].isna()) & user_compare_mask\n",
    "    ],\n",
    "    title_name=\"first generation\",\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:30:38.018999Z",
     "start_time": "2024-04-02T23:30:30.579755Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_1058173/4283356299.py:2: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n",
      "  interesting_clips[\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "chirp-v3-engine-d_win_over_chirp-v3-engine-i, win ratio 0.464, counts 9723\n",
      "chirp-v3-engine-d_win_over_chirp-v3-engine-s, win ratio 0.432, counts 480\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-d, win ratio 0.536, counts 11230\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-i, win ratio 1.000, counts 359681\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-s, win ratio 0.535, counts 545\n",
      "chirp-v3-engine-i_win_over_chirp-v3-engine-v0, win ratio 0.628, counts 5764\n",
      "chirp-v3-engine-s_win_over_chirp-v3-engine-d, win ratio 0.568, counts 631\n",
      "chirp-v3-engine-s_win_over_chirp-v3-engine-i, win ratio 0.465, counts 473\n",
      "chirp-v3-engine-v0_win_over_chirp-v3-engine-i, win ratio 0.372, counts 3410\n",
      "chirp-v3-engine-v0_win_over_chirp-v3-engine-v0, win ratio 1.000, counts 8596\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxQAAALGCAYAAADcAtcBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACjSElEQVR4nOzde3zP9f//8ft7tjdjbDZnhtAcN2dJoRzyyaEcSvmgQjlFPpWIUvlUDl+ViBw+IZWPhBxSjVLo43wmkXIaxsxmZjZ2eL9+f/jt3da2t3nb9nrNbtfL5X25bM/X6f6e997ejz2fz9fTZhiGIQAAAABwg4fZAQAAAADkXxQUAAAAANxGQQEAAADAbRQUAAAAANxGQQEAAADAbRQUAAAAANxGQQEAAADAbRQUAAAAANxGQQEAAADAbRQUgKS+ffuqZs2a+uijj3L0vB999JFq1qypvn375uh5rSIlJUULFixQ165d1aBBA9WsWVM1a9bUjz/+aHY0WNz27dudrxerefXVV1WzZk29+uqrZkfJ99q0aaOaNWvq66+/NjsKgFzkaXYA3Fk++ugjzZgxw/n9Bx98oE6dOrk8ZuDAgdq4caPz+/Xr16tSpUq5ljG/+PrrrzVmzJgM7V5eXvL19VXNmjX18MMPq2vXrvLy8jIhoTRhwgR98cUXzlylSpWSJNntdlPy4IbMPqTbbDYVLVpUFStWVJMmTdS7d2/VqFEjx68dGxurhQsXSpKefvpplShRIsevAfN9/fXXOnv2rJo1a6Z77rnH7DgATEZBgVz19ddfuywoIiIi9L///S8PE+VPJUuWVKFChSRJ8fHxunjxoi5evKjNmzfryy+/1Pz58+Xr65unmeLi4rRkyRJJ0iuvvKIBAwbIZrPlaQa4VrRoURUtWlTSjd6kmJgYHT16VEePHtXSpUv11ltv6bHHHsvRa8bGxjr/qNCtW7csCwpvb2/dddddOXrtnFK6dGndddddKl26tNlRLGvFihXasWOHhg0b5rKgCAwMlN1uV/HixfMwHYC8RkGBXFGyZEldv35dW7Zs0fnz51WuXLlM91u1apVSUlJUsWJFnT17No9T5h/Lli1L12tz+vRpffjhh1qzZo1+/fVXjRs3TtOnT8/TTMePH1dSUpIkqVevXhQTFtS/f38NHz7c+X1iYqI2bdqkd955R+fOndObb76pRo0aqVq1anmeLSQkRKGhoXl+3ex4+eWX9fLLL5sd446Q2lsF4M7GHArkiqJFi6pDhw5yOBwux84uX75cktS9e/e8inZHCAwM1HvvvacmTZpIktatW6fIyMg8zXDt2jXn18WKFcvTa8M9drtd7dq103vvvSdJSk5O1sqVK80NBQDI9+ihQK7p3r27VqxYoRUrVmjo0KEZtu/atUsnT55UYGCg84OxK9evX9fixYsVGhqqY8eO6dq1aypVqpSaNm2qfv36qXbt2lkem5KSov/+97/6+uuvdeLECdntdtWsWVO9e/fWP/7xj2w9n927d2vx4sXavXu3Ll68KLvdrrvuuksPPfSQevfunecfqm02mx555BHt2rVLhmHo119/1YMPPijprzH0n332mWrUqKG5c+dqw4YNOn/+vK5du6bff/893bk2bNig5cuXa9++fbp06ZK8vb0VFBSkTp066bHHHks3JyKzuR1px+w3a9ZMn3/+ebrtR48e1eeff67t27crIiJCHh4eqlSpktq0aaOnn35a/v7+GZ5f6nyc1POtXbtWS5Ys0eHDh3Xp0iU9//zz6f76Hh0drYULF2rjxo06ffq0EhMTVaZMGd1zzz3q16+f7r777gzX2L59u5566ilJ0u+//65Tp05p9uzZ2rJli6KiouTv769WrVpp+PDhKlu2bJb/FomJiVq1apVCQ0N1+PBhxcbGys/PTxUrVlTLli316KOPKjAwMMNx7mTOCY0bN1bRokUVHx+vP/74I8N2h8Oh7du3a/369Tpw4IDOnz+v6OhoFStWTHfffbfzdfH3uTt9+/bVjh07nN+3bds23fa0r42//+wzExkZqfnz52vTpk3OHsyKFSuqdevW6t+/v3POTk579dVXtWLFCnXr1k2TJk3KsP27777T119/rd9++02XL1+Wt7e3/P39Va1aNbVs2VKPPfaYChcufMvXvXTpkhYtWqSNGzfq1KlTSkhIUOnSpVW1alW1a9dOXbp0yXTo0Lp167R8+XIdPHhQsbGxKlGihIKDg/XYY4+pffv22XqOoaGhWrRokX7//Xddv35dVatWVffu3dW3b195ePz1t8e///7PmDEj3bw5Kf08uDZt2ujs2bOaOHFihj8cpX2fqlu3rv7zn/9o7dq1Cg8Pl7e3txo0aKChQ4eqfv36GfJn5/Xz92tkNjTL4XBozZo1+uab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Hz6sGTNm6KGHHsrxW2jmpmbNmjmHov373//WhAkTdPr0aef2xMRE7du3T//3f/+nBx98UNHR0bd0/hIlSmjs2LGSbtzac+DAgdq/f79zDoHD4dCxY8c0f/58derUye2/FI4bN05FixbVyZMn1bNnT/3444/p/noeERGhlStX6umnn9Z7773n1jWy0r9/f1WtWlWJiYl65pln9NVXX6X7QBgWFqYZM2Zo3rx5lsmcqnr16mrfvr0kadasWc4Py8WKFXP2okyaNElbt251/psdPXpUAwcO1K+//prlBOISJUo4e26+/vprtybTDh48WCVKlFBMTIz69evnvDOWdKN3pF+/foqNjZWfn1+mt0z96KOPVLNmTdWsWVNnzpy55etn5d///rdGjBihtWvXppvkfPXqVS1evFgrV66UJD3wwAO3dN7XXntNhQsX1smTJ9WrVy9t2rTJ+R6XkpKiAwcO6I033kjX81G2bFk99dRTkqS5c+dq+vTpzg/3sbGx+vDDD52vu2eeeSbd3cpywt133y1J2rRp002HlOaGtEXS7Nmz9d133zlfw8ePH9fzzz+f7r367x555BG1aNFChmHo+eef18cff5zuecTHx2vbtm0aP358tu5GCBR0TMqG5RUqVEgfffSRBgwYoD/++EMjR47UmDFj5O3t7fwP1MPDQ2PGjFHr1q0zHP/KK6/o2LFj2rJliz744ANNmzZNPj4+io2NlWEYeu6557R//37t2LEj0+s///zzSklJ0axZs7Rq1SqtWrVKRYoUUZEiRXTlypV0E/zy2wTL8ePHq1ChQlq6dKkWLlyohQsXqmjRovLy8tKVK1ecHyQl955bt27ddO3aNb377rvatGmTNm3aJLvdrqJFi+rq1avpbkPq7s8uKChIn3zyiUaMGOH8IFGoUCEVL15c165dS3d3lpweGuPj46NPPvlEgwcP1p9//qlx48bpzTffVIkSJXT9+nXnHZBSP/hZIXNagwcP1tq1axUeHq6lS5eqd+/ekqSxY8eqb9++ioiI0DPPPCO73S4vLy9dvXpVnp6eevfddzV9+vQsx/w/+eSTmjZtmj7//HMtWbJEAQEB8vDwUP369bM1Qb9cuXKaOXOmhg4dqj/++EO9evVyFjCp1yxRooRmzpx507sc5aTk5GSFhoY618koWrSoPD090/2VvnHjxho8ePAtnbd2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//xzsyMAAAAATkzKds1SP52kpCTVqVMnXU8EAAAAAOuyVA+Fl5eXypcvL4fDYXYUAAAAQJKUQg+FS5b76QwePFgffPCBYmJizI4CAAAA4CYs1UMhSYsWLdKpU6fUsmVLVahQQUWLFk23fcWKFSYlAwAAAPB3liso2rVrZ3YEAAAAwMmRT9aDMIvlCophw4aZHQEAAABANlmuoAAAAACshEnZrlmioGjWrJlCQ0Pl7++vpk2buly0bseOHXmYDAAAAIArligoxowZIx8fH0nS2LFjTU4DAAAA/MVh5J85FIsWLdK8efMUGRmpWrVqady4cQoJCcl036+//lpjxoxJ12a323Xw4MFbuqYlCopu3bpl+jUAAACA7Pnuu+80ceJEjR8/XvXr19fChQs1YMAAhYaGKiAgINNjfHx8FBoa6vze1UihrFiioPg7h8OhU6dOKSoqSoZhpNvWtGlTk1IBAAAA1rVgwQL17NlTPXr0kCSNHz9eGzZs0PLlyzVw4MBMj7HZbCpduvRtXddyBcW+ffv08ssvKzw8PEMxYbPZdPjwYZOSAQAAoCBKMXEt6MTERCUmJqZrs9vtstvtGfY7dOiQBg0a5Gzz8PBQixYttHfv3izPHx8frwcffFAOh0N16tTRSy+9pLvvvvuWMlquoHjzzTdVr149zZ07V6VLl3ar2wUAAAC4E8yZM0czZsxI1zZs2DANHz48XdulS5eUkpKSYWhTQECAjh8/num577rrLk2YMEE1a9bUlStXNH/+fD355JP69ttvVa5cuWxntFxBcerUKU2fPl1VqlQxOwoAAABg6qTsQYMGqV+/funa/t474a6GDRuqYcOG6b7v2LGjvvzyS/3rX//K9nksV1CEhITo1KlTFBQAAAAo8DIb3pSZkiVLqlChQoqKikrXHhUVpVKlSmXrWl5eXqpdu7bCwsJuKaMlCoojR444v+7bt68mT56sixcvKigoSJ6e6SPWqlUrr+MBAAAAlma321W3bl1t3bpV7dq1k3TjRkdbt25Vnz59snWOlJQUHT16VK1bt76la1uioOjatatsNlu6Sdhp16NI3cakbAAAAOQ1h4mTsm9Fv379NHr0aNWrV08hISFauHChEhIS1L17d0nSqFGjVLZsWb388suSpBkzZqhBgwaqUqWKYmNjNW/ePIWHh+vxxx+/petaoqBYv3692REA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fvvtN7dCpTIYsAYAAABYWrYKiueff/6WCwoAAADgTsBK2a5lq6AYPnx4bufI1ODBg+Xr62vKtQEAAADcnNuTsvPCwIEDzY4AAACAgo5R+C65PSk7PDxcb7zxhjp06KCmTZtq586dkqTo6Gi98847tzV/YunSpercubOCg4MVHByszp07a+nSpW6fDwAAAEDucKuH4s8//1Tv3r3lcDgUEhKisLAwJScnS5L8/f21e/duxcfHa8KECbd87mnTpunTTz9Vnz591KBBA0nSvn37NGHCBIWHh2vEiBHuRAYAAACQC9wqKKZMmaLixYvrq6++kiS1aNEi3fbWrVvr+++/dyvQ4sWL9fbbb6tz587OtrZt26pmzZp6++23KSgAAACQp5iU7ZpbQ5527typXr16yd/fP9O7P1WoUEERERFuBUpOTla9evUytNetW1cpKSlunRMAAABA7nCroDAMQ0WKFMlye3R0tOx2u1uBHn30US1evDhD+1dffaUuXbq4dU4AAADAbYaJj3zArSFPderU0caNG9W7d+8M25KTk/Xtt9+qfv36bodatmyZNm/e7DzHgQMHFB4erq5du2rixInO/caMGeP2NQAAAADcPrcKioEDB2rw4MF688031alTJ0lSVFSUtmzZotmzZ+v48eN644033Ap09OhR1alTR5IUFhYmSfLz85Ofn5+OHj3q3I+F9gAAAJA3+NzpilsFRevWrTVx4kRNmDDBOTH7lVdekWEY8vHx0eTJk9W0aVO3An3++eduHQcAAAAg77m9sF3Xrl310EMPafPmzTp16pQcDocqV66s+++/Xz4+Pm6dMykpSfXr19fKlSsVFBTkbjQAAAAAeeS2VsouWrSo2rdvn1NZ5OXlpfLly8vhcOTYOQEAAIDbkk8mR5slWwVFeHi4WyevUKHCLR8zePBgffDBB/q///s/+fn5uXVdAAAAAHkjWwVFmzZt3JoEffjw4Vs+ZtGiRTp16pRatmypChUqqGjRoum2r1ix4pbPCQAAALiNHgqXslVQTJgwIV1B4XA49Nlnnyk8PFxdunTRXXfdJUk6fvy41qxZo4oVK6pv375uBWrXrp1bxwEAAADIe9kqKLp3757u+1mzZun69etat26dSpYsmW7b8OHD1atXL128eNGtQMOGDXPrOAAAAAB5z62Vsr/88ks98cQTGYoJSfL391fP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",
      "text/plain": [
       "<Figure size 1000x800 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "get_preferfence_counts(\n",
    "    interesting_clips[\n",
    "        (~interesting_clips[\"continued_parent\"].isna())\n",
    "        & user_compare_mask\n",
    "    ],\n",
    "    \"is continue\",\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Clean up SHIT"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:30:38.036481Z",
     "start_time": "2024-04-02T23:30:38.020512Z"
    }
   },
   "outputs": [],
   "source": [
    "# to get the right play conts, we need the right df..."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:31:20.065108Z",
     "start_time": "2024-04-02T23:30:38.038204Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(6762234, 9)\n"
     ]
    }
   ],
   "source": [
    "# ~ only 1 min :) \n",
    "partial_reaction_df = reaction_df[reaction_df[\"clip_id\"].isin(user_intersting_clips[\"id\"])].copy()\n",
    "print(partial_reaction_df.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:32:43.608097Z",
     "start_time": "2024-04-02T23:31:20.066683Z"
    }
   },
   "outputs": [],
   "source": [
    "total_play_reaction_df_sum = partial_reaction_df.groupby(\"clip_id\")[\"play_count\"].sum()\n",
    "total_play_reaction_df_sum_df = total_play_reaction_df_sum.reset_index().rename(\n",
    "    columns={\"clip_id\": \"id\", \"play_count\": \"reaction_play_count\"}\n",
    ")\n",
    "user_intersting_clips = user_intersting_clips.merge(\n",
    "    total_play_reaction_df_sum_df, on=\"id\", how=\"left\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:33:02.803691Z",
     "start_time": "2024-04-02T23:32:43.610156Z"
    }
   },
   "outputs": [],
   "source": [
    "def unpack_dict(x):\n",
    "    if v := concat_clips_ids.get(str(x)):\n",
    "        return v\n",
    "    else:\n",
    "        return {\n",
    "            \"total_start_s\": None,\n",
    "            \"total_clip_s\": None,\n",
    "            \"concat_play_counts\": None,\n",
    "            \"concat_in_playlist\": None,\n",
    "            \"concat_likes\": None,\n",
    "        }\n",
    "\n",
    "\n",
    "extra_cols = user_intersting_clips[\"id\"].apply(unpack_dict)\n",
    "extra_cols_df = pd.DataFrame.from_records(extra_cols.values, index=extra_cols.index)\n",
    "user_intersting_clips[\n",
    "    [\n",
    "        \"total_start_s\",\n",
    "        \"total_clip_s\",\n",
    "        \"concat_play_counts\",\n",
    "        \"concat_in_playlist\",\n",
    "        \"concat_likes\",\n",
    "    ]\n",
    "] = extra_cols_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:33:02.844996Z",
     "start_time": "2024-04-02T23:33:02.805439Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.2724970464317768"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "too_much_data_mask = (\n",
    "    (user_intersting_clips[\"preference\"] == True)\n",
    "    & (\n",
    "        (user_intersting_clips[\"reaction_play_count\"] >= 5) # single play is super catchy\n",
    "        | (user_intersting_clips[\"concat_play_counts\"] >= 5) # or the concat play is super catchy\n",
    "    )\n",
    ")\n",
    "too_much_data_mask.sum() / ((user_intersting_clips[\"preference\"] == True).sum())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:33:04.549566Z",
     "start_time": "2024-04-02T23:33:02.846527Z"
    }
   },
   "outputs": [],
   "source": [
    "final_good_enough_requests = user_intersting_clips[too_much_data_mask][\n",
    "    \"request_id\"\n",
    "].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:33:17.794146Z",
     "start_time": "2024-04-02T23:33:04.551732Z"
    }
   },
   "outputs": [],
   "source": [
    "final_interesting_clips = user_intersting_clips[\n",
    "    user_intersting_clips[\"request_id\"].isin(set(final_good_enough_requests))\n",
    "].copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:33:17.859470Z",
     "start_time": "2024-04-02T23:33:17.796029Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "batch_index  preference\n",
      "0            True          460041\n",
      "             False         445955\n",
      "1            False         460041\n",
      "             True          445955\n",
      "Name: count, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "print(final_interesting_clips.groupby(\"batch_index\")[\"preference\"].value_counts())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:33:26.351221Z",
     "start_time": "2024-04-02T23:33:17.861082Z"
    }
   },
   "outputs": [],
   "source": [
    "assert (\n",
    "    final_interesting_clips[final_interesting_clips[\"request_id\"].isna()].shape[0] == 0\n",
    ")\n",
    "check_df = final_interesting_clips.groupby(\"request_id\")[\"id\"].nunique()\n",
    "check_df[check_df.values != 2]\n",
    "assert check_df[check_df.values != 2].shape[0] == 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:35:05.843373Z",
     "start_time": "2024-04-02T23:33:26.352928Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "done (1811992, 43)\n"
     ]
    }
   ],
   "source": [
    "final_interesting_clips.to_csv(\n",
    "    \"/home/tony/Data/Preference/7b_v1/interesting_clips.csv\", index=False\n",
    ")\n",
    "print(\"done\", final_interesting_clips.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# For faster processing once"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:35:27.331495Z",
     "start_time": "2024-04-02T23:35:05.845354Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "299860 3654910\n",
      "3366622 206697\n"
     ]
    }
   ],
   "source": [
    "neg_filter_selection_mask = interesting_clips[\"dislike_count\"] > 0\n",
    "pos_filter_selectin_mask = interesting_clips[\"play_count\"] > 1\n",
    "print(sum(neg_filter_selection_mask), sum(pos_filter_selectin_mask))\n",
    "# v1: 176273 1171102\n",
    "# v2: 229891 1616473\n",
    "# after launch: 228428 2494919\n",
    "neg_filter_requests = interesting_clips[neg_filter_selection_mask][\n",
    "    \"request_id\"\n",
    "].unique()\n",
    "pos_filter_requests = interesting_clips[pos_filter_selectin_mask][\"request_id\"].unique()\n",
    "# looking for very strong signal here:\n",
    "# listen to the positive/negative more than once\n",
    "# disliked one of the clips\n",
    "unique_requests = set(pos_filter_requests).intersection(neg_filter_requests)\n",
    "print(interesting_clips[\"request_id\"].nunique(), len(unique_requests))\n",
    "# v1 853102 135360\n",
    "# v2 1170736 176676\n",
    "# after launch: 2273271 156605\n",
    "# final_interesting_clips = interesting_clips[\n",
    "#     interesting_clips[\"request_id\"].isin(set(unique_requests))\n",
    "# ].copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:35:27.645604Z",
     "start_time": "2024-04-02T23:35:27.333448Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "total unique users 1489730\n"
     ]
    }
   ],
   "source": [
    "print(\"total unique users\", clip_df[\"user_id\"].nunique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:35:46.605607Z",
     "start_time": "2024-04-02T23:35:27.647709Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>password</th>\n",
       "      <th>last_login</th>\n",
       "      <th>is_superuser</th>\n",
       "      <th>username</th>\n",
       "      <th>first_name</th>\n",
       "      <th>last_name</th>\n",
       "      <th>email</th>\n",
       "      <th>is_staff</th>\n",
       "      <th>is_active</th>\n",
       "      <th>date_joined</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>63359</td>\n",
       "      <td></td>\n",
       "      <td>NaT</td>\n",
       "      <td>False</td>\n",
       "      <td>conflictolog</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>2023-09-27 16:18:42.432982+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>73</td>\n",
       "      <td>pbkdf2_sha256$390000$t8YTwHzVLwnmpFzRLugqwH$Ff...</td>\n",
       "      <td>NaT</td>\n",
       "      <td>False</td>\n",
       "      <td>daniel@dcgross.com</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>daniel@dcgross.com</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>2023-05-23 22:19:27+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>79526</td>\n",
       "      <td></td>\n",
       "      <td>NaT</td>\n",
       "      <td>False</td>\n",
       "      <td>cintaterpendamhldrive.com_46460</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>2023-10-08 16:09:02.545084+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>79875</td>\n",
       "      <td></td>\n",
       "      <td>NaT</td>\n",
       "      <td>False</td>\n",
       "      <td>_scballofc</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>2023-10-08 22:18:24.206502+00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5212171</td>\n",
       "      <td></td>\n",
       "      <td>NaT</td>\n",
       "      <td>False</td>\n",
       "      <td>mepok39157@sfpixel.com</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>mepok39157@sfpixel.com</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>2024-03-03 15:48:49.314837+00:00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        id                                           password last_login  \\\n",
       "0    63359                                                           NaT   \n",
       "1       73  pbkdf2_sha256$390000$t8YTwHzVLwnmpFzRLugqwH$Ff...        NaT   \n",
       "2    79526                                                           NaT   \n",
       "3    79875                                                           NaT   \n",
       "4  5212171                                                           NaT   \n",
       "\n",
       "   is_superuser                         username first_name last_name  \\\n",
       "0         False                     conflictolog                        \n",
       "1         False               daniel@dcgross.com                        \n",
       "2         False  cintaterpendamhldrive.com_46460                        \n",
       "3         False                       _scballofc                        \n",
       "4         False           mepok39157@sfpixel.com                        \n",
       "\n",
       "                    email  is_staff  is_active  \\\n",
       "0                             False       True   \n",
       "1      daniel@dcgross.com     False       True   \n",
       "2                             False       True   \n",
       "3                             False       True   \n",
       "4  mepok39157@sfpixel.com     False       True   \n",
       "\n",
       "                       date_joined  \n",
       "0 2023-09-27 16:18:42.432982+00:00  \n",
       "1        2023-05-23 22:19:27+00:00  \n",
       "2 2023-10-08 16:09:02.545084+00:00  \n",
       "3 2023-10-08 22:18:24.206502+00:00  \n",
       "4 2024-03-03 15:48:49.314837+00:00  "
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "SELECT *\n",
    "FROM auth_user\n",
    "\"\"\"\n",
    "user_df = pd.read_sql_query(query, engine)\n",
    "user_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:35:46.665899Z",
     "start_time": "2024-04-02T23:35:46.607211Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "created_at\n",
       "2024-03-05    517\n",
       "2024-03-03    449\n",
       "2024-03-04    358\n",
       "2024-03-02    216\n",
       "2024-03-06    201\n",
       "2024-03-01     34\n",
       "2024-02-23     26\n",
       "2024-03-07     20\n",
       "2024-02-25     10\n",
       "2024-02-24     10\n",
       "2024-02-29     10\n",
       "2024-02-28      6\n",
       "2024-02-27      6\n",
       "2024-02-26      2\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clip_df[clip_df[\"user_id\"] == 4688272][\"created_at\"].apply(lambda x: str(x)[:10]).value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:35:46.723126Z",
     "start_time": "2024-04-02T23:35:46.667873Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1865, 37)"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clip_df[clip_df[\"user_id\"] == 4688272].shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:35:46.766273Z",
     "start_time": "2024-04-02T23:35:46.725071Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 419396, 3883140,  125080, 3877426,   96153, 6227557])"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "user_intersting_clips[user_intersting_clips[\"user_n_clips\"] > 10000][\"user_id\"].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:35:46.824192Z",
     "start_time": "2024-04-02T23:35:46.767761Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>password</th>\n",
       "      <th>last_login</th>\n",
       "      <th>is_superuser</th>\n",
       "      <th>username</th>\n",
       "      <th>first_name</th>\n",
       "      <th>last_name</th>\n",
       "      <th>email</th>\n",
       "      <th>is_staff</th>\n",
       "      <th>is_active</th>\n",
       "      <th>date_joined</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2000269</th>\n",
       "      <td>3877426</td>\n",
       "      <td></td>\n",
       "      <td>NaT</td>\n",
       "      <td>False</td>\n",
       "      <td>tbchappell803@gmail.com</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>tbchappell803@gmail.com</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>2024-01-29 07:20:07.504738+00:00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              id password last_login  is_superuser                 username  \\\n",
       "2000269  3877426                 NaT         False  tbchappell803@gmail.com   \n",
       "\n",
       "        first_name last_name                    email  is_staff  is_active  \\\n",
       "2000269                       tbchappell803@gmail.com     False       True   \n",
       "\n",
       "                             date_joined  \n",
       "2000269 2024-01-29 07:20:07.504738+00:00  "
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "user_df[user_df[\"id\"] == 3877426]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:35:50.182239Z",
     "start_time": "2024-04-02T23:35:46.830296Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>created_at</th>\n",
       "      <th>updated_at</th>\n",
       "      <th>time_used</th>\n",
       "      <th>metadata</th>\n",
       "      <th>user_id</th>\n",
       "      <th>status</th>\n",
       "      <th>discord_message_id</th>\n",
       "      <th>prompt_id</th>\n",
       "      <th>request_id</th>\n",
       "      <th>...</th>\n",
       "      <th>is_in_playlist</th>\n",
       "      <th>continued_parent</th>\n",
       "      <th>is_pro_user</th>\n",
       "      <th>user_n_clips</th>\n",
       "      <th>upvoted</th>\n",
       "      <th>has_continued</th>\n",
       "      <th>part_of_concat</th>\n",
       "      <th>has_action</th>\n",
       "      <th>downvoted</th>\n",
       "      <th>preference</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>0 rows × 37 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [id, created_at, updated_at, time_used, metadata, user_id, status, discord_message_id, prompt_id, request_id, is_generated, s3_id, upvote_count, batch_index, model_name, prompt_text, daily_theme_id, is_deleted, image_s3_id, is_public, dislike_count, flag_count, play_count, skip_count, title, is_public_approved, slug, is_in_playlist, continued_parent, is_pro_user, user_n_clips, upvoted, has_continued, part_of_concat, has_action, downvoted, preference]\n",
       "Index: []\n",
       "\n",
       "[0 rows x 37 columns]"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clip_df[clip_df[\"model_name\"] == \"chirp-v3-0\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:35:53.532156Z",
     "start_time": "2024-04-02T23:35:50.183783Z"
    }
   },
   "outputs": [],
   "source": [
    "# wtf\n",
    "for i, x in enumerate(clip_df[clip_df[\"model_name\"] == \"chirp-v3-0\"][\"metadata\"]):\n",
    "    print(x)\n",
    "    if i > 10:\n",
    "        break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-04-02T23:35:53.608295Z",
     "start_time": "2024-04-02T23:35:53.533772Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>password</th>\n",
       "      <th>last_login</th>\n",
       "      <th>is_superuser</th>\n",
       "      <th>username</th>\n",
       "      <th>first_name</th>\n",
       "      <th>last_name</th>\n",
       "      <th>email</th>\n",
       "      <th>is_staff</th>\n",
       "      <th>is_active</th>\n",
       "      <th>date_joined</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>186417</td>\n",
       "      <td></td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "      <td>studio@kucsko.com</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "      <td>studio@kucsko.com</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>2023-11-19 14:44:37.434106+00:00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       id password last_login  is_superuser           username first_name  \\\n",
       "0  186417                None         False  studio@kucsko.com              \n",
       "\n",
       "  last_name              email  is_staff  is_active  \\\n",
       "0            studio@kucsko.com     False       True   \n",
       "\n",
       "                       date_joined  \n",
       "0 2023-11-19 14:44:37.434106+00:00  "
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "SELECT *\n",
    "FROM auth_user\n",
    "WHERE id=186417\n",
    "\"\"\"\n",
    "user_df = pd.read_sql_query(query, engine)\n",
    "user_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.13"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
