diff --git "a/notebooks/wow_retention.ipynb" "b/notebooks/wow_retention.ipynb" new file mode 100644--- /dev/null +++ "b/notebooks/wow_retention.ipynb" @@ -0,0 +1,2980 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import gc" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Join the two datasets" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "# read trades dataset\n", + "traders_df = pd.read_parquet(\"../data/all_trades_profitability.parquet\")\n", + "unknown_df = pd.read_parquet(\"../data/unknown_traders.parquet\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "staking\n", + "non_Olas 56266\n", + "non_staking 20954\n", + "pearl 6084\n", + "quickstart 3975\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "traders_df.staking.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "traders_df[\"trader_type\"] = traders_df[\"staking\"].apply(\n", + " lambda x: \"non_Olas\" if x == \"non_Olas\" else \"Olas\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "trader_type\n", + "non_Olas 56266\n", + "Olas 31013\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "traders_df.trader_type.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "staking\n", + "non_Olas 1654\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "unknown_df.staking.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "unknown_df[\"trader_type\"] = \"unclassified\"" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "all_traders = pd.concat([traders_df, unknown_df], ignore_index=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "trader_type\n", + "non_Olas 56266\n", + "Olas 31013\n", + "unclassified 1654\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "all_traders.trader_type.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/gp/02mb1d514ng739czlxw1lhh00000gn/T/ipykernel_25153/2488528526.py:5: UserWarning: Converting to PeriodArray/Index representation will drop timezone information.\n", + " all_traders[\"creation_timestamp\"].dt.to_period(\"W\").dt.strftime(\"%b-%d-%Y\")\n" + ] + } + ], + "source": [ + "# First, create week numbers from timestamps\n", + "all_traders[\"creation_timestamp\"] = pd.to_datetime(all_traders[\"creation_timestamp\"])\n", + "all_traders = all_traders.sort_values(by=\"creation_timestamp\", ascending=True)\n", + "all_traders[\"month_year_week\"] = (\n", + "all_traders[\"creation_timestamp\"].dt.to_period(\"W\").dt.strftime(\"%b-%d-%Y\")\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# WoW Retention" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "def calculate_wow_retention_by_type(df):\n", + " # Get unique traders per week and type\n", + " weekly_traders = df.groupby(['month_year_week', 'trader_type'])['trader_address'].nunique().reset_index()\n", + " weekly_traders = weekly_traders.sort_values(['trader_type', 'month_year_week'])\n", + " \n", + " # Calculate retention\n", + " retention = []\n", + " # Iterate through each trader type\n", + " for trader_type in weekly_traders['trader_type'].unique():\n", + " type_data = weekly_traders[weekly_traders['trader_type'] == trader_type]\n", + " \n", + " # Calculate retention for each week within this trader type\n", + " for i in range(1, len(type_data)):\n", + " current_week = type_data.iloc[i]['month_year_week']\n", + " previous_week = type_data.iloc[i-1]['month_year_week']\n", + " \n", + " # Get traders in both weeks for this type\n", + " current_traders = set(df[\n", + " (df['month_year_week'] == current_week) & \n", + " (df['trader_type'] == trader_type)\n", + " ]['trader_address'])\n", + " \n", + " previous_traders = set(df[\n", + " (df['month_year_week'] == previous_week) & \n", + " (df['trader_type'] == trader_type)\n", + " ]['trader_address'])\n", + " \n", + " retained = len(current_traders.intersection(previous_traders))\n", + " retention_rate = (retained / len(previous_traders)) * 100 if len(previous_traders) > 0 else 0\n", + " \n", + " retention.append({\n", + " 'trader_type': trader_type,\n", + " 'week': current_week,\n", + " 'retained_traders': retained,\n", + " 'previous_traders': len(previous_traders),\n", + " 'retention_rate': round(retention_rate, 2)\n", + " })\n", + " \n", + " return pd.DataFrame(retention)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "wow_retention = calculate_wow_retention_by_type(all_traders)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
trader_typeweekretained_tradersprevious_tradersretention_rate
0OlasDec-08-2024939894.90
1OlasDec-15-202418720790.34
2OlasDec-22-202418621387.32
3OlasDec-29-202414320370.44
4OlasJan-05-202511714879.05
\n", + "
" + ], + "text/plain": [ + " trader_type week retained_traders previous_traders retention_rate\n", + "0 Olas Dec-08-2024 93 98 94.90\n", + "1 Olas Dec-15-2024 187 207 90.34\n", + "2 Olas Dec-22-2024 186 213 87.32\n", + "3 Olas Dec-29-2024 143 203 70.44\n", + "4 Olas Jan-05-2025 117 148 79.05" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wow_retention.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
trader_typeweekretained_tradersprevious_tradersretention_rate
9non_Olas2024-12-08154154100.00
10non_Olas2024-12-1530132492.90
11non_Olas2024-12-2231032196.57
12non_Olas2024-12-2931234191.50
13non_Olas2025-01-0530432693.25
14non_Olas2025-01-1224633373.87
15non_Olas2024-11-105125120.32
16non_Olas2024-11-179010090.00
17non_Olas2024-11-2415118183.43
\n", + "
" + ], + "text/plain": [ + " trader_type week retained_traders previous_traders retention_rate\n", + "9 non_Olas 2024-12-08 154 154 100.00\n", + "10 non_Olas 2024-12-15 301 324 92.90\n", + "11 non_Olas 2024-12-22 310 321 96.57\n", + "12 non_Olas 2024-12-29 312 341 91.50\n", + "13 non_Olas 2025-01-05 304 326 93.25\n", + "14 non_Olas 2025-01-12 246 333 73.87\n", + "15 non_Olas 2024-11-10 51 251 20.32\n", + "16 non_Olas 2024-11-17 90 100 90.00\n", + "17 non_Olas 2024-11-24 151 181 83.43" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "non_olas = wow_retention.loc[wow_retention[\"trader_type\"]==\"non_Olas\"]\n", + "non_olas" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [], + "source": [ + "import plotly.express as px\n", + "import plotly.graph_objects as go\n", + "\n", + "def plot_wow_retention_by_type(wow_retention):\n", + " wow_retention['week'] = pd.to_datetime(wow_retention['week'])\n", + " wow_retention = wow_retention.sort_values(['trader_type', 'week'])\n", + " fig = px.line(\n", + " wow_retention, \n", + " x='week', \n", + " y='retention_rate',\n", + " color='trader_type',\n", + " markers=True,\n", + " title='Weekly Retention Rate by Trader Type',\n", + " labels={\n", + " 'week': 'Week',\n", + " 'retention_rate': 'Retention Rate (%)',\n", + " 'trader_type': 'Trader Type'\n", + " }\n", + " )\n", + " \n", + " fig.update_layout(\n", + " hovermode='x unified',\n", + " legend=dict(\n", + " yanchor=\"middle\",\n", + " y=0.5,\n", + " xanchor=\"left\",\n", + " x=1.02, # Move legend outside\n", + " orientation=\"v\"\n", + " ),\n", + " yaxis=dict(\n", + " ticksuffix='%',\n", + " range=[0, max(wow_retention['retention_rate']) * 1.1] # Add 10% padding to y-axis\n", + " ),\n", + " xaxis=dict(\n", + " tickformat='%Y-%m-%d'\n", + " ),\n", + " margin=dict(r=150) # Add right margin to make space for legend\n", + " )\n", + " \n", + " # Add hover template\n", + " fig.update_traces(\n", + " hovertemplate='%{y:.1f}%
Week: %{x|%Y-%m-%d}'\n", + " )\n", + " \n", + " return fig\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "hovertemplate": "%{y:.1f}%
Week: %{x|%Y-%m-%d}", + "legendgroup": "Olas", + "line": { + "color": "#636efa", + "dash": "solid" + }, + "marker": { + "symbol": "circle" + }, + "mode": "lines+markers", + "name": "Olas", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": [ + "2024-11-10T00:00:00", + "2024-11-17T00:00:00", + "2024-11-24T00:00:00", + "2024-12-08T00:00:00", + "2024-12-15T00:00:00", + "2024-12-22T00:00:00", + "2024-12-29T00:00:00", + "2025-01-05T00:00:00", + "2025-01-12T00:00:00" + ], + "xaxis": "x", + "y": [ + 78.57, + 92.99, + 80, + 94.9, + 90.34, + 87.32, + 70.44, + 79.05, + 51.94 + ], + "yaxis": "y" + }, + { + "hovertemplate": "%{y:.1f}%
Week: %{x|%Y-%m-%d}", + "legendgroup": "non_Olas", + "line": { + "color": "#EF553B", + "dash": "solid" + }, + "marker": { + "symbol": "circle" + }, + "mode": "lines+markers", + "name": "non_Olas", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": [ + "2024-11-10T00:00:00", + "2024-11-17T00:00:00", + "2024-11-24T00:00:00", + "2024-12-08T00:00:00", + "2024-12-15T00:00:00", + "2024-12-22T00:00:00", + "2024-12-29T00:00:00", + "2025-01-05T00:00:00", + "2025-01-12T00:00:00" + ], + "xaxis": "x", + "y": [ + 20.32, + 90, + 83.43, + 100, + 92.9, + 96.57, + 91.5, + 93.25, + 73.87 + ], + "yaxis": "y" + }, + { + "hovertemplate": "%{y:.1f}%
Week: %{x|%Y-%m-%d}", + "legendgroup": "unclassified", + "line": { + "color": "#00cc96", + "dash": "solid" + }, + "marker": { + "symbol": "circle" + }, + "mode": "lines+markers", + "name": "unclassified", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": [ + "2024-12-08T00:00:00", + "2024-12-15T00:00:00", + "2024-12-22T00:00:00", + "2024-12-29T00:00:00", + "2025-01-05T00:00:00", + "2025-01-12T00:00:00" + ], + "xaxis": "x", + "y": [ + 100, + 75, + 90, + 19.35, + 11.11, + 0 + ], + "yaxis": "y" + } + ], + "layout": { + "hovermode": "x unified", + "legend": { + "orientation": "v", + "title": { + "text": "Trader Type" + }, + "tracegroupgap": 0, + "x": 1.02, + "xanchor": "left", + "y": 0.5, + "yanchor": "middle" + }, + "margin": { + "r": 150 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Weekly Retention Rate by Trader Type" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "tickformat": "%Y-%m-%d", + "title": { + "text": "Week" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "range": [ + 0, + 110.00000000000001 + ], + "ticksuffix": "%", + "title": { + "text": "Retention Rate (%)" + } + } + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Create and show the plot\n", + "fig = plot_wow_retention_by_type(wow_retention)\n", + "fig.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Cohort retention" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [], + "source": [ + "def calculate_cohort_retention(df, max_weeks=12):\n", + " # Get first week for each trader\n", + " first_trades = (\n", + " df.groupby(\"trader_address\")\n", + " .agg({\"creation_timestamp\": \"min\", \"month_year_week\": \"first\"})\n", + " .reset_index()\n", + " )\n", + " first_trades.columns = [\"trader_address\", \"first_trade\", \"cohort_week\"]\n", + "\n", + " # Get ordered list of unique weeks - converting to datetime for proper sorting\n", + " all_weeks = df[\"month_year_week\"].unique()\n", + " weeks_datetime = pd.to_datetime(all_weeks)\n", + " sorted_weeks_idx = weeks_datetime.argsort()\n", + " all_weeks = all_weeks[sorted_weeks_idx]\n", + "\n", + " # Create mapping from week string to numeric index\n", + " week_to_number = {week: idx for idx, week in enumerate(all_weeks)}\n", + "\n", + " # Merge back to get all activities\n", + " cohort_data = pd.merge(\n", + " df, first_trades[[\"trader_address\", \"cohort_week\"]], on=\"trader_address\"\n", + " )\n", + "\n", + " # Calculate week number since first activity\n", + " cohort_data[\"cohort_number\"] = cohort_data[\"cohort_week\"].map(week_to_number)\n", + " cohort_data[\"activity_number\"] = cohort_data[\"month_year_week\"].map(week_to_number)\n", + " cohort_data[\"week_number\"] = (\n", + " cohort_data[\"activity_number\"] - cohort_data[\"cohort_number\"]\n", + " )\n", + "\n", + " # Calculate retention by cohort\n", + " cohort_sizes = cohort_data.groupby(\"cohort_week\")[\"trader_address\"].nunique()\n", + " retention_matrix = cohort_data.groupby([\"cohort_week\", \"week_number\"])[\n", + " \"trader_address\"\n", + " ].nunique()\n", + " retention_matrix = retention_matrix.unstack(fill_value=0)\n", + "\n", + " # Convert to percentages\n", + " retention_matrix = retention_matrix.div(cohort_sizes, axis=0) * 100\n", + "\n", + " # Sort index (cohort_week) chronologically\n", + " retention_matrix.index = pd.to_datetime(retention_matrix.index)\n", + " retention_matrix = retention_matrix.sort_index()\n", + "\n", + " # Limit to max_weeks if specified\n", + " if max_weeks is not None and max_weeks < retention_matrix.shape[1]:\n", + " retention_matrix = retention_matrix.iloc[:, :max_weeks]\n", + "\n", + " return retention_matrix.round(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [], + "source": [ + "first_trades = (\n", + " all_traders.groupby(\"trader_address\")\n", + " .agg({\"creation_timestamp\": \"min\", \"month_year_week\": \"first\"})\n", + " .reset_index()\n", + ")\n", + "first_trades.columns = [\"trader_address\", \"first_trade\", \"cohort_week\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
trader_addressmarket_creatortrade_idcreation_timestamptitlemarket_statuscollateral_amountoutcome_indextrade_fee_amountoutcomes_tokens_traded...earningsredeemedredeemed_amountnum_mech_callsmech_fee_amountnet_earningsroistakingtrader_typemonth_year_week
159310x006f70b4e3c3a3648f31ec16b2e7106fc58166f2pearl0x0d72a8dcb46ea982ad9c82c5a6f03cba72a6b71d0x00...2024-11-12 00:36:55+00:00Will the Chancay mega port in Peru be virtuall...CLOSED0.110.0010.224338...0.000000False0.020.02-0.121000-1.000000pearlOlasNov-17-2024
159330x006f70b4e3c3a3648f31ec16b2e7106fc58166f2pearl0xa7392614f48e129f6796f523a47777a5f36dd7030x00...2024-11-20 07:37:10+00:00Will Google issue a public apology regarding t...CLOSED0.100.0010.213349...0.213349False0.010.010.1023490.922059pearlOlasNov-24-2024
159320x006f70b4e3c3a3648f31ec16b2e7106fc58166f2pearl0x8984bfbca1805f7355a49c261832043cb39b519e0x00...2024-11-20 07:41:00+00:00Will Tesla confirm a location for the installa...CLOSED0.100.0010.228212...0.000000False0.010.01-0.111000-1.000000pearlOlasNov-24-2024
\n", + "

3 rows × 23 columns

\n", + "
" + ], + "text/plain": [ + " trader_address market_creator \\\n", + "15931 0x006f70b4e3c3a3648f31ec16b2e7106fc58166f2 pearl \n", + "15933 0x006f70b4e3c3a3648f31ec16b2e7106fc58166f2 pearl \n", + "15932 0x006f70b4e3c3a3648f31ec16b2e7106fc58166f2 pearl \n", + "\n", + " trade_id \\\n", + "15931 0x0d72a8dcb46ea982ad9c82c5a6f03cba72a6b71d0x00... \n", + "15933 0xa7392614f48e129f6796f523a47777a5f36dd7030x00... \n", + "15932 0x8984bfbca1805f7355a49c261832043cb39b519e0x00... \n", + "\n", + " creation_timestamp \\\n", + "15931 2024-11-12 00:36:55+00:00 \n", + "15933 2024-11-20 07:37:10+00:00 \n", + "15932 2024-11-20 07:41:00+00:00 \n", + "\n", + " title market_status \\\n", + "15931 Will the Chancay mega port in Peru be virtuall... CLOSED \n", + "15933 Will Google issue a public apology regarding t... CLOSED \n", + "15932 Will Tesla confirm a location for the installa... CLOSED \n", + "\n", + " collateral_amount outcome_index trade_fee_amount \\\n", + "15931 0.1 1 0.001 \n", + "15933 0.1 0 0.001 \n", + "15932 0.1 0 0.001 \n", + "\n", + " outcomes_tokens_traded ... earnings redeemed redeemed_amount \\\n", + "15931 0.224338 ... 0.000000 False 0.0 \n", + "15933 0.213349 ... 0.213349 False 0.0 \n", + "15932 0.228212 ... 0.000000 False 0.0 \n", + "\n", + " num_mech_calls mech_fee_amount net_earnings roi staking \\\n", + "15931 2 0.02 -0.121000 -1.000000 pearl \n", + "15933 1 0.01 0.102349 0.922059 pearl \n", + "15932 1 0.01 -0.111000 -1.000000 pearl \n", + "\n", + " trader_type month_year_week \n", + "15931 Olas Nov-17-2024 \n", + "15933 Olas Nov-24-2024 \n", + "15932 Olas Nov-24-2024 \n", + "\n", + "[3 rows x 23 columns]" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "one_trader = all_traders.loc[all_traders[\"trader_address\"]==\"0x006f70b4e3c3a3648f31ec16b2e7106fc58166f2\"]\n", + "one_trader.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
trader_addressfirst_tradecohort_week
00x006f70b4e3c3a3648f31ec16b2e7106fc58166f22024-11-12 00:36:55+00:00Nov-17-2024
10x00897abcbbefe4f558956b7a9d1b7819677e4d902024-11-12 09:10:25+00:00Nov-17-2024
20x01274796ce41aa8e8312e05a427ffb4b0d2148f62024-11-08 00:26:05+00:00Nov-10-2024
30x01c72d0743a22b70d73c76c5e16ba7524e20e0c02024-11-08 19:12:20+00:00Nov-10-2024
40x0244169d0fe1014b9e71f71070099d9c2364af282024-11-16 06:20:25+00:00Nov-17-2024
\n", + "
" + ], + "text/plain": [ + " trader_address first_trade \\\n", + "0 0x006f70b4e3c3a3648f31ec16b2e7106fc58166f2 2024-11-12 00:36:55+00:00 \n", + "1 0x00897abcbbefe4f558956b7a9d1b7819677e4d90 2024-11-12 09:10:25+00:00 \n", + "2 0x01274796ce41aa8e8312e05a427ffb4b0d2148f6 2024-11-08 00:26:05+00:00 \n", + "3 0x01c72d0743a22b70d73c76c5e16ba7524e20e0c0 2024-11-08 19:12:20+00:00 \n", + "4 0x0244169d0fe1014b9e71f71070099d9c2364af28 2024-11-16 06:20:25+00:00 \n", + "\n", + " cohort_week \n", + "0 Nov-17-2024 \n", + "1 Nov-17-2024 \n", + "2 Nov-10-2024 \n", + "3 Nov-10-2024 \n", + "4 Nov-17-2024 " + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "first_trades.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [], + "source": [ + "all_weeks = all_traders[\"month_year_week\"].unique()\n", + "weeks_datetime = pd.to_datetime(all_weeks)\n", + "sorted_weeks_idx = weeks_datetime.argsort()\n", + "all_weeks = all_weeks[sorted_weeks_idx]" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Nov-10-2024', 'Nov-17-2024', 'Nov-24-2024', 'Dec-01-2024',\n", + " 'Dec-08-2024', 'Dec-15-2024', 'Dec-22-2024', 'Dec-29-2024',\n", + " 'Jan-05-2025', 'Jan-12-2025'], dtype=object)" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "all_weeks" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "# Create mapping from week string to numeric index\n", + "week_to_number = {week: idx for idx, week in enumerate(all_weeks)}\n", + "\n", + "# Merge back to get all activities\n", + "cohort_data = pd.merge(\n", + " all_traders, first_trades[[\"trader_address\", \"cohort_week\"]], on=\"trader_address\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [], + "source": [ + "cohort_data[\"cohort_number\"] = cohort_data[\"cohort_week\"].map(week_to_number)\n", + "cohort_data[\"activity_number\"] = cohort_data[\"month_year_week\"].map(week_to_number)\n", + "cohort_data[\"week_number\"] = (\n", + " cohort_data[\"activity_number\"] - cohort_data[\"cohort_number\"]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
trader_addressmarket_creatortrade_idcreation_timestamptitlemarket_statuscollateral_amountoutcome_indextrade_fee_amountoutcomes_tokens_traded...mech_fee_amountnet_earningsroistakingtrader_typemonth_year_weekcohort_weekcohort_numberactivity_numberweek_number
00x1c1bb5398ba525c5bca07eeade45958e455de4b3quickstart0x50ac9248cf115f69238d9c506f22c223cc9ec20d0x1c...2024-11-08 00:01:05+00:00Will any new information regarding the selecti...CLOSED0.77272600.0077272.087857...0.06-0.840453-1.000000non_stakingOlasNov-10-2024Nov-10-2024000
10x2db124224a640765df2842325ab1ab3ec45ebd47quickstart0xcd00e854ebc743b8a023c9c780d68cb5610fb2160x2d...2024-11-08 00:01:15+00:00Will the CDC confirm the source of the E. coli...CLOSED1.53441800.0153443.814142...0.022.2443801.429758non_stakingOlasNov-10-2024Nov-10-2024000
20xa156f5e98383c3e2a70faef71cc420780809e130quickstart0x50ac9248cf115f69238d9c506f22c223cc9ec20d0xa1...2024-11-08 00:04:25+00:00Will any new information regarding the selecti...CLOSED0.41501310.0041500.672596...0.020.2334330.531542non_stakingOlasNov-10-2024Nov-10-2024000
30x211957119a92bd2bb22f835aefae66683428ddd7quickstart0xcd00e854ebc743b8a023c9c780d68cb5610fb2160x21...2024-11-08 00:12:05+00:00Will the CDC confirm the source of the E. coli...CLOSED0.60031110.0060031.069992...0.02-0.626314-1.000000non_stakingOlasNov-10-2024Nov-10-2024000
40xd71b78ce490776a8f0cad6876ea79bc190f7bccepearl0x868c0dd6983e9b33543471779ff52c814db90fe30xd7...2024-11-08 00:15:55+00:00Will a peer-reviewed journal publish a follow-...CLOSED0.02500010.0002500.050876...0.010.0156260.443287pearlOlasNov-10-2024Nov-10-2024000
\n", + "

5 rows × 27 columns

\n", + "
" + ], + "text/plain": [ + " trader_address market_creator \\\n", + "0 0x1c1bb5398ba525c5bca07eeade45958e455de4b3 quickstart \n", + "1 0x2db124224a640765df2842325ab1ab3ec45ebd47 quickstart \n", + "2 0xa156f5e98383c3e2a70faef71cc420780809e130 quickstart \n", + "3 0x211957119a92bd2bb22f835aefae66683428ddd7 quickstart \n", + "4 0xd71b78ce490776a8f0cad6876ea79bc190f7bcce pearl \n", + "\n", + " trade_id \\\n", + "0 0x50ac9248cf115f69238d9c506f22c223cc9ec20d0x1c... \n", + "1 0xcd00e854ebc743b8a023c9c780d68cb5610fb2160x2d... \n", + "2 0x50ac9248cf115f69238d9c506f22c223cc9ec20d0xa1... \n", + "3 0xcd00e854ebc743b8a023c9c780d68cb5610fb2160x21... \n", + "4 0x868c0dd6983e9b33543471779ff52c814db90fe30xd7... \n", + "\n", + " creation_timestamp \\\n", + "0 2024-11-08 00:01:05+00:00 \n", + "1 2024-11-08 00:01:15+00:00 \n", + "2 2024-11-08 00:04:25+00:00 \n", + "3 2024-11-08 00:12:05+00:00 \n", + "4 2024-11-08 00:15:55+00:00 \n", + "\n", + " title market_status \\\n", + "0 Will any new information regarding the selecti... CLOSED \n", + "1 Will the CDC confirm the source of the E. coli... CLOSED \n", + "2 Will any new information regarding the selecti... CLOSED \n", + "3 Will the CDC confirm the source of the E. coli... CLOSED \n", + "4 Will a peer-reviewed journal publish a follow-... CLOSED \n", + "\n", + " collateral_amount outcome_index trade_fee_amount outcomes_tokens_traded \\\n", + "0 0.772726 0 0.007727 2.087857 \n", + "1 1.534418 0 0.015344 3.814142 \n", + "2 0.415013 1 0.004150 0.672596 \n", + "3 0.600311 1 0.006003 1.069992 \n", + "4 0.025000 1 0.000250 0.050876 \n", + "\n", + " ... mech_fee_amount net_earnings roi staking trader_type \\\n", + "0 ... 0.06 -0.840453 -1.000000 non_staking Olas \n", + "1 ... 0.02 2.244380 1.429758 non_staking Olas \n", + "2 ... 0.02 0.233433 0.531542 non_staking Olas \n", + "3 ... 0.02 -0.626314 -1.000000 non_staking Olas \n", + "4 ... 0.01 0.015626 0.443287 pearl Olas \n", + "\n", + " month_year_week cohort_week cohort_number activity_number week_number \n", + "0 Nov-10-2024 Nov-10-2024 0 0 0 \n", + "1 Nov-10-2024 Nov-10-2024 0 0 0 \n", + "2 Nov-10-2024 Nov-10-2024 0 0 0 \n", + "3 Nov-10-2024 Nov-10-2024 0 0 0 \n", + "4 Nov-10-2024 Nov-10-2024 0 0 0 \n", + "\n", + "[5 rows x 27 columns]" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cohort_data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
trader_addressmarket_creatortrade_idcreation_timestamptitlemarket_statuscollateral_amountoutcome_indextrade_fee_amountoutcomes_tokens_traded...mech_fee_amountnet_earningsroistakingtrader_typemonth_year_weekcohort_weekcohort_numberactivity_numberweek_number
889280xa8efa5bb5c6ad476c9e0377dbf66cc41cb6d5bddquickstart0xfc75b4d9aadde4ca459b64fb51088ef38bf442830xa8...2025-01-07 10:54:40+00:00Will a recall of Tesla Cybertruck vehicles be ...CLOSED1.969849e+0001.969849e-024.510793...0.02.521246e+001.267246non_OlasunclassifiedJan-12-2025Dec-08-2024495
889290x3e013a3ca156032005c239de6d84badd3f9b13a9quickstart0x0b2f7c5f872b9f0323422f3b5c3b44676baf26ca0x3e...2025-01-07 12:17:25+00:00Will Gazprom announce a new pipeline project a...CLOSED5.098594e-0305.098594e-050.007520...0.02.370460e-030.460321non_OlasunclassifiedJan-12-2025Dec-08-2024495
889300xd4fc4305dc1226c38356024c26cde985817f137fquickstart0x0b2f7c5f872b9f0323422f3b5c3b44676baf26ca0xd4...2025-01-07 13:55:00+00:00Will Gazprom announce a new pipeline project a...CLOSED2.000000e+0002.000000e-021.980169...0.0-3.983078e-02-0.019718non_OlasunclassifiedJan-12-2025Dec-22-2024693
889310xc918c15b87746e6351e5f0646ddcaaca11af8568quickstart0x0b2f7c5f872b9f0323422f3b5c3b44676baf26ca0xc9...2025-01-07 15:14:50+00:00Will Gazprom announce a new pipeline project a...CLOSED5.566732e-0715.566732e-091.081069...0.0-5.622399e-07-1.000000non_OlasunclassifiedJan-12-2025Dec-08-2024495
889320xf758c18402ddef2d231911c4c326aa46510788f0quickstart0x0b2f7c5f872b9f0323422f3b5c3b44676baf26ca0xf7...2025-01-07 22:00:55+00:00Will Gazprom announce a new pipeline project a...CLOSED1.000000e-0511.000000e-070.820458...0.0-1.010000e-05-1.000000non_OlasunclassifiedJan-12-2025Dec-08-2024495
\n", + "

5 rows × 27 columns

\n", + "
" + ], + "text/plain": [ + " trader_address market_creator \\\n", + "88928 0xa8efa5bb5c6ad476c9e0377dbf66cc41cb6d5bdd quickstart \n", + "88929 0x3e013a3ca156032005c239de6d84badd3f9b13a9 quickstart \n", + "88930 0xd4fc4305dc1226c38356024c26cde985817f137f quickstart \n", + "88931 0xc918c15b87746e6351e5f0646ddcaaca11af8568 quickstart \n", + "88932 0xf758c18402ddef2d231911c4c326aa46510788f0 quickstart \n", + "\n", + " trade_id \\\n", + "88928 0xfc75b4d9aadde4ca459b64fb51088ef38bf442830xa8... \n", + "88929 0x0b2f7c5f872b9f0323422f3b5c3b44676baf26ca0x3e... \n", + "88930 0x0b2f7c5f872b9f0323422f3b5c3b44676baf26ca0xd4... \n", + "88931 0x0b2f7c5f872b9f0323422f3b5c3b44676baf26ca0xc9... \n", + "88932 0x0b2f7c5f872b9f0323422f3b5c3b44676baf26ca0xf7... \n", + "\n", + " creation_timestamp \\\n", + "88928 2025-01-07 10:54:40+00:00 \n", + "88929 2025-01-07 12:17:25+00:00 \n", + "88930 2025-01-07 13:55:00+00:00 \n", + "88931 2025-01-07 15:14:50+00:00 \n", + "88932 2025-01-07 22:00:55+00:00 \n", + "\n", + " title market_status \\\n", + "88928 Will a recall of Tesla Cybertruck vehicles be ... CLOSED \n", + "88929 Will Gazprom announce a new pipeline project a... CLOSED \n", + "88930 Will Gazprom announce a new pipeline project a... CLOSED \n", + "88931 Will Gazprom announce a new pipeline project a... CLOSED \n", + "88932 Will Gazprom announce a new pipeline project a... CLOSED \n", + "\n", + " collateral_amount outcome_index trade_fee_amount \\\n", + "88928 1.969849e+00 0 1.969849e-02 \n", + "88929 5.098594e-03 0 5.098594e-05 \n", + "88930 2.000000e+00 0 2.000000e-02 \n", + "88931 5.566732e-07 1 5.566732e-09 \n", + "88932 1.000000e-05 1 1.000000e-07 \n", + "\n", + " outcomes_tokens_traded ... mech_fee_amount net_earnings roi \\\n", + "88928 4.510793 ... 0.0 2.521246e+00 1.267246 \n", + "88929 0.007520 ... 0.0 2.370460e-03 0.460321 \n", + "88930 1.980169 ... 0.0 -3.983078e-02 -0.019718 \n", + "88931 1.081069 ... 0.0 -5.622399e-07 -1.000000 \n", + "88932 0.820458 ... 0.0 -1.010000e-05 -1.000000 \n", + "\n", + " staking trader_type month_year_week cohort_week cohort_number \\\n", + "88928 non_Olas unclassified Jan-12-2025 Dec-08-2024 4 \n", + "88929 non_Olas unclassified Jan-12-2025 Dec-08-2024 4 \n", + "88930 non_Olas unclassified Jan-12-2025 Dec-22-2024 6 \n", + "88931 non_Olas unclassified Jan-12-2025 Dec-08-2024 4 \n", + "88932 non_Olas unclassified Jan-12-2025 Dec-08-2024 4 \n", + "\n", + " activity_number week_number \n", + "88928 9 5 \n", + "88929 9 5 \n", + "88930 9 3 \n", + "88931 9 5 \n", + "88932 9 5 \n", + "\n", + "[5 rows x 27 columns]" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cohort_data.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [], + "source": [ + "cohort_retention = calculate_cohort_retention(all_traders)" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
week_number0123456789
cohort_week
2024-11-10100.091.8381.7156.4286.7782.8880.5470.0464.5941.25
2024-11-17100.075.0045.0066.8867.5067.5051.2548.1233.750.00
2024-11-24100.051.7275.8672.4175.8665.5262.0751.720.000.00
2024-12-01100.0100.0090.4880.9566.6771.4352.380.000.000.00
2024-12-08100.088.8286.4785.8878.2470.590.000.000.000.00
\n", + "
" + ], + "text/plain": [ + "week_number 0 1 2 3 4 5 6 7 8 \\\n", + "cohort_week \n", + "2024-11-10 100.0 91.83 81.71 56.42 86.77 82.88 80.54 70.04 64.59 \n", + "2024-11-17 100.0 75.00 45.00 66.88 67.50 67.50 51.25 48.12 33.75 \n", + "2024-11-24 100.0 51.72 75.86 72.41 75.86 65.52 62.07 51.72 0.00 \n", + "2024-12-01 100.0 100.00 90.48 80.95 66.67 71.43 52.38 0.00 0.00 \n", + "2024-12-08 100.0 88.82 86.47 85.88 78.24 70.59 0.00 0.00 0.00 \n", + "\n", + "week_number 9 \n", + "cohort_week \n", + "2024-11-10 41.25 \n", + "2024-11-17 0.00 \n", + "2024-11-24 0.00 \n", + "2024-12-01 0.00 \n", + "2024-12-08 0.00 " + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cohort_retention.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
week_number0123456789
cohort_week
Dec-01-2024100.0100.0090.4880.9566.6771.4352.380.00.00.0
Dec-08-2024100.088.8286.4785.8878.2470.590.000.00.00.0
Dec-15-2024100.068.7537.5025.009.380.000.000.00.00.0
Dec-22-2024100.059.3850.0025.000.000.000.000.00.00.0
Dec-29-2024100.069.230.000.000.000.000.000.00.00.0
\n", + "
" + ], + "text/plain": [ + "week_number 0 1 2 3 4 5 6 7 8 9\n", + "cohort_week \n", + "Dec-01-2024 100.0 100.00 90.48 80.95 66.67 71.43 52.38 0.0 0.0 0.0\n", + "Dec-08-2024 100.0 88.82 86.47 85.88 78.24 70.59 0.00 0.0 0.0 0.0\n", + "Dec-15-2024 100.0 68.75 37.50 25.00 9.38 0.00 0.00 0.0 0.0 0.0\n", + "Dec-22-2024 100.0 59.38 50.00 25.00 0.00 0.00 0.00 0.0 0.0 0.0\n", + "Dec-29-2024 100.0 69.23 0.00 0.00 0.00 0.00 0.00 0.0 0.0 0.0" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cohort_retention.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
week_number0123456789
cohort_week
Jan-05-2025100.042.860.000.000.000.000.000.000.000.00
Jan-12-2025100.00.000.000.000.000.000.000.000.000.00
Nov-10-2024100.091.8381.7156.4286.7782.8880.5470.0464.5941.25
Nov-17-2024100.075.0045.0066.8867.5067.5051.2548.1233.750.00
Nov-24-2024100.051.7275.8672.4175.8665.5262.0751.720.000.00
\n", + "
" + ], + "text/plain": [ + "week_number 0 1 2 3 4 5 6 7 8 \\\n", + "cohort_week \n", + "Jan-05-2025 100.0 42.86 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "Jan-12-2025 100.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "Nov-10-2024 100.0 91.83 81.71 56.42 86.77 82.88 80.54 70.04 64.59 \n", + "Nov-17-2024 100.0 75.00 45.00 66.88 67.50 67.50 51.25 48.12 33.75 \n", + "Nov-24-2024 100.0 51.72 75.86 72.41 75.86 65.52 62.07 51.72 0.00 \n", + "\n", + "week_number 9 \n", + "cohort_week \n", + "Jan-05-2025 0.00 \n", + "Jan-12-2025 0.00 \n", + "Nov-10-2024 41.25 \n", + "Nov-17-2024 0.00 \n", + "Nov-24-2024 0.00 " + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cohort_retention.tail()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Visualization of the cohort matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [], + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.ticker import PercentFormatter\n", + "\n", + "def plot_cohort_retention_heatmap(retention_matrix):\n", + " # Create a copy of the matrix to avoid modifying the original\n", + " retention_matrix = retention_matrix.copy()\n", + " \n", + " # Convert index to datetime and format to date string\n", + " retention_matrix.index = pd.to_datetime(retention_matrix.index).strftime('%Y-%m-%d')\n", + " \n", + " # Create figure and axes with specified size\n", + " plt.figure(figsize=(12, 8))\n", + " \n", + " # Create mask for NaN values\n", + " mask = retention_matrix.isna()\n", + " \n", + " # Create heatmap\n", + " ax = sns.heatmap(\n", + " data=retention_matrix,\n", + " annot=True, # Show numbers in cells\n", + " fmt='.1f', # Format numbers to 1 decimal place\n", + " cmap='YlOrRd', # Yellow to Orange to Red color scheme\n", + " vmin=0,\n", + " vmax=100,\n", + " center=50,\n", + " cbar_kws={'label': 'Retention Rate (%)', 'format': PercentFormatter()},\n", + " mask=mask,\n", + " annot_kws={'size': 8}\n", + " )\n", + " \n", + " # Customize the plot\n", + " plt.title('Cohort Retention Analysis', pad=20, size=14)\n", + " plt.xlabel('Weeks Since First Trade', size=12)\n", + " plt.ylabel('Cohort Starting Week', size=12)\n", + " \n", + " # Format week numbers on x-axis\n", + " x_labels = [f'Week {i}' for i in retention_matrix.columns]\n", + " ax.set_xticklabels(x_labels, rotation=45, ha='right')\n", + " \n", + " # Set y-axis labels rotation\n", + " plt.yticks(rotation=0)\n", + " \n", + " # Add gridlines\n", + " ax.set_axisbelow(True)\n", + " \n", + " # Adjust layout to prevent label cutoff\n", + " plt.tight_layout()\n", + " \n", + " return plt\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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nYppmrZzTkpKolGjRhw+fJg2bdrwwAMPkJqayqFDh/j666954YUXrjotbenSpXTq1Alvb2+6dOlCUFAQ0dHRbN26la+//pqBAwde97UVERG5pZkiIiJ2onnz5iZg/vrrrze0X79+/UzAHD16dJb2pUuXmoBZuXJlMyMjw9bet29fEzArVqxonjx50tYeHR1tent7mx4eHmZKSoqtfebMmSZgNmvWLEv7kSNHTF9fX9PR0dE8cOCArX369OkmYDo4OJi//PJLtnhXrVplAmZYWNgNnefF/Z566qls25566ikTMENDQ7O09+7d2wTML774Ikt7VFSUGRISYvr5+ZkXLlywtTdr1szM7eNBTEyM6enpaQYHB5uHDx/Osm3u3LkmYA4ePNjWdujQIRMwAfONN97I0n/MmDEmYE6cODFLe/ny5c3y5cvnePyL4/Xt2zdLe4sWLUzAnDx5cpb2Tz/91ATMli1bZmm/eI7169c34+LibO179uwxHR0dzapVq+Z4/NwMHz7cBMy5c+eapmmaCQkJpru7u1muXLks77vLzxEwu3TpkuX99Ouvv5qA2bZt2yz9jx8/nqXfRePHjzcBc9asWVnaL76/Dx06ZGt78803TcCcMWNGlr5paWlmUFCQ6e/vb6amppqmaZpLliwxAXPYsGHZjpmQkGAmJyfbnoeFhZmAuWrVKltbt27dTMCMiIjItn9MTEy2NhEREcmZpkSJiIjdiIyMBKBs2bLXvU9qaipz587Fx8eHMWPGZNnWoUMH/ve//7F//37WrVuXbd+xY8cSFBRke+7r60uXLl1ISEhg7969tvaLa8K89dZbODs729rLlSvHc889R3p6OrNnz842fpcuXWjduvV1n8v12rx5M+Hh4YSHhzN8+HDuvfdeJk+eTJUqVbJcg5iYGL755htatmzJE088kWUMf39/RowYQXR0NL/++ut1Hferr74iPj6eiRMnUr58+SzbevbsyT333MO8efOy7VexYkVGjBiRpe3iFK4///zzuo6dm6NHj7Jq1Spq1KiRrSpm0KBBVKtWjZUrV3Ls2LFs+06cOBFPT0/b86pVq9KoUSP27t1LQkLCdR0/LS2Nr7/+Gk9PT1ulUsmSJXnggQc4evToVa/t+++/n+X91KpVK8qXL5/tmlyc5nWlwYMHA1zX69evXz+cnZ2ZOnVqlvalS5dy6tQp+vbtm61Kx83NLds4JUuWzFLddjU57e/j43Nd+4qIiIimRImISBG3Z88ekpOTadGiRbapHgAtWrTgl19+ISIigiZNmmTZVqdOnWz9LyaLYmNjbW1///03JUqU4N57781xfICIiIhs23Lqnx+2bNmSba2aqlWr8vvvv2dZAPbPP/8kIyODlJSUHKfmXLwN+J49e2x3nbqajRs3ArBp0yYOHDiQbXtycjIxMTHExMRkiePuu+/GwSHrd0Q5Xee8uHjdmzVrlu125A4ODjRt2pQ9e/YQERFBSEhIlu3Xev09PDyuefzFixcTHR3NgAEDcHV1tbX36dOHWbNmMW3atCzTmy7y9vamYsWKOR5/w4YNWdpM02T69OnMmDGDHTt2EBcXl2WdpZMnT14zTj8/P7p168a8efPYs2ePbfHmiwmcyxN6TZs2JSgoiDfeeIOtW7fSsWNHmjVrRvXq1a/rlu89e/ZkwYIFNGjQgN69e9OqVSuaNGmixYlFRERukBI2IiJiNwIDA9mzZw8nTpy47ltTx8fHA+S65s3FCpqL/S53eXXFRRfXgMnIyMhyjCv/2L+e8a+1Dk9ePfXUU0yaNAnTNDl16hTvv/8+77zzDg899BC//vorFosFyFy/BmDdunU5VhhdlJiYeF3HvTjep59+etV+iYmJWf44v97rnBc34/W/mmnTpgGZCZrLtWrViuDgYBYvXszZs2cpXbp0lu25rQHj6OiYbdHroUOH8sknnxASEkLnzp0JCgqyVbmMHz+elJSU64r1qaeeYt68eUydOpV33nmHkydP8tNPP9GsWbMsa/x4eXmxceNGxo0bxw8//MD//d//ARASEsKoUaNyXbz4ooceeohFixbx3nvvMWnSJD799FMMw6BFixa8++67WdZEEhERkdxpSpSIiNiNRo0aAbBixYrr3ufiH91RUVE5br84zSqnP85v5BinT5++4fGvpxrhvzAMgzJlyvD222/z6KOPsnr1aj7++GPb9osxPf/885immevj8gWGr+bieNu3b7/qeFdOlypIN+P1z82xY8f4+eefgUsVPhcfFouFEydOkJKSwqxZs/J8jNOnT/Ppp59y1113sWfPHmbMmMHEiRMJDw9n0KBBNzRW8+bNqVatGl999RWpqalMnz6djIyMHBdYLleuHDNmzCA6Opq///6bN998E6vVSmhoKHPnzr3msbp06cKaNWs4d+4cP/30E0888QSrV6+mXbt2/7mqSkRE5FahhI2IiNiNxx9/HIvFwpQpU4iOjr5q34tVBdWqVcPV1ZU///yTpKSkbP0u3m74v3yrX7t2bZKSkvjjjz/yZfyLFTD/tbrkcm+99RZubm5MmDDBtv5KvXr1MAwj2xSbvMZWv359gBsa70ZZLJYbui4Xr/vatWsxTTPLNtM0Wbt2bZZ++WnGjBlYrVYaN27MgAEDsj369u0LXKrCyYuDBw9imiatW7fONuXvt99+u+HxBg4cSHR0NIsWLeLLL7+kVKlSdO/ePdf+Dg4O3H333YwcOdKWqFmyZMl1H8/Dw4N27doxZcoUHn/8caKioti0adMNxy0iInIrUsJGRETsRuXKlRk5ciQxMTG0b9+eQ4cOZeuTnJzMe++9Z1uTxdnZmV69ehETE8PEiROz9F22bBnLly+ncuXKtuqdvLj4h/fo0aNJS0uztR87doz33nsPR0dHHnnkkese7+L0mJwWws2roKAgBg0axJkzZ2y3xg4MDKRHjx6sX7+et99+O1tCAzLXo7k80XW12Pr164eHhwcvv/wyO3fuzLY9KSnJts5NXpUuXZqYmBiSk5Ovq3+5cuVo0aIFO3fu5Msvv8yybcqUKezevZuWLVvmOqUtry6uK2MYBjNnzmTq1KnZHjNmzKBhw4Zs27aNzZs35+k4F6uV1q9fn2Wq1PHjxxk9evQNj9e3b19cXV157rnnOHjwII899liWtXcAdu7cmWPF0sW2K/tfae3atTkm3S5WqV1rfxEREcmkNWxERMSuTJgwgeTkZN5//32qVq1Ky5YtueOOO3BycuLQoUP8+uuvnDlzhgkTJtj2efPNN1mzZg0TJkxg/fr11K9fn8OHDzN//nxKlCjB9OnTsy16eyMee+wxFixYwOLFi7nrrrvo2LEjiYmJfPPNN5w9e5Z3332XSpUqXfd41apVo0yZMsybNw8XFxfKli2LYRgMGTIk17VNrseLL77I5MmTee+99xgyZAje3t589tln7N27l5EjR/L111/TsGFDvL29OXbsGJs3b2bfvn2cOnXKVr3RsmVLvvvuO7p370779u1xdXWlVq1adOrUCT8/P+bOnctDDz1ErVq1aNeuHdWqVSMlJYXDhw+zZs0a7rvvPpYtW5bnc2jZsiWbN2+mffv2NGnSBGdnZ5o2bUrTpk1z3efzzz+ncePGPPnkk/zwww/UqFGDnTt3smTJEvz8/Pj888/zHE9uVq5cyaFDh2jWrNlVX/t+/fqxYcMGpk2bRt26dW/4OEFBQXTv3p3vv/+eunXr0qpVK6Kiovjxxx9p1apVjos/X03p0qV56KGH+PrrrwFynA71yy+/MGLECBo1akSVKlXw8fHh4MGDLFmyBFdXV0JDQ696jKFDh3Ly5EkaN25MhQoVMAyD33//nT/++IMGDRrQuHHjG4pZRETklnVTbyIuIiJynf7880+zf//+ZuXKlU03NzfTxcXFrFChgtm7d2/zl19+ydY/OjraHDp0qFm+fHnTycnJ9PX1NR988EFz+/bt2fr27dvXBMxDhw5l2xYWFmYC5qpVq7K0p6Wlme+884555513mi4uLqaHh4fZrFkzc/HixdnGmD59ugmY06dPz/X8Nm7caDZr1sz08PAwgVzjudyqVatMwHzqqady7fP888+bgDl27FhbW1JSkvnWW2+ZderUMd3d3U03NzezYsWKZteuXc2vvvrKTEtLy3KeI0eONMuVK2c6OjqagNm3b98sx9izZ485YMAAs3z58qazs7NZqlQp88477zSHDh1q/vHHH7Z+hw4dynH/iwCzWbNmWdoSEhLMJ5980gwKCjItFosJmGFhYdcc7/Dhw2a/fv3MoKAg09HR0QwKCjL79etnHj58OFvfZs2ambl9BLrae+NyvXr1uuZrbJqmGRcXZ7q5uZleXl5mUlKSaZqmWb58ebN8+fI59s8ptoSEBPP55583K1SoYLq4uJi33367+eqrr5qpqak5XsNrncOvv/5qAmaDBg1y3L5r1y7z2WefNWvXrm36+PiYLi4uZqVKlcy+ffuaO3fuzNI3p5+XefPmmT169DBvu+02s0SJEqaXl5dZq1Yt88033zQTEhJyv1giIiKShWGaOdRHi4iIiEix9M477zBixAimTZtG//79CzscERERyYUSNiIiIiK3iOTkZKpVq0Z8fDzHjx/PtpCxiIiI2A+tYSMiIiJSzP3++++sWbOG5cuXc+TIESZOnKhkjYiIiJ1TwkZERESkmPv1118ZP348vr6+PPfcc7zwwguFHZKIiIhcg6ZEiYiIiIiIiIjYmbzf41RERERERERERAqEEjYiIiIiIiIiInZGCRsRERERERERETujhI2IiIiIiIiIiJ1RwkZERERERERExM4oYSMiIiIiIiIiYmeUsBERERERERERsTNK2IiIiIiIiIiI2BklbERERERERERE7IwSNiIiIiIiIiIidkYJGxERERERERERO6OEjYiIiIiIiIiInVHCRkRERERERETEzihhIyIiIiIiIiJiZ5SwERERERERERGxM0rYiIiIiIiIiIjYGSVsRERERERERETsjBI2IiIiIiIiIiJ2RgkbEREREREREbELa9eupVOnTpQpUwbDMFi0aFGW7aZpMm7cOIKCgnBzc6N169bs27cvS5+zZ8/yyCOP4Onpibe3NwMGDOD8+fO27YcPH6Zp06a4u7vTtGlTDh8+nGX/jh078v333xfUKV43JWxERERERERExC4kJiZSq1YtPv300xy3v/XWW3z00UdMmjSJTZs24e7uTtu2bUlOTrb1eeSRR9i5cye//PILP/74I2vXrmXgwIG27c8//zzBwcFEREQQFBTECy+8YNv2zTff4ODgQPfu3QvuJK+TYZqmWdhBiIiIiIiIiIhczjAMFi5cSNeuXYHM6poyZcrw/PPP25IscXFxBAQEMGPGDHr27Mnu3bupUaMGf/75J3Xr1gVg2bJldOjQgePHj1OmTBlq1KjBe++9R7t27fjpp5944YUX2LlzJ7GxsdSrV4+VK1cSEhJSWKdtowobEREREREREbF7hw4dIjIyktatW9vavLy8qF+/Phs2bABgw4YNeHt725I1AK1bt8bBwYFNmzYBUKtWLX799VesVis///wzd911FwAjRowgNDTULpI1oISNiIiIiIiIiBSglJQU4uPjszxSUlJueJzIyEgAAgICsrQHBATYtkVGRuLv759lu6OjI6VLl7b1eeedd9izZw8VKlRg3759vPPOO6xdu5aIiAj69OlDjx49qFSpEoMGDSI1NTUvp5wvHAvtyHLTjTeqFnYIxU6Vwg6gmKlWMr2wQyh27nq8VGGHUOys/TShsEMoVkq6ZhR2CMWOi5O1sEMoVspWKOwIih/3AJfCDqFYce5fvrBDKHaMnssKO4R8V9h/C5phvRg/fnyWtrCwMMLDwwslnuDgYH788Ufb85SUFNq2bcvMmTOZMGECHh4e7N27l3bt2jF58mSGDBlSKHGqwkZERERERERECszo0aOJi4vL8hg9evQNjxMYGAhAVFRUlvaoqCjbtsDAQE6fPp1le3p6OmfPnrX1udLrr79OmzZtqFOnDqtXr6Z79+44OTnRrVs3Vq9efcNx5hdV2IiIiIiIiIgUY4VdqeHi4oKLy3+vrqtYsSKBgYGsWLGCu+++G4D4+Hg2bdrE008/DUDDhg2JjY1ly5Yt1KlTB4CVK1ditVqpX79+tjF3797NnDlziIiIACAjI4O0tDQA0tLSyMgovGpgJWxERERERERExC6cP3+e/fv3254fOnSIiIgISpcuTbly5Rg2bBgTJkzg9ttvp2LFiowdO5YyZcrY7iRVvXp12rVrx5NPPsmkSZNIS0tj8ODB9OzZkzJlymQ5lmmaDBw4kPfffx93d3cAGjVqxBdffEGVKlX46quv6NWr10079ysVdqJNRERERERERASAzZs3U7t2bWrXrg3A8OHDqV27NuPGjQNg5MiRDBkyhIEDB1KvXj3Onz/PsmXLcHV1tY0xe/ZsqlWrRqtWrejQoQONGzdmypQp2Y41ZcoUAgIC6Nixo60tPDyc5ORk6tevT+XKlQkNDS3gM86dYZqmWWhHl5uqsBeaKo606HD+0qLD+U+LDuc/LTqcv7TocP7TosP5S4sO5z8tOpy/tOhw/iuOiw6/Vsh/C75s7i3U4xdVqrAREREREREREbEzWsNGREREREREpBhTpUbRpNdNRERERERERMTOKGEjIiIiIiIiImJnNCVKREREREREpBhTpUbRpNdNRERERERERMTOqMJGREREREREpBhTpUbRpNdNRERERERERMTOKGEjIiIiIiIiImJnNCVKREREREREpBgzCjsAyRNV2IiIiIiIiIiI2BlV2IiIiIiIiIgUY6rUKJr0uomIiIiIiIiI2BklbERERERERERE7IymRImIiIiIiIgUY6rUKJr0uomIiIiIiIiI2BklbERERERERERE7IymRImIiIiIiIgUY6rUKJr0uomIiIiIiIiI2BlV2IiIiIiIiIgUY6rUKJrs6nWbOHEi9erVw8PDA39/f7p27crevXuz9ElOTiY0NBQfHx9KlixJ9+7diYqKsm3funUrvXr1IiQkBDc3N6pXr86HH36Y6zHXrVuHo6Mjd9999zXjW7BgAW3atMHHxwfDMIiIiMjWZ8qUKTRv3hxPT08MwyA2Nva6zn3o0KHUqVMHFxeXXGPZtm0bTZo0wdXVlZCQEN56663rGltERERERERE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PgHLE8+D1Ur6h2Fw5vRV97H0GYJ55jTWpd9A8gXSPgrHacIkwICk86S/PvymxF7UfL7mHPM2J3A2MYN9p1N59f/OsHBQMKXdLXy08hz+HhZ61vPkp52J/LI7iaoBzjwwKfPvrHtCXBjXMec7HorcSgzTNM3CDuKi3LKp06dP5/HHHwcgOTmZ559/nrlz55KSkkLbtm357LPPbAmT8PDwbFOBAMqXL5/r7bjDw8NZtGiRLUmSmxkzZtCvX79s7WFhYYSHh1/1+JefQ06aN2/OmjVrsrUfOnSIChUqALBt2zZCQ0P5888/8fX1ZciQIbz44otXjfly443s6xnIf1P4k8yKl2olb81vpwrSXY9r0b78tvbThMIOoVgp6XrrTcsoaC5Ot3h1Xz4rW6GwIyh+3AMK90vF4sa5//VX7cv1MXouK+wQ8t3UQv5b8Akze+WvXJtdJWykYClhk/+UsMlfStjkPyVs8p8SNvlLCZv8p4RN/lLCJv8pYZO/lLDJf0rY5D8lbPJG08lEREREREREROyMXa1hIyIiIiIiIiL5S5UaRZNeNxERERERERERO6MKGxEREREREZFiTJUaRZNeNxERERERERERO6OEjYiIiIiIiIiIndGUKBEREREREZFiTJUaRZNeNxERERERERERO6MKGxEREREREZFizCjsACRPVGEjIiIiIiIiImJnlLAREREREREREbEzmhIlIiIiIiIiUoypUqNo0usmIiIiIiIiImJnVGEjIiIiIiIiUoypUqNo0usmIiIiIiIiImJnlLAREREREREREbEzmhIlIiIiIiIiUoypUqNo0usmIiIiIiIiImJnVGEjIiIiIiIiUoypUqNo0usmIiIiIiIiImJnlLAREREREREREbEzmhIlIiIiIiIiUoypUqNo0usmIiIiIiIiImJnlLAREREREREREbEzmhIlIiIiIiIiUoypUqNo0usmIiIiIiIiImJnVGEjIiIiIiIiUoypUqNo0usmIiIiIiIiImJnVGEj8h80Dkoq7BCKleBXqxR2CMVO0vRjhR1CsVO3gVnYIRQzRmEHUOy4dwoq7BCKl5L6uJzfjDuCCzuEYsVo8XxhhyAiBUS/gURERERERESKMU2tKZr0uomIiIiIiIiI2BlV2IiIiIiIiIgUY6rUKJr0uomIiIiIiIiI2BklbERERERERERE7Iym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ERERERGRYky39S6aVGEjIiIiIiIiImJnlLAREREREREREbEzmhIlIiIiIiIiUowZmIUdguSBKmxEREREREREROyMKmxEREREREREijEtOlw0qcJGRERERERERMTOKGEjIiIiIiIiImJnNCVKREREREREpBjTlKiiSRU2IiIiIiIiImIXMjIyGDt2LBUrVsTNzY3bbruNV199FdO8dKcr0zQZN24cQUFBuLm50bp1a/bt22fbnpKSwmOPPYanpydVqlTh119/zXKMt99+myFDhty0c8orVdiIiIiIiIiIFGMORtG5rfebb77J559/zsyZM6lZsyabN2+mX79+eHl5MXToUADeeustPvroI2bOnEnFihUZO3Ysbdu2ZdeuXbi6ujJlyhS2bNnChg0b+Omnn+jduzdRUVEYhsGhQ4f44osv2Lx5cyGf6bWpwkZERERERERE7ML69evp0qUL999/PxUqVODBBx+kTZs2/PHHH0Bmdc0HH3zAmDFj6NKlC3fddRdfffUVJ0+eZNGiRQDs3r2bzp07U7NmTUJDQ4mOjiYmJgaAp59+mjfffBNPT8/COsXrpoSNiIiIiIiIiBSYlJQU4uPjszxSUlJy7HvfffexYsUK/vnnHwC2bt3K77//Tvv27QE4dOgQkZGRtG7d2raPl5cX9evXZ8OGDQDUqlWL33//nQsXLrB8+XKCgoLw9fVl9uzZuLq68sADDxTwGecPTYkS+Q+CQ0MKO4Ri5diYfdfuJDfEtaTy8vkt+by1sEMoVvxrlCjsEIod88+4wg6hWDHq2P83sEWN0eL5wg5B5JZT2IsOT5w4kfHjx2dpCwsLIzw8PFvfUaNGER8fT7Vq1bBYLGRkZPDaa6/xyCOPABAZGQlAQEBAlv0CAgJs2/r378+2bduoUaMGvr6+fPvtt5w7d45x48axevVqxowZw7x587jtttv48ssvCQ4OLoCz/u+UsBERERERERGRAjN69GiGDx+epc3FxSXHvt9++y2zZ89mzpw51KxZk4iICIYNG0aZMmXo27fvdR3PycmJTz/9NEtbv379GDp0KH///TeLFi1i69atvPXWWwwdOpTvv/8+bydWwJSwERERERERESnGCvuu3i4uLrkmaK40YsQIRo0aRc+ePQG48847OXLkCBMnTqRv374EBgYCEBUVRVBQkG2/qKgo7r777hzHXLVqFTt37mTq1KmMGDGCDh064O7uTo8ePfjkk0/+28kVINXKi4iIiIiIiIhdSEpKwsEha6rCYrFgtWZOS69YsSKBgYGsWLHCtj0+Pp5NmzbRsGHDbOMlJycTGhrK5MmTbVOs0tLSAEhLSyMjI6MAz+a/UcJGREREREREROxCp06deO2111i6dCmHDx9m4cKFvPfee7aFgg3DYNiwYUyYMIElS5awfft2+vTpQ5kyZejatWu28V599VU6dOhA7dq1AWjUqBELFixg27ZtfPLJJzRq1Ohmnt4N0ZQoERERERERkWLMMMzCDuG6ffzxx4wdO5ZnnnmG06dPU6ZMGZ566inGjRtn6zNy5EgSExMZOHAgsbGxNG7cmGXLluHq6pplrB07dvDtt98SERFha3vwwQdZvXo1TZo0oWrVqsyZM+dmndoNM0zTLDqvnPwn442qhR1CsTN2gk9hh1CsHPvkeGGHUOzoLlH5T3eJyl+6S1T+c/bS93H5SXeJyn8OL39c2CGIXEOdwg4g3+0uXaFQj1/97OFCPX5Rpd/oIiIiIiIiIsVYYd/WW/JGX72KiIiIiIiIiNgZJWxEREREREREROyMpkSJiIiIiIiIFGMOmhJVJKnCRkRERERERETEzqjCRkRERERERKQYK0q39ZZLVGEjIiIiIiIiImJnlLAREREREREREbEzmhIlIiIiIiIiUoxpzeGiSRU2IiIiIiIiIiJ2RgkbERERERERERE7oylRIiIiIiIiIsWYoTlRRZIqbERERERERERE7IwqbERERERERESKMcMwCzsEyQNV2IiIiIiIiIiI2BklbERERERERERE7IymRImIiIiIiIgUYw5adLhIUoWNiIiIiIiIiIidUYWNiIiIiIiISDGm23oXTaqwERERERERERGxM3aVsJk4cSL16tXDw8MDf39/unbtyt69e7P0SU5OJjQ0FB8fH0qWLEn37t2Jioqybd+6dSu9evUiJCQENzc3qlevzocffpjrMdetW4ejoyN33333NeNbsGABbdq0wcfHB8MwiIiIyNZnypQpNG/eHE9PTwzDIDY29prjFmTMIiIiIiIiIlL02NWUqDVr1hAaGkq9evVIT0/npZdeok2bNuzatQt3d3cAnnvuOZYuXcr8+fPx8vJi8ODBdOvWjXXr1gGwZcsW/P39mTVrFiEhIaxfv56BAwdisVgY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+8yWMAkPD882FQigfPnyud6OOzw8nEWLFhEREXHV+GbMmEG/ftlvQRkWFkZ4ePhVj3/5OeR0/IKK+XLjjarX3Veuz9gJKt/MT8c+uXVv2VxQXEvaVSFlsZB83lrYIRQr/jVKFHYIxY6zl119H1fkGXU8CzuEYsfh5Y8LOwSRa6hT2AHkuxMh2e+8ezMFH8s+a0Kuza4SNlKwlLDJf0rY5C8lbPKfEjb5Twmb/KWETf5TwiZ/KWGT/5SwEfunhE1+U8Imb/QbXURERERERKQYM/QdXpGkl01ERERERERExM6owkZERERERESkGNNtvYsmVdiIiIiIiIiIiNgZJWxEREREREREROyMpkSJiIiIiIiIFGcOmhNVFKnCRkRERERERETEzqjCRkRERERERKQY0229iya9bCIiIiIiIiIidkYJGxERERERERERO6MpUSIiIiIiIiLFmGFo0eGiSBU2IiIiIiIiIiJ2RhU2IiIiIiIiIsWYFh0umvSyiYiIiIiIiIjYGSVsRERERERERETsjKZEiYiIiIiIiBRnWnS4SFKFjYiIiIiIiIiInVGFjYiIiIiIiEgxpkWHiya9bCIiIiIiIiIidkYJGxERERERERERO6MpUSIiIiIiIiLFmOGgRYeLIlXYiIiIiIiIiIjYGSVsRERERERERETsjKZEiYiIiIiIiBRjhmZEFUmqsBERERERERERsTOqsBEREREREREpxgyVahRJetlEREREREREROyMKmxE/oNXx5wp7BCKlbtwK+wQip1KHmmFHUKxU/lu58IOoVg5fyqlsEModnyalirsEIoVh5c/LuwQRETkFqWEjYiIiIiIiEhx5qBVh4siTYkSEREREREREbEzqrARERERERERKcZ0W++iSRU2IiIiIiIiIiJ2RgkbERERERERERE7oylRIiIiIiIiIsWYoUWHiyRV2IiIiIiIiIiI2BlV2IiIiIiIiIgUY4ZKNYokvWwiIiIiIiIiInZGCRsRERERERERETujKVEiIiIiIiIixZhhaNHhokgVNiIiIiIiIiIidkYVNiIiIiIiIiLFmUo1iiS9bCIiIiIiIiIidkYJGxERERERERERO6MpUSIiIiIiIiLFmNYcLppUYSMiIiIiIiIiYmdUYSMiIiIiIiJSjBkOKrEpilRhIyIiIiIiIiJiZ5SwERERERERERGxM5oS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bERuRcUwYdO2kBM2y5WwyQu7WsNGRERERERERESUsBERERERERERsTuq6xYREREREREpxgyVahRJetlEREREREREROyMKmxEREREREREijHDIec7Mot9y1OFzcaNG6/Z5/PPP8/L0CIiIiIiIiIit7w8JWzat2/PX3/9lev2iRMnMnjw4DwHJSIiIiIiIiJyK8tTwqZRo0a0adOG7du3Z9s2evRoXn75ZUaMGPGfgxMRERERERGR/8YwCvcheZOnhM2CBQu45557aN26NXv27LG1h4aG8uabb/Laa6/xxhtv5FuQIiIiIiIiIiK3kjwlbJydnVmyZAnVq1enZcuW7Nq1i8cee4xJkybx8ccfM3r06PyOU0RERERERETywHAwCvUheZPnu0S5urqydOlS/ve//1G7dm1M02TmzJk8+uij+RmfiIiIiIiIiMgt57oSNgsWLMh12xNPPMGOHTvo2rUrJUqUyNK3W7du/z1CEREREREREZFbzHUlbB588EEMw8A0zWzbLrbPmjWLWbNmZWnPyMjIv0hFRERERERE5MblaTEUKWzXlbBZtWpVQcchIiIiIiIiIiL/uq6ETbNmzQo6DhEREREREREpCFr4t0jK86LDACkpKfz111+cPn2aRo0a4evrm19xiYiIiIiIiIjcsvI8k+2jjz4iKCiIxo0b061bN7Zt2wZATEwMvr6+fPnll/kWpIiIiIiIiIjIrSRPCZvp06czbNgw2rVrx7Rp07IsRuzr60vLli2ZN29evgUpIiIiIiIiInnkUMgPyZM8Xbp3332XLl26MGfOHDp16pRte506ddi5c+d/Dk5ERERERERE5FaUp4TN/v37ad++fa7bS5cuzZkzZ/IclIiIiIiIiIjkEwejcB+SJ3lK2Hh7exMTE5Pr9l27dhEYGJjnoEREREREREREbmV5Sth06NCBKVOmEBsbm23bzp07+eKLL+jcufN/jU1ERERERERE5JaUp4TNhAkTyMjI4I477mDMmDEYhsHMmTN59NFHqVu3Lv7+/owbNy6/YxURERERERGRG6VFh4ukPF26MmXKsGXLFtq1a8c333yDaZp8/fXX/PDDD/Tq1YuNGzfi6+ub37GKiIiIiIiISDF34sQJHn30UXx8fHBzc+POO+9k8+bNtu2maTJu3DiCgoJwc3OjdevW7Nu3z7Y9JSWFxx57DE9PT6pUqcKvv/6aZfy3336bIUOG3LTzySvHvO7o7+/P1KlTmTp1KtHR0VitVvz8/HBwUPpMRERERERExG4UoYV/z507R6NGjWjRogU//fQTfn5+7Nu3j1KlStn6vPXWW3z00UfMnDmTihUrMnbsWNq2bcuuXbtwdXVlypQpbNmyhQ0bNvDTTz/Ru3dvoqKiMAyDQ4cO8cUXX2RJANmrPCdsLufs7EzJkiWVrBERERERERGRPHvzzTcJCQlh+vTptraKFSva/m2aJh988AFjxoyhS5cuAHz11VcEBASwaNEievbsye7du+ncuTM1a9akUqVKjBgxgpiYGPz8/Hj66ad588038fT0vOnndqPynGHZvHkz7dq1o0SJEvj4+LBmzRoAYmJi6NKlC6tXr86vGEVERERERETkFrBkyRLq1q3LQw89hL+/P7Vr1+aLL76wbT906BCRkZG0bt3a1ubl5UX9+vXZsGEDALVq1eL333/nwoULLF++nKCgIHx9fZk9ezaurq488MADN/288iJPCZv169fTuHFj9u3bx6OPPorVarVt8/X1JS4ujsmTJ+dbkCIiIiIiIiKSRw5GoT5SUlKIj4/P8khJSckx1IMHD/L5559z++23s3z5cp5++mmGDh3KzJkzAYiMjAQgICAgy34BAQG2bf3796dWrVrUqFGD1157jW+//ZZz584xbtw4Pv74Y8aMGUPlypVp27YtJ06cKMAL/9/kaUrUSy+9RPXq1dm4cSMJCQlMnTo1y/YWLVrYLqZIcXZvYQdQzJRwMAs7hGInPilfZr7KZU7sSi3sEIoVnyBNp85vDmGfFHYIIiIiWUycOJHx48dnaQsLCyM8PDxbX6vVSt26dXn99dcBqF27Njt27GDSpEn07dv3uo7n5OTEp59+mqWtX79+DB06lL///ptFixaxdetW3nrrLYYOHcr333+ftxO7TEpKCps2beLIkSMkJSXh5+dH7dq1s0znulF5+iT/559/MnHiRFxcXDh//ny27cHBwbbMloiIiIiIiIgUokL+fmT06NEMHz48S5uLi0uOfYOCgqhRo0aWturVq9uSKoGBgQBERUURFBRk6xMVFcXdd9+d45irVq1i586dTJ06lREjRtChQwfc3d3p0aMHn3zy377oWLduHR9++CE//PADaWlpeHl54ebmxtmzZ0lJSaFSpUoMHDiQQYMG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YrcMBoPNkzVgxbbeV6ZEbdy4kY0bN7Jt2zYuXLiAyWTCzc2Nli1b8swzz9CuXTubD1ZERERERERErpMKWm+K++67j6ioKFq1anXNdunp6Xz++ed4eHgQERFR5P6LnLAZNmwYGzduZO/eveTm5mIymfD396dTp060a9eOdu3acccdd2hrbxEREREREREp8x599FF69OiBt7c3Dz30EM2aNaNSpUq4uLhw7tw5Dhw4wMaNG1m5ciWdO3fm/fffv67+r2tb71q1apmTM+3ataNWrVpWvZSUDK1hY3taw8a2tIaN7WkNG9vTGja2pTVsbE9r2IiI3KgyuIZNRAmvYfN/ZXcNm8zMTBYsWMC8efPYuHEjaWlpQP40qXr16hEeHs5//vMf6tate919F7nCJjk5+abMyRIRERERERGRm0i/xbtpypUrR69evejVqxcAaWlpXL58GV9fX5ycnG6o7yInbJSsERERERERERG5Om9vb7y9vW3S13UvOiwiIiIiIiIipYdBM5BLJX3ZRERERERERETsjF0lbMaOHUvz5s3x9PTE39+fbt26ERcXZ9EmIyODiIgIfH198fDwoEePHiQnJ5uv7927l549exIcHIyrqyt169Zl4sSJV33mpk2bcHR0pHHjxv86vkWLFhEWFoavry8Gg4E9e/ZYXD979ixDhgwhNDQUV1dXQkJCeP75582LDl3Lvn37aN++PS4uLgQHBzN+/PgCbT7++GNz38HBwQwbNoyMjIx/7VtEREREREREShe7mhK1fv16IiIiaN68OTk5Obz22muEhYVx4MAB3N3dgfztxVesWMGCBQvw9vYmMjKS7t27s2nTJgB27tyJv78/M2fOJDg4mM2bNzNw4ECMRiORkZEWz0tNTaV379507NjRIulzNRcvXqRdu3Y89thjDBgwoMD1hIQEEhIS+OCDD6hXrx7Hjh1j0KBBJCQk8N1331213/PnzxMWFkanTp2YNGkSv/76K/3798fHx4eBAwcCMHv2bEaMGME333xDmzZt+OOPP+jbty8Gg4GPPvqoyDEuTvdNfJ3QLh3wqVaFSY27krz3dwAq1KxKt2/H4VaxPBlpF1jadwQpB/7812v/1KT/I7QdMQCDgwNHY7ay4rlo8nJyiu39Sprf/XdS652hGBwcMDgaOfL+15ycvgTv5g2p98kbOJRzxsGlHCemLuLI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dm1zUcuFCxdo0qRJgd21z549e919Fzlh06JFC5577jlMJhOff/459957L7Vr17ZoYzAYcHd3p2nTpnTv3v26ByMiIiIiIiIiUlpMnTr1pvVd5ITN/fffb56HdfHiRQYNGkTLli1v2sBEREREREREROxZnz59blrf172GzaVLl9i3bx+7d+++GeMREREREREREVtyKOFDrHLdoXNzc+PIkSPaBUpERERERERE5CaxKtd13333sXr1aluPRURERERERERszcFQsodYxaqEzZtvvskff/zB008/zcaNGzl58iRnz54tcIiIiIiIiIiIyPUr8qLDf1e/fn0ADhw4wOzZs6/aLjc317pRiYiIiIiIiIjcwqxK2Lz11ltaw0YEaN1USUlb8h5Vt6SHUPaE1ivpEZQ5hsDmJT2EssWrekmPQEREpOzTwr83XW5uLtOmTWPNmjWcOnWKvLw8i+sxMTHX3adVCZuoqChrbhMRERERERERKXNeeOEFpk2bRufOnWnQoIFNilysStiIiIiIiIiISCmhGTI33dy5c5k/fz4PPPCAzfq8oYTNpk2b2LVrF2lpaQXKfQwGA2+++eYNDU5ERERERERExN45OztTs2ZNm/ZpVcLm7NmzdO7cmV9++QWTyYTBYMBkMgGY/1sJGxERERERERG5FQwfPpyJEyfy2Wef2WzNX6sSNi+//DL79u1j9uzZtGzZkho1arB69WqqV6/OhAkT2LJlC6tWrbLJAEVERERERETkBmhG1E23ceNG1q5dy6pVq6hfvz5OTk4W1xctWnTdfVq1VvTKlSt59tlnefzxx/H09MzvyMGBmjVr8n//939Uq1aNoUOHWtO1iIiIiIiIiEip4uPjw8MPP8xdd91FxYoV8fb2tjisYVWFTWpqKvXr1wfAw8MDgAsXLpivh4WF8dprr1k1IBERERERERGxIS06fNNNnTrV5n1aVWFTqVIlkpKSAChXrhz+/v7s3bvXfP3kyZM2m7MlIiIiIiIiIlIapKSksHHjRjZu3EhKSsoN9WVVhc2dd97JTz/9xOuvvw7A448/zvjx4zEajeTl5fHxxx8THh5+QwMTERERERERESkNLl68yJAhQ5g+fbp5F22j0Ujv3r359NNPcXNzu+4+raqwefHFF+nSpQuZmZkAREVF0apVK958801GjRpF06ZN+eSTT6zpWkRERERERERsyVDCxy3gxRdfZP369Xz//fekpqaSmprK0qVLWb9+PcOHD7eqT6sqbBo2bEjDhg3Nn8uXL89///tfUlNTMRqN5oWIRURERERERETKuoULF/Ldd99x9913m8898MADuLq68thjj/HFF19cd59WVdiMHj2a2NjYAud9fHzw9PRk//79jB492pquRURERERERMSWDIaSPW4Bly5dIiAgoMB5f39/Ll26ZFWfViVsoqKi2Ldv31Wvx8bGEh0dbdWARERERERERERKk9atWzNq1CgyMjLM5y5fvkx0dDStW7e2qk+rpkT9m7Nnz+Ls7HwzuhYRERERERERsSsTJ04kPDycKlWqcPvttwOwd+9eXFxcWL16tVV9Fjlhs2HDBtatW2f+vGjRIv78888C7VJTU5k3b57FGjciIiIiIiIiUkKsmlsj16NBgwYcPHiQWbNm8fvvvwPQs2dPnnrqKVxdXa3qs8gJm7Vr15qnORkMBhYtWsSiRYsKbVuvXj0+/fRTqwYkIiIiIiIiIlLauLm5MWDAAJv1V+SEzSuvvEJkZCQmkwl/f38mTZpEjx49LNoYDAbc3NxwcXGx2QBFRERERERE5AbcIgv/Frdly5Zx//334+TkxLJly67ZtkuXLtfdf5ETNq6uruYyniNHjuDn54ebm9t1P1BEREREREREpLTr1q0bSUlJ+Pv7061bt6u2MxgM5ObmXnf/Vi06XLVqVYvPp0+fZtWqVSQmJhIaGspDDz2Eg4MmyYmIiIiIiIhI2ZSXl1fof9tKkbMqc+bMoWPHjpw+fdri/JYtW6hTpw59+/ZlxIgRdO/enbZt23Lx4kWbD1ZERERERERErpOhhI9bwPTp08nMzCxwPisri+nTp1vV53UlbLKzs6lYsaL5nMlk4umnnyYtLY233nqL77//nmeffZZt27Yxfvx4qwYkIiIiIiIiIlKa9OvXj7S0tALn09PT6devn1V9FnlK1N69e3n66actzm3evJnDhw8TGRnJqFGjAOjcuTMnTpxg0aJF5l2lRERERERERKSEaNHhm85kMmEoJM4nTpzA29vbqj6LnLA5deoU1atXtzj3448/YjAYePzxxy3O33vvvYwYMcKqAYmIiIiIiIiIlAZNmjTBYDBgMBjo2LEjjo5/pVlyc3M5cuQI9913n1V9Fzlh4+vry7lz5yzObdy4EScnJ5o2bWpx3t3dvdDMkoiIiIiIiIhIWXFld6g9e/YQHh6Oh4eH+ZqzszPVqlWjR48eVvVd5IRNo0aNmDt3LkOHDsXR0ZGTJ0+yadMm7rnnHlxcXCzaHjp0iEqVKlk1IBERERERERGxIdVT3DRXloepVq0ajz/+eIH8yI0o8qLDr732Grt37+aOO+7gP//5D23btiU7O5sXX3yxQNvvv/+e5s2bX/dgxo4dS/PmzfH09DTvYx4XF2fRJiMjg4iICHx9ffHw8KBHjx4kJyebr+/du5eePXsSHByMq6srdevWZeLEiVd95qZNm3B0dKRx48b/Or5FixYRFhaGr68vBoOBPXv2WFw/e/YsQ4YMITQ0FFdXV0JCQnj++ecLXXjon+/Ut29fGjZsiKOjY6H7t69bt85cZvX3Iykp6V/HLSIiIiIiIiI3T58+fXBxcSErK4sTJ04QHx9vcVijyBU27dq1Y+7cuURHRzN79myqVq3KV199xb333mvRLiYmhiNHjvDGG29c92DWr19PREQEzZs3Jycnh9dee42wsDAOHDiAu7s7AMOGDWPFihUsWLAAb29vIiMj6d69O5s2bQJg586d+Pv7M3PmTIKDg9m8eTMDBw7EaDQSGRlp8bzU1FR69+5Nx44dLZI+V3Px4kXatWvHY489xoABAwpcT0hIICEhgQ8++IB69epx7NgxBg0aREJCAt99991V+83NzcXV1ZXnn3+ehQsXXnMMcXFxeHl5mT/7+/v/67hLyn0TXye0Swd8qlVhUuOuJO/9HYAKNavS7dtxuFUsT0baBZb2HUHKgT//9do/Nen/CG1HDMDg4MDRmK2seC6avJycYns/u+DkjOuwkTi2ag9ZmeT+8TuX3hqOY9u7cBn8Yv7UREdHMqZPIXvF4kK7KNdnIM6du0N2FqasLC5/MJrc/fuK+UXsQ//JJzidnoODwYB7OQde7+ZHkI8T/b48YW5zOSuPE2ez2RR1Gz5uRov7T5zNJmzsEWoHlTOf+6R3ECEVnYvtHexJZlYuL47fzp/H03FxNuLrU45Rg2+naiUPnh75MwmnLuPpnv/XULcOIfTtVrPQftb+ksT4b2LJyzNRu5oXY4fegYebU3G+it3asPkPPp70E9nZubi6ODN6ZFfq1A66avsRUd+xeMVutse8gZenazGOtHQ4ejSRESMmce5cOh4ebowbN4hataoUaLdgwVqmTFlGXp6JVq3qM2pUP5ycivxPqluKYmpbiqftKaa2pXjaMS1ZctMdPHiQ/v37s3nzZovzVxYjzs3Nve4+DSaTyWSrAdpaSkoK/v7+rF+/njvvvJO0tDT8/PyYPXs2jzzyCAC///47devWZcuWLbRq1arQfiIiIvjtt9+IiYmxOP/EE09Qq1YtjEYjS5YsKVAxczVHjx6levXq7N69+18rcxYsWECvXr24ePGixeJDV9O3b19SU1NZsmSJxfl169Zxzz33cO7cOXx8fIo0zn+KNoRadZ+1Qto349zh4/TfOJu53SLMCZvea75l7/Ql7P12MXV7hNP21QF81eKRf732dz7VqtB/0xy+vONhLiaf5omlX3Bo9c9s/3x2sb7jC02v//90tuTy4usYjEYuvz8aAINvRUxnTuO1ZgcXnn2KvD/jcAiqjOd3P5J2bwu4dNHifmPturh/OInzj90Ply/hdH9Xyj3Rmwt9rJtjeaO8R9Utkedecf5yLl6u+UmYn35N57Mfz7B0eDWLNl+vO8v2Q5eZ9J/KBe4/cTabhz86xvZ3Ck88lIjQeiX26MysXLbuS+HOpgEYDAZmLj/M6k0nmTG2PU+P/Jk+XW6jU+trT5+9eDmHsIE/MePddtQI9mT0pL24OBt5pX+DYnqLggyB119BejOknb9MWPcPmfnlAGrdFsCO3UeJGreU5fNeKLT9jzH72bD5DxYs3WFfCRuv6v/eppj07v0O3bq1p3v3u/jhh21MmfI9Cxe+Y9Hm+PFT9OwZxeLF71KxojeDB39I+/aNeOqpsBIatX1TTG1L8bQ9xdS2yk48m/57k1Imb0rHEn2+w4A1Jfr84tC2bVscHR0ZMWIEQUFBBdb1vf3226+7zyJPiSoJV6YSVahQAcivnsnOzqZTp07mNnXq1CEkJIQtW7Zcs58rfVwxdepUDh8+bJ5vdrOkpaXh5eVVpGRNUTRu3JigoCDuvfdec1WRvYr/eQfpJy0rl9z8KlCpWQP2zVwGwG8LV+MdHEj520Kuee2f6j0STtyyGC4mnwZgx6Q5NOj54E1+Izvj4kq5Lo9y+fOPzKdMZ07/7z9MGDz/V4nl7oEp7RxkZRXowmQygaMjBtf8H9wMnl7kJd+60+yuJGsA0jPyCl08feEv53mkpXXb8t1qyjkbuatZoDmOt4eW5+SpS9fVx887k6lbw5sawZ4APPlAdVZsOPEvd90a4k+cwcfbjVq3BQDQrEk1EpLT2P/7yQJtT5+5wKRp6xgx7IHiHmapceZMGrGxR+jSpR0A4eEtSEo6w7Fjlt8TV6/eRocOTfHz88FgMNCzZ0eWL99cWJe3PMXUthRP21NMbUvxlFvdnj17+PLLL7n//vtp3Lgxt99+u8VhDbutO8vLy2Po0KG0bduWBg3yf5OalJSEs7NzgQqTgICAq67lsnnzZubNm8eKFSvM5w4ePMiIESP4+eefbZZIKczp06d5++23GThw4A33FRQUxKRJk2jWrBmZmZl89dVX3H333Wzbto077rjDBqMtHt7BQaQnpmD6WzlYWnwi3iGVyExLv+q1c4cs5/x5hwSRduyvH0pSj57EO+Tq0wDKIocqIZjOp+LSbzCOLdpAZgYZkz8hZ/sWLr32Au7v/x9cvozB05uLrzwHOdkF+sg7+DuZs6fitWwdprQ0TNlZXBjQswTexn68OieRbX9eBuDLZyyraHYdvcz5y7ncXdf9qvdfzsrjkY+PkWeCjvU9GNSpAkYHlaACzFh2iI4t//r/6YffHmDirN+pGezJi33qERxYMK4JKZeo5Odm/lzZ342Ucxnk5ObhaLTr3zncdNVCKpKadolde49xx+1VWbP+Ny5ezORkQir161j+2X1jzGJeHnIfHu7lrtKbJCaewc/PB0fH/MStwWAgKMiXhIQzVK0aaNGucuWK5s+VK/uRmHim2MdbGiimtqV42p5ialuKp527tf/ZVCzq1avH6dOnbdqn3SZsIiIiiI2NZePGjVb3ERsbS9euXRk1ahRhYfkldrm5uTz55JNER0dTu3btQu+bNWsWzz77rPnzqlWraN++/XU9+/z583Tu3Jl69eoRFRVlPl+/fn2OHTsGQPv27Vm1alWR+gsNDSU09K8pTW3atOHQoUNMmDCBGTNmFGifmZlJZmbmdY1ZSheD0RGHSlXIPXKQjM/exxhaD/f/m0b6Y/fj8p8ILr4cQe7u7RjrNcT9oy9Jf7xzfqXN3zhUqoLTPeGc79YR0+lTOD/2NO5jJ3LhmSdK6K1K3ns98xMKi7en8eGKFCY/89e864W/pNG1qReOxsITMP5eRta/WQNfT0dSL+Xy4oxEpq4/xzP3VCi0/a1k0vw4jiVeZFpEYwDGv9iUID83TCYTs1YcYdDoraz4vGRLdUsbTw8XJo57ko/+70cuXc6iccNgalb3x/iPRNaCJdupFOhN6+a3ldBIRURERMq+9957j1deeYV3332Xhg0b4uRkuebi39eiLSq7TNhERkayfPlyNmzYQJUqf/2wFBgYSFZWFqmpqRZVNsnJyQQGBlr0ceDAATp27MjAgQMtFkBOT09nx44d7N6927wIcV5eHiaTCUdHR3788Ue6dOlCy5YtzfdUrlxwrYprSU9P57777sPT05PFixdbfKFWrlxJdnZ+pYOr642tH9CiRYurJrTGjh1LdHS0xbkoCk9QFae044l4BvlhMBrNlTTeIUGkxSeQef7CVa8V6Cc+0WKqlE+1yqTFJxbPS9iJvKQETLm5ZK/Kn0KWG3eAvJMncH6gG4aK/uTu3p5//sCv5CUnYaxTj5xtltPonDqEk/tnHKbTpwDIWvYdbq+MAkenQitybiUPN/cmauEpzl3Mpby7kYuZeazam853L1S96j3Ojg74eub/sOzjZqR7Cy+W70rnmXuKa9T26etFB/lpSyJT326Dq0v+XztB/6uaMRgM9HqwBuO/ieXc+SzKe1ku0FzJz43Ne1LMn0+euoRfeZdbvrrmilbNatCqWQ0AsrJyaHvfWGrWsFyMfuuOI+zYfZR1G//adbFLz0/5/MNe1Au99hpCt5KgIF9SUlLJycnF0dGIyWQiMfEMlSr5FmgXH3/K/PnkyRSCgnz/2Z2gmNqa4ml7iqltKZ5yq7uydEvHjpa/hLyRRYft6l+8JpOJyMhIFi9eTExMDNWrWy5E2LRpU5ycnFiz5q8Fi+Li4oiPj6d169bmc/v37+eee+6hT58+jBkzxqIPLy8vfv31V/bs2WM+Bg0aRGhoKHv27KFly5Z4enpSs2ZN83E9iZXz588TFhaGs7Mzy5YtK7AHe9WqVc39Xm8i6J/27NlDUFDh04BGjhxJWlqaxWEPLqWcJXHXfhr16gJA3R7hnD+RzLlD8de89k8HFq4mtEsH3APyyymbDepJ7NwVBdqVZaa0c+Rs34Jj6/zqL4dKVXCoXIWs/67CoaIfDtXyf5vuUKUqDlVCyD16uEAfeSeP43h7U3DN/+HZqf095B47fEsma85fziU57a9dxv4bewEfdyM+bvnfJlftSadOUDlq+F99x6cz6Tlk5+av456Vk8dPv16gXuVbewrK1CV/smLDCb55uw1eHvmxy8nN4/S5DHOb1ZtOUtGnXIFkDUC7O/w5cCiVw8fTAZi98ggPtC+428St6tTp8+b//r+v19Kq2W1UDbb8R++H7zzG+hWvELPsZWKWvQzAsjlDlKz5B19fb+rXr8ayZfm/CFm9+hcCAipYlPFD/poMMTE7SUlJxWQyMWfOGjp3bl1Yl7c8xdS2FE/bU0xtS/G0cwZDyR63gLVr17J27VpiYmIsjivnrGHVLlEbNmygbt26+Pn5FXr99OnTHDhwgDvvvPO6+n3uueeYPXs2S5cutZj+4+3tbU6aDB48mJUrVzJt2jS8vLwYMmQIgHnrrNjYWDp06EB4eDjvv/++uQ+j0XjV8UZFRRVpl6izZ88SHx9PQkICnTt3Zu7cuYSGhhIYGEhgYKA5WXPp0iUWL15s3oocwM/PD6PReNW+Dxw4QFZWFm+99Rbp6elMmDABwLwL1ccff0z16tWpX78+GRkZfPXVV3z66af8+OOPBTJ4V1Pcu0Q9OCmaWp3vxiOwIpfOpJKVfpFPa4XhW7s6XaeNxc3Xh8zzF1nabySnYv8AuOa1h6a8Q9yyGP74Pv8P+x3PPErbEfnrAx1b9wvLB40q9m29S3qXKIfKwbi+ORYHn/KQl0fGV5+RHbMap/AHcek3GPLywMGBjKmTyF79PQAuz75A3ulTZC2ck/854iWc7rkXsrIwXb7M5fejyf19f4m8T0nuEnXybDZDZySQkW3CwQAVPBx55cGK1K2cn3R94tN4Hm3pTY8WlgsOf/LDafy9HHmijQ8//prOpz+cwcEBcvOgZU03Xn2oIs6OJZgbL8FdopJOX+bufqsJDnTD3TW/ssbZyci0MW15euRGsrLzcDBAeS9nRjzTkDrV82P7yczf8Pd14Yn785P2MdsSeX/qfnLzTNQK8WTcsKZ4upfctt72sksUwBvvLGbHnqPk5ubRuGEIb778IF6erkyc9F/8/Tzp2aNlgXtCm7+uXaKu4vDhBEaOnERq6gXc3V0ZO/ZZQkNDeP31yXTo0JSOHfN3DZk/P4bJk/OrG1u0qEd0dH9tR3sViqltKZ62p5jaVtmJZxncJeqbTv/e6CZy6P/fEn1+aWVVwsZoNDJjxgyefPLJQq/PmzePJ5988rpLfgrbkQXyd3Tq27cvABkZGQwfPpw5c+aQmZlJeHg4n3/+uXlKVFRUVIGpQJBf2XL06NFC+y9qwmbatGn069evwPlRo0YRFRVl3nq7MEeOHKFatWpX7btatWrmtW3+7sqXZ/z48UyePJmTJ0/i5uZGo0aNeOutt676vMIUd8LmVlDSCZuypqS39S6TSjBhU1bZU8KmTLCjhI2IiEi+MpiwmVrCCZt+t0bC5ueff+bLL7/k8OHDLFiwgMqVKzNjxgyqV69Ou3btrrs/qxI2Dg4OzJw586oJm+nTp/PMM8+QVcg2wlJylLCxPSVsbEsJm5tACRubU8LGxpSwERERu6OEja3dCgmbhQsX8vTTT/PUU08xY8YMDhw4QI0aNfjss89YuXIlK1euvO4+i1x3Fh8fb1Gh8vvvv7Nhw4YC7VJTU/nyyy+pWvXqC3OKiIiIiIiIiJQV77zzDpMmTaJ3797MnTvXfL5t27a88847VvVZ5ITN1KlTiY6OxmAwYDAYGDNmTIEFfSF/Co/RaOTLL7+0akAiIiIiIiIiYkO3yMK/JSkuLq7QdXy9vb1JTU21qs8iJ2wee+wxGjRogMlk4rHHHuP555+nffv2Fm0MBgPu7u40btyYgIAAqwYkIiIiIiIiIlKaBAYG8ueffxZYu3bjxo3UqFHDqj6LnLCpW7cudevWxWQyMWHCBMLDw6lTp45VDxURERERERGR4qECm5tvwIABvPDCC3zzzTcYDAYSEhLYsmULL730Em+++aZVfV733mlZWVkMHz6czMxMJWxERERERERE5JY3YsQI8vLy6NixI5cuXeLOO++kXLlyvPTSSwwZMsSqPq87YVOuXDkCAwMpV66cVQ8UERERERERESlLDAYDr7/+Oi+//DJ//vknFy5coF69enh4eFjdp4M1N/Xt25fp06dr224RERERERERe2cwlOxxC+jfvz/p6ek4OztTr149WrRogYeHBxcvXqR///5W9XndFTYADRs2ZMmSJdSvX5++fftSrVo1XF1dC7Tr3r27VYMSERERERERESktvv32W8aNG4enp6fF+cuXLzN9+nS++eab6+7TqoRNz549zf99tcVzDAYDubm51nQvIiIiIiIiIrZyaxS5lIjz589jMpkwmUykp6fj4uJivpabm8vKlSvx9/e3qm+rEjZr16616mEiIiIiIiIiImWFj48PBoMBg8FA7dq1C1w3GAxER0db1bdVCZu77rrLqoeJiIiIiIiIiJQVa9euxWQy0aFDBxYuXEiFChXM15ydnalatSqVKlWyqm+rEjZ/d+DAAY4dOwZA1apVqVev3o12KSIiIiIiIiK24qA5UTfLlYKWI0eOEBISgsGGiyxbtUsUwNKlS7ntttto2LAhDz74IA8++CANGzakZs2aLFu2zGYDFBERERERERGxZ1WrVmXjxo306tWLNm3acPLkSQBmzJjBxo0brerTqoTNypUr6dGjBwDvvvsuixcvZvHixbz77ruYTCa6d+/ODz/8YNWARERERERERMSGDCV83AIWLlxIeHg4rq6u7Nq1i8zMTADS0tJ49913rerTYDKZTNd7U+vWrcnMzOTnn3/G3d3d4trFixdp164dLi4ubNmyxapByc0RbQgt6SGUOS801U5otuQ9qm5JD6HsCdU0VVszBDYv6SGULV7VS3oEIiIi/9C0pAdgc6bZ4SX6fMOTq0v0+cWhSZMmDBs2jN69e+Pp6cnevXupUaMGu3fv5v777ycpKem6+7Sqwmbfvn306dOnQLIGwN3dnb59+7Jv3z5ruhYRERERERERKVXi4uK48847C5z39vYmNTXVqj6tSti4uLhw9uzZq14/e/asxd7jIiIiIiIiIlJCDIaSPW4BgYGB/PnnnwXOb9y4kRo1aljVp1UJmw4dOjBx4sRCpzxt27aNTz75hE6dOlk1IBERERERERGR0mTAgAG88MILbNu2DYPBQEJCArNmzeKll15i8ODBVvVp1bbe48ePp3Xr1rRr144WLVoQGpq/NkpcXBy//PIL/v7+vPfee1YNSERERERERERs6NYocilRI0aMIC8vj44dO3Lp0iXuvPNOypUrx0svvcSQIUOs6tOqCpvq1auzb98+nn/+ec6dO8e8efOYN28e586d44UXXmDv3r1Uq1bNqgGJiIiIiIiIiJQmBoOB119/nbNnzxIbG8vWrVtJSUnh7bff5vLly1b1aVWFDYC/vz8TJkxgwoQJ1nYhIiIiIiIiIlJmODs7U69e/k6tmZmZfPTRR4wfP774dokSERERERERkVJCiw7fNJmZmYwcOZJmzZrRpk0blixZAsDUqVOpXr06EyZMYNiwYVb1bXWFzW+//cbUqVM5fPgw586dw2QyWVw3GAysWbPG2u5FREREREREROzaW2+9xZdffkmnTp3YvHkzjz76KP369WPr1q189NFHPProoxiNRqv6tqrCZsaMGTRs2JBP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PAIrculMKlnpF/m0Vhi+tavTddpY3Hx9yDx/kaX9RnIqNn/L6Wtde2jKO8Qti+GP7/N3+7rjmUdpOyI/uXVs3S8sHzSq2Lf1LtFdovwq4/D8R/nljQYDpJwgb+Z4OJ2Aof9bGGrfAUZj/pSoGePMOz8Zuj8H51IwrV1QoEvj9L237i5R3kEYuryTX0kDkJaAae0ncD4JygdjuO81cPGGrIuYVo+F0/kVS4awVzEd2giHNuXf1/Ch/G29AY7vxvTfD0p0W++S3CUq6fRl7u63muBAN9xd8ytrnJ2MTBvTlqdHbiQrOw8HA5T3cmbEMw2pU90bgE9m/oa/rwtP3J+ftI/Zlsj7U/eTm2eiVogn44Y1xdO95Lb1tqddog4fTmDkyEmkpl7A3d2VsWOfJTQ0hNdfn0yHDk3p2DF/l4v582OYPDm/Aq9Fi3pER/fX9qmFUDxtTzG1LcXT9hRT2yo78SyDu0T99/ESfb6h07wSfX5pZVcJG8NVMm9Tp06lb9++AGRkZDB8+HDmzJlDZmYm4eHhfP755+YpUVFRUQWmAkF+ZcvRo0cL7b+oCZtp06YVuhDwqFGjiIqKYt26ddxzzz2F3nvkyBGqVatW6LW+ffvy7bffFjh/1113sW7dOgCqVatmXvumsGcXRXEnbG4FJb2td1lT0tt6l0UlmbApq+wpYSMiIiI3gxI2tqaEjXXsKmEjN5cSNranhI1tKWFje0rY2J4SNiIiImVdGUzYxDxRos83dJhbos8vrexqDRsREREREREREbHTXaJERERERERExEa0rXeppK+aiIiIiIiIiIidUcJGRERERERERMTOaEqUiIiIiIiISFl2lR2Zxb6pwkZERERERERExM6owkZERERERESkLFOFTamkChsRERERERERETujhI2IiIiIiIiIiJ3RlCgRERERERGRssygWo3SSF81ERERERERERE7owobERERERERkbLMQYsOl0aqsBERERERERERsTNK2IiIiIiIiIiI2BlNiRIREREREREpywyaElUaqcJGRERERERERMTOKGEjIiIiIiIiImJnNCVKREREREREpCwzqFajNNJXTURERERERETEzqjCRkRERERERKQs06LDpZIqbERERERERERE7IwSNiIiIiIiIiIidkZTokRERERERETKMgdNiSqNVGEjIiIiIiIiImJnVGEjIiIiIiIiUpZpW+9SSV81ERERERERERE7o4SNiIiIiIiIiIid0ZQokRtwPvZCSQ+hTCk//ZuSHoKIiIiISNlj0KLDpZEqbERERERERERE7IwqbERERERERETKMlXYlEqqsBERERERERERsTNK2IiIiIiIiIiI2BlNiRIREREREREpyzQlqlRShY2IiIiIiIiIiJ1RhY2IiIiIiIhIWeagWo3SSF81ERERERERERE7o4SNiIiIiIiIiIid0ZQoERERERERkbJMiw6XSqqwERERERERERGxM6qwERERERERESnLVGFTKqnCRkRERERERETEzihhIyIiIiIiIiJiZzQlSkRERERERKQsM6hWozTSV01ERERERERExM6owkZERERERESkLHPQosOlkSpsRERERERERETsjBI2IiIiIiIiIiJ2RlOiRERERERERMoyg6ZElUaqsBERERERERERsTOqsBEREREREREpy7Std6mkr5qIiIiIiIiIiJ1RwkZERERERERExM5oSpSIiIiIiIhIWaZFh0slVdiIiIiIiIiIiNgZu0rYjB07lubNm+Pp6Ym/vz/dunUjLi7Ook1GRgYRERH4+vri4eFBjx49SE5ONl/fu3cvPXv2JDg4GFdXV+rWrcvEiROv+sxNmzbh6OhI48aN/3V8ixYtIiwsDF9fXwwGA3v27LG4fvbsWYYMGUJoaCiurq6EhITw/PPPk5aWds1+161bR9euXQkKCsLd3Z3GjRsza9YsizbZ2dmMHj2a2267DRcXF26//XZ++OGHfx2ziIiIiIiIiJQ+djUlav369URERNC8eXNycnJ47bXXCAsL48CBA7i7uwMwbNgwVqxYwYIFC/D29iYyMpLu3buzadMmAHbu3Im/vz8zZ84kODiYzZs3M3DgQIxGI5GRkRbPS01NpXfv3nTs2NEi6XM1Fy9epF27djz22GMMGDCgwPWEhAQSEhL44IMPqFevHseOHWPQoEEkJCTw3XffXbXfzZs306hRI1599VUCAgJYvnw5vXv3xtvbmwcffBCAN954g5kzZzJlyhTq1KnD6tWrefjhh9m8eTNNmjQpcoyL030TXye0Swd8qlVhUuOuJO/9HYAKNavS7dtxuFUsT0baBZb2HUHKgT//9do/Nen/CG1HDMDg4MDRmK2seC6avJycYns/u+DkjOuLI3FqfSdkZpJz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d2mkChsRERERERERETujhI2IiIiIiIiIiJ3RlCgRERERERGRssygKVGlkSpsRERERERERETsjCpsRERERERERMoybetdKumrJiIiIiIiIiJiZ5SwERERERERERGxM5oSJSIiIiIiIlKmadHh0kgVNiIiIiIiIiIidkYVNiIiIiIiIiJlmbb1LpVUYSMiIiIiIiIiYmeUsBERERERERERsTOaEiUiIiIiIiJSpqlWozTSV01ERERERERExM6owkZERERERESkLNOiw6WSKmxEREREREREROyMEjYiIiIiIiIiInZGU6JEREREREREyjJNiSqVVGEjIiIiIiIiImJnlLARERERERERKdMMJXwU3dixY2nevDmenp74+/vTrVs34uLiLNpkZGQQERGBr68vHh4e9OjRg+TkZPP1s2fP8tBDD+Hh4UGTJk3YvXu3xf0RERF8+OGH1zWukqCEjYiIiIiIiIjYhfXr1xMREcHWrVv56aefyM7OJiwsjIsXL5rbDBs2jO+//54FCxawfv16EhIS6N69u/n6mDFjSE9PZ9euXdx9990MGDDAfG3r1q1s27aNoUOHFudrWUVr2IiIiIiIiIiIXfjhhx8sPk+bNg1/f3927tzJnXfeSVpaGl9//TWzZ8+mQ4cOAEydOpW6deuydetWWrVqxW+//cYTTzxB7dq1GThwIJMnTwYgOzubQYMG8dVXX2E0Gov93a6XKmxEREREREREyjKDQ8keNyAtLQ2AChUqALBz506ys7Pp1KmTuU2dOnUICQlhy5YtANx+++3ExMSQk5PD6tWradSoEQDjx4/n7rvvplmzZjc0puKihI2IiIiIiIiI3DSZmZmcP3/e4sjMzPzX+/Ly8hg6dCht27alQYMGACQlJeHs7IyPj49F24CAAJKSkgAYMWIEjo6O3HbbbSxevJivv/6agwcP8u233/Lmm28yaNAgatSowWOPPWZOCNkjTYkSuQE+w24r6SGIiIiIiIhcWwlv6z127Fiio6Mtzo0aNYqoqKhr3hcREUFsbCwbN268rud5e3sze/Zsi3MdOnTg/fffZ9asWRw+fJi4uDgGDBjA6NGj7XYBYlXYiIiIiIiIiMhNM3LkSNLS0iyOkSNHXvOeyMhIli9fztq1a6lSpYr5fGBgIFlZWaSmplq0T05OJjAwsNC+pk6dio+PD127dmXdunV0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r9r3vn37iIiIYPv27VSsWJEhQ4bw6quvmq8PGzaMRYsWkZSURPny5WnatCnvvPMOTZo0ueaY/664Eza3AntJ2JQV9pawEREREZFbkRI2NqeEjVXsKmEjN5cSNranhI1tKWEjIiIiIiWvLCZsvirZ5/s9U7LPL6W0WIWIiIiIiIiIiJ2xp4mCIiIiIiIiImJrWvi3VFKFjYiIiIiIiIiInVHCRkRERERERETEzmhKlIiIiIiIiEhZpilRpZIqbERERERERERE7IwqbERERERERETKNNVqlEb6qomIiIiIiIiI2BklbERERERERERE7IymRImIiIiIiIiUZVp0uFRShY2IiIiIiIiIiJ1RwkZERERERERExM5oSpSIiIiIiIhImaYpUaWRKmxEREREREREROyMKmxEREREREREyjKDajVKI33VRERERERERETsjBI2IiIiIiIiIiJ2RlOiRERERERERMoygxYdLo1UYSMiIiIiIiIiYmdUYSMiIiIiIiJSpqnCpjRShY2IiIiIiIiIiJ1RwkZERERERERExM5oSpSIiIiIiIhIWWZQrUZppK+aiIiIiIiIiIidUYWNiIiIiIiISJmmRYdLI1XYiIiIiIiIiIjYGSVsRERERERERETsjKZEiYiIiIiIiJRlBk2JKo2UsBG5AYanx5b0EERERERERKQMUsJGREREREREpEzTaiilkb5qIiIiIiIiIiJ2RgkbERERERERERE7oylRIiIiIiIiImWZFh0ulVRhIyIiIiIiIiJiZ1RhIyIiIiIiIlKWGVSrURrpqyYiIiIiIiIiYmeUsBERERERERERsTOaEiUiIiIiIiJSpmnR4dJIFTYiIiIiIiIiInZGFTYiIiIiIiIiZZm29S6VVGEjIiIiIiIiImJnlLAREREREREREbEzmhIlIiIiIiIiUqapVqM00ldNRERERERERMTOqMJGREREREREpCzTosOlkipsRERERERERETsjBI2IiIiIiIiIiJ2RlOiRERERERERMo01WqURvqqiYiIiIiIiIjYGVXYiIiIiIiIiJRlWnS4VFKFjYiIiIiIiIiInVHCRkRERERERETEzmhKlIiIiIiIiEhZpilRpZIqbERERERERERE7IxdJWzGjh1L8+bN8fT0xN/fn27duhEXF2fRJiMjg4iICHx9ffHw8KBHjx4kJyebr+/du5eePXsSHByMq6srdevWZeLEiRZ9rFu3DoPBUOBISkq65vhMJhNvvfUWQUFBuLq60qlTJw4ePGjRZsyYMbRp0wY3Nzd8fHyK9N4ZGRn07duXhg0b4ujoSLdu3Qq0WbRoEffeey9+fn54eXnRunVrVq9eXaT+RURERERERKR0saspUevXryciIoLmzZuTk5PDa6+9RlhYGAcOHMDd3R2AYcOGsWLFChYsWIC3tzeRkZF0796dTZs2AbBz5078/f2ZOXMmwcHBbN68mYEDB2I0GomMjLR4XlxcHF5eXubP/v7+1xzf+PHj+eSTT/j222+pXr06b775JuHh4Rw4cAAXFxcAsrKyePTRR2ndujVff/11kd47NzcXV1dXnn/+eRYuXFhomw0bNnDvvffy7rvv4uPjw9SpU3nooYfYtm0bTZo0KdJzitt9E18ntEsHfKpVYVLjriTv/R2ACjWr0u3bcbhVLE9G2gWW9h1ByoE///XaPzXp/whtRwzA4ODA0ZitrHgumrycnGJ7P3tz9GgiI0ZM4ty5dDw83Bg3bhC1alUp0G7BgrVMmbKMvDwTrVrVZ9Sofjg52dW3AruhmNqW4ml7iqltKZ62p5jaluJpe4qpbSme9syuajWkiOzqq/bDDz/Qt29f6tevz+233860adOIj49n586dAKSlpfH111/z0Ucf0aFDB5o2bcrUqVPZvHkzW7duBaB///5MnDiRu+66ixo1atCrVy/69evHokWLCjzP39+fwMBA8+HgcPVwmEwmPv74Y9544w26du1Ko0aNmD59OgkJCSxZssTcLjo6mmHDhtGwYcMiv7e7uztffPEFAwYMIDAwsNA2H3/8Ma+88grNmzenVq1avPvuu9SqVYvvv/++yM8pbge+W8037Z4k9egJi/MPfjmanZPn81nofWx6bwpdp40r0rW/86lWhXvefoGp7Z/i05r34h5QkaYDH7up72Pv3nrrax57rAOrV3/EgAEPMWLEpAJtjh8/xcSJC5g1axQ//TSB06fTmD8/pgRGWzoopraleNqeYmpbiqftKaa2pXjanmJqW4qniG3ZVcLmn9LS0gCoUKECkF89k52dTadOncxt6tSpQ0hICFu2bLlmP1f6+LvGjRsTFBTEvffea67QuZojR46QlJRk8Wxvb29atmx5zWffLHl5eaSnpxf6XvYi/ucdpJ9Mtjjn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IiKqyFQcYWOMOMKGiIiIiIiIiMjAsGFDRERERERERGRgeEgUERERERERUUWm4lgNY8TfGhERERERERGRgeEIGyIiIiIiIqIKjZMOGyOOsCEiIiIiIiIiMjBs2BARERERERERGRgeEkVERERERERUkal4SJQx4ggbIiIiIiIiIiIDwxE2RERERERERBUax2oYI/7WiIiIiIiIiIgMDBs2REREREREREQGhodEEREREREREVVknHTYKHGEDRERERERERGRgeEIGyIiIiIiIqIKjWM1jBF/a0RERERERERkMBYtWoSGDRvCwsIC7u7u+O2335R148aNQ61atVC/fn2sWbNG5+c2btyInj17lne5ZYYjbIiIiIiIiIjIIPzwww8YN24clixZAnd3d0RFRcHf3x8XL15EQkIC1q5di507dyIxMRHvv/8+/P39YWtri4yMDEycOBGxsbH6fgjSqIQQQt9FUPmIUDXVdwkVTrhYq+8SiIiIiIhIKld9F1AGjur5/oueqbu7O9q3b4+FCxcCADQaDerXr4/Q0FCo1WocO3YM69evBwDUrVsXv/zyC9q3b4/hw4fDxcUFY8eOLZNHoA88JIqIiIiIiIiIykxeXh4yMzN1vvLy8gpt9+jRIxw9ehS+vr7KMrVaDV9fXxw6dAitWrXCkSNHkJaWhqNHjyInJweNGzdGfHw8jh07hlGjRpXnwyp7gsjA5ObmivDwcJGbm6vvUioE5ikfM5WLecrHTOVinvIxU7mYp3zMVC7mSeHh4QKAzld4eHih7ZKTkwUAcfDgQZ3l48ePF25ubsptOTk5iebNm4sff/xR5OXliebNm4sjR46IBQsWCGdnZ+Hh4SHOnDlTHg+tTPGQKDI4mZmZsLGxQUZGBqytrfVdjtFjnvIxU7mYp3zMVC7mKR8zlYt5ysdM5WKelJeXV2hEjbm5OczNzXWW3bp1C6+++ioOHjyIDh06KMsnTJiAffv2ISEhodBtR0REID09HUOGDIGfnx9Onz6NX375BQsXLsTRo/o+FKx0OOkwEREREREREZWZ5zVnnsfW1hYmJiZISUnRWZ6SkgJ7e/tC21+4cAHff/89jh8/ju+++w6dOnWCnZ0d+vXrh/fffx8PHjyAlZWVtMdR3jiHDRERERERERHpXZUqVeDq6ordu3cryzQaDXbv3q0z4gYAhBAYPnw45s6d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IiIqHjZsiIio0vPy8kJcXJxyCNTTPD09MWfOHFhZWaFVq1Y66z777DM4OzsjMjJSGVFSv359+Pn5oVevXsp2nTt3xqFDhzB16lQsXLgQDx8+hL29Pdzd3Z87R42WmZkZ/ve//yEwMBBvv/02YmNj0apVK/j7+2Pr1q1ITk5G1apV0apVK0RHRytnE3qeGjVq4JtvvsG2bduwfPly3L59GyYmJmjatClmzZqFUaNGlSS651q+fDlatmyJ//73vxg/fjxsbGzQrl07ndFLRc2urBU1z7lz52LYsGH44osvkJOTg+DgYOkNGwBYu3YtQkNDsWjRIggh4Ofnh+joaDg4OOhs17JlS8TExGDcuHGYPHky6tWrh4iICPz55586DRvAcLImIiKi4lGJZ8fHEhERERERERGRXnEOGyIiIiIiIiIiA8OGDRERERERERGRgWHDhoiIiIiIiIjIwLBhQ0RERERERERkYNiwISIiIiIiIiIyMGzYEBEREREREREZGDZsiIiIiIiIiIgMDBs2REREREREREQGhg0bIiIiIiIiIiIDw4YNEREREREREZGBYcOGiIiIiIiIiMjAsGFDRERERERERGRg2LAhIiIiIiIiIjIw/w+aBIosYOumjAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plot_cohort_retention_heatmap(cohort_retention)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "hf_dashboards", + "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.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}