Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Dexterp37/9bea37f536d5b25651aecc8b22d2dfb6 to your computer and use it in GitHub Desktop.
Save Dexterp37/9bea37f536d5b25651aecc8b22d2dfb6 to your computer and use it in GitHub Desktop.
Bug 1276200 - Validate engagement measurements
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Bug 1276200 - Validate engagement measurements"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/hadoop/anaconda2/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.\n",
" warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Unable to parse whitelist (/home/hadoop/anaconda2/lib/python2.7/site-packages/moztelemetry/histogram-whitelists.json). Assuming all histograms are acceptable.\n",
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"source": [
"import ujson as json\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import numpy as np\n",
"import plotly.plotly as py\n",
"import datetime as dt\n",
"from uuid import UUID\n",
"\n",
"from moztelemetry import get_pings, get_pings_properties, get_one_ping_per_client, get_clients_history\n",
"\n",
"%pylab inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We get two chunks of pings:\n",
" * broke_uri_pings: after the engagement measurement land (in bug 1271313) up to bug 1293222 which fixes the broken URI counts\n",
" * latest_pings: after bug 1293222 lands"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The 'schema' parameter is deprecated. Version 4 is now the only schema supported.\n",
"The 'schema' parameter is deprecated. Version 4 is now the only schema supported.\n"
]
}
],
"source": [
"def dedupe(pings):\n",
" return pings.map(lambda p: (p[\"meta/documentId\"], p))\\\n",
" .reduceByKey(lambda a, b: a)\\\n",
" .values()\n",
"\n",
"def filter(pings):\n",
" subset = get_pings_properties(pings, [\"meta/clientId\",\n",
" \"meta/documentId\",\n",
" \"meta/submissionDate\",\n",
" \"environment/profile/creationDate\",\n",
" \"environment/profile/resetDate\",\n",
" \"environment/build\",\n",
" \"environment/partner\",\n",
" \"environment/system\",\n",
" \"payload/info/reason\",\n",
" \"payload/info/sessionId\",\n",
" \"payload/info/subsessionLength\",\n",
" \"payload/info/sessionLength\",\n",
" \"payload/info/profileSubsessionCounter\",\n",
" \"payload/processes/parent/scalars\"])\n",
" return dedupe(subset)\n",
"\n",
"broken_uri_pings = filter(get_pings(sc,\n",
" app=\"Firefox\",\n",
" channel=\"nightly\",\n",
" doc_type=\"main\",\n",
" schema=\"v4\",\n",
" submission_date=(\"20160808\", \"20160815\"), # Only one week of submissions.\n",
" build_id=(\"20160722000000\", \"20160815000000\"), # Up to bug 1293222\n",
" fraction=1.0))\n",
"\n",
"latest_pings = filter(get_pings(sc,\n",
" app=\"Firefox\",\n",
" channel=\"nightly\",\n",
" doc_type=\"main\",\n",
" schema=\"v4\",\n",
" submission_date=(\"20160815\", \"20160822\"),\n",
" build_id=(\"20160815000000\", \"20160822000000\"), # Post bug 1293222\n",
" fraction=1.0))\n",
"\n",
"all_pings = broken_uri_pings + latest_pings"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Make sure each ping has a scalar section and the contained engagament measurements scalar have the right formats."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"defaultdict(int,\n",
" {'': 2817510,\n",
" 'browser.engagement.max_concurrent_tab_count not reported': 9272,\n",
" 'browser.engagement.max_concurrent_window_count not reported': 30,\n",
" 'scalars section is None': 50})"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def engagement_measurements_check(p):\n",
" known_engagement_scalars = {\n",
" \"browser.engagement.max_concurrent_tab_count\": int,\n",
" \"browser.engagement.max_concurrent_window_count\": int,\n",
" \"browser.engagement.tab_open_event_count\": int,\n",
" \"browser.engagement.total_uri_count\": int,\n",
" \"browser.engagement.unique_domains_count\": int,\n",
" \"browser.engagement.window_open_event_count\": int,\n",
" }\n",
" \n",
" # We know these scalars must be there for the referenced timeframe.\n",
" expected_scalars = [\n",
" \"browser.engagement.max_concurrent_tab_count\",\n",
" \"browser.engagement.max_concurrent_window_count\"\n",
" ]\n",
" \n",
" scalars = p[\"payload/processes/parent/scalars\"]\n",
" \n",
" if scalars is None:\n",
" return (\"scalars section is None\", p)\n",
"\n",
" # We don't expect all the engagement measurements to be there but,\n",
" # if they are, make sure they have the correct format.\n",
" for k, v in known_engagement_scalars.iteritems():\n",
" if k in scalars:\n",
" if type(scalars[k]) != v:\n",
" return (\"wrong type: \" + k, p)\n",
" if scalars[k] < 0:\n",
" return (\"check failed: \" + k + \" < 1\", p)\n",
" \n",
" # We're not expecting other scalars from these builds.\n",
" for k in scalars:\n",
" if k not in known_engagement_scalars:\n",
" return (\"unexpected scalar: \" + k, p)\n",
" \n",
" for s in expected_scalars:\n",
" if s not in scalars:\n",
" return (\"{} not reported\".format(s), p)\n",
" \n",
" return (\"\", p)\n",
"\n",
"checked_pings = all_pings.map(engagement_measurements_check)\n",
"result_counts = checked_pings.countByKey()\n",
"result_counts"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Let's dig into the pings with missing engagement measurements."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"defaultdict(int,\n",
" {'': 555501,\n",
" 'browser.engagement.max_concurrent_tab_count not reported': 1728,\n",
" 'browser.engagement.max_concurrent_window_count not reported': 4,\n",
" 'scalars section is None': 1})"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"latest_pings.map(engagement_measurements_check).countByKey()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"missing_eng = latest_pings.filter(lambda p: (p[\"payload/processes/parent/scalars\"] != None) and\\\n",
" (len(p[\"payload/processes/parent/scalars\"].keys()) == 0))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many clients are sending an empy scalars section?"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"702"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(missing_eng.map(lambda p: p[\"meta/clientId\"]).distinct().collect())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's check the distribution of the subsession lengths."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 1720.000000\n",
"mean 2230.333140\n",
"std 11249.685988\n",
"min 0.000000\n",
"50% 26.000000\n",
"75% 290.250000\n",
"95% 6903.250000\n",
"99% 54194.280000\n",
"99.5% 80202.715000\n",
"max 257913.000000\n",
"dtype: float64"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2940bf0210>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"missing_ssl = missing_eng.map(lambda p: p[\"payload/info/subsessionLength\"]).collect()\n",
"plot_series(pd.Series(missing_ssl), 30, 0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Helper functions for plotting and analysing."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def plot_series(series, graph_bins=100, graph_min=0.1):\n",
" # Plot to an histogram.\n",
" fig, ax = plt.subplots()\n",
" series.hist(ax=ax, bins=graph_bins, bottom=graph_min)\n",
" ax.set_yscale('log')\n",
" # Return some descriptive statistics.\n",
" return series.describe(percentiles=[.5, .75, .95, .99, .995])\n",
"\n",
"def plot_histogram_scalar(pings, scalar_name):\n",
" scalar_values = pings.filter(lambda p: p[\"payload/processes/parent/scalars\"] and p[\"payload/processes/parent/scalars\"].get(scalar_name, False))\\\n",
" .map(lambda p: p[\"payload/processes/parent/scalars\"][scalar_name])\n",
" scalar_series = pd.Series(scalar_values.collect())\n",
" return plot_series(scalar_series)\n",
"\n",
"def values_per_day(pings, scalar):\n",
" # Each entry in the |daily_per_user| RDD is like:\n",
" # ((\"date\", \"clientId\"), [ ... scalar values for the client, date ... ])\n",
" daily_per_user = pings.filter(lambda p: p[\"payload/processes/parent/scalars\"] and \\\n",
" p[\"payload/processes/parent/scalars\"].get(scalar, False))\\\n",
" .map(lambda p: ((p[\"meta/submissionDate\"], p[\"meta/clientId\"]), [ p[\"payload/processes/parent/scalars\"].get(scalar) ]))\\\n",
" .reduceByKey(lambda a,b: a + b)\n",
" return daily_per_user\n",
"\n",
"def pct(a, b):\n",
" return round(float(a) / b, 3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Maximum Concurrent Tab Count"
]
},
{
"cell_type": "code",
"execution_count": 123,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 1.400329e+06\n",
"mean 1.792369e+01\n",
"std 7.510422e+01\n",
"min 1.000000e+00\n",
"50% 3.000000e+00\n",
"75% 8.000000e+00\n",
"95% 6.700000e+01\n",
"99% 2.970000e+02\n",
"99.5% 4.570000e+02\n",
"max 3.159000e+03\n",
"dtype: float64"
]
},
"execution_count": 123,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e5ee130d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_histogram_scalar(all_pings, \"browser.engagement.max_concurrent_tab_count\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What's the maximum number of concurrent tabs each user has, per day?"
]
},
{
"cell_type": "code",
"execution_count": 124,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 335413.000000\n",
"mean 20.150313\n",
"std 85.240617\n",
"min 1.000000\n",
"50% 5.000000\n",
"75% 12.000000\n",
"95% 62.000000\n",
"99% 317.000000\n",
"99.5% 512.000000\n",
"max 3159.000000\n",
"dtype: float64"
]
},
"execution_count": 124,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f817c5fea50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"daily_max_tabs_per_user = values_per_day(all_pings, \"browser.engagement.max_concurrent_tab_count\")\\\n",
" .map(lambda x: np.max(x[1]))\n",
"plot_series(pd.Series(daily_max_tabs_per_user.collect()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Maximum Concurrent Window Count"
]
},
{
"cell_type": "code",
"execution_count": 125,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 1.400315e+06\n",
"mean 1.366290e+00\n",
"std 1.286716e+00\n",
"min 1.000000e+00\n",
"50% 1.000000e+00\n",
"75% 1.000000e+00\n",
"95% 3.000000e+00\n",
"99% 5.000000e+00\n",
"99.5% 8.000000e+00\n",
"max 1.450000e+02\n",
"dtype: float64"
]
},
"execution_count": 125,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nhQP4sQKvwwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f817c641410>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_histogram_scalar(all_pings, \"browser.engagement.max_concurrent_window_count\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What's the maximum number of concurrent windows each user has, per day?"
]
},
{
"cell_type": "code",
"execution_count": 126,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 335413.000000\n",
"mean 1.796054\n",
"std 1.826559\n",
"min 1.000000\n",
"50% 1.000000\n",
"75% 2.000000\n",
"95% 4.000000\n",
"99% 8.000000\n",
"99.5% 11.000000\n",
"max 145.000000\n",
"dtype: float64"
]
},
"execution_count": 126,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAECCAYAAAD3vwBsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAG/lJREFUeJzt3X+MnMd93/H3h5IoyQ5syy5MNmJ155SV2QpWHRdgDKeN\nF7EbsrFjtlZQU66CiImhyqmlImkbOWkBSu0ftfvDsRulTlKzpKtEZuQkqikkagUjfBSoAlEGzpWK\nQlksbFKkDFJwTSdtY7Bn+ts/9lndcnXkPbvP7D4zt58XcMA+s3vPfu65H3Mz88yMIgIzM5s/G7oO\nYGZm3XAFYGY2p1wBmJnNKVcAZmZzyhWAmdmccgVgZjanXAGYmc0pVwBmZnPq6mm/gSQB/wJ4DXA0\nIh6a9nuamdnaZtEC2AVsAf4fcGYG72dmZg2MXQFI2ifpnKRjI+U7JT0n6XlJ9w099Wbgv0XEPwZ+\nqmVeMzNLZJIWwH5gx3CBpA3Ag3X5LcDtkrbVT58BztePL06Y08zMEhu7AoiIp1j5gz6wHTgREaci\nYhk4SL/rB+C3gZ2SPgU82SasmZmlk2oQ+Ebg9NDxGfqVAhHxLeBDV/pkSV6S1MxsAhGhST83m9tA\n9+7dy+HDh4mIbD/27t3beYb1kNE5nTP3j9xzHj58mL1797b+u5uqBfAicNPQ8Za6rLH7778/UZTp\nOXnyZNcR1lRCRnDO1Jwzrdxz9no9er0eDzzwQKvzTNoCUP0xcBTYKmlB0kZgN3BonBPef//9VFU1\nYRwzs/lRVVWaf5rHbXoADwNfAy4ALwB76vK/BXwZOAF8dMxzRgkOHz7cdYQ1lZAxwjlTc860SslZ\n/+2cuCtJ/XN0S1Ls3bv35WaNmZldXlVVVFXFAw88QKyHQeD7778/+z/+JXRRlZARnDM150wr95y9\nXi9JF1BWFUDuF93MLAepxgCy6QLKIYeZWUkkrZ8uILcAzMzWlqoFkFUF4DGA9krICM6ZmnOmlXvO\ndTcGYGZms5XNGIBvAzUzaybVbaDZVAA55DAzK8m6GQQuQe79glBGRnDO1JwzrVJytuUKwMxsTmXT\nBfSRj3yEixcvsnXrViSxZ88eXve613UdzcwsO+tuDOD223+SRx45xYYNb0H6Ip/61E9x9913dx3N\nzCxb62YMIAIuXvwAy8uf4Kqr3tF1nFWV0C9YQkZwztScM61ScraVTQVgZmazlU0X0O7dP8nBg28H\nPsT119/NJz7xVncBmZldwbrpAjIzs9nKpgJ45pkv0d9QLF8l9AuWkBGcMzXnTCv3nOtuMbi3vOVt\nwJu7jmFmlr1Ui8F5DMDMrFAeAzAzs4lMvQKQ9E5Jvy/p05J+YNrvN0259wtCGRnBOVNzzrRKydnW\nLFoAAfxv4FrgzAzez8zMGhi7ApC0T9I5ScdGyndKek7S85LuG5RHxO9HxHuAjwL/vH3k7pSwV0EJ\nGcE5U3POtErJ2dYkLYD9wI7hAkkbgAfr8luA2yVtG/m8bwIbJwlpZmbpjV0BRMRTwPmR4u3AiYg4\nFRHLwEFgF4CkvyPpl4HP0q8kilVCv2AJGcE5U3POtErJ2dbVic5zI3B66PgM/UqBiHgUeHStExw5\n8iTwEnCG5eVjPP/8q15+bvDNGDTLujrOLU/Jx0tLS1nlKf3Y13M+rmdVVRw4cACAxcVF2ppoHoCk\nBeCxiLi1Pr4N2BERd9XHdwDbI+LehufzPAAzszG1nQeQqgXwInDT0PGWuqyx/lIQNySKY2a2flX1\nhjBtTXobqOqPgaPAVkkLkjYCu4FD45ywhKUgUlzwaSshIzhnas6ZVu45e4mWghi7BSDpYaAHvEHS\nC8DeiNgv6R7gCfqVyr6IOD7Oed0CMDNrJlULYOwKICI+eJnyx4HHWyfK2GBQJmclZATnTM050yol\nZ1vZrAVUQheQmVkOUnUBZVMBlCD3fkEoIyM4Z2rOmVYpOdtKdRdQax4DMDNrJtUYgPcDMDMrVC7z\nAFpzC8DMrJmu5wEkV8IgcAn9giVkBOdMzTnTyj2nB4HNzKwVdwGNoYR7g0vICM6ZmnOmlXtOdwGZ\nmc0pdwF1IPd+QSgjIzhnas6ZVik523IFYGY2p7KZB3DLLd/Ls8++C/jXXH/93VxzzaP86Z++BMCm\nTQucPXuy04xmZrkYjAE88MADreYBZFMBjE4E+9a3fgUYZBM55DQzy0nbiWDuAhpDCf2CJWQE50zN\nOdMqJWdbrgDMzOaUu4DMzArlLiAzM5tINhVAfybwl7uOcUUl9AuWkBGcMzXnTCv3nFVVra+JYJ4J\nbGbWTKqZwB4DMDMrlMcAzMxsIjOpACS9StJRST882RmuRRKS2Lx5MWm2ceTeLwhlZATnTM050yol\nZ1uzWg76PuA3Jv/0Cwy6g86dm7i1Y2ZmQ8YeA5C0D3gvcC4ibh0q3wl8kn6rYl9EfLwufzfwBuA6\n4OsR8TurnHPNMQCPB5iZXaqLMYD9wI6REBuAB+vyW4DbJW2rn+4B3wd8EPjQpEHNzCytsSuAiHgK\nOD9SvB04ERGnImIZOAjsql//zyLiZ4BfB/5Dy7ydKqFfsISM4JypOWdapeRsK9UYwI3A6aHjM/Qr\nhZdFxH+60gmOHHkSeAk4w/LysVVeUdFvTKx8cwbbts3q+OUkHb3/ejpeWlrKKk/px76e83E9q6ri\nwIEDACwuLtLWRPMAJC0Ajw3GACTdBuyIiLvq4zuA7RFxb8PzeQzAzGxMbccAUrUAXgRuGjreUpc1\nVsKm8GZmOag63hRe9cfAUWCrpAVJG4HdwKG24XKT4oJPWwkZwTlTc860SsnZ1tgVgKSHgaeBmyW9\nIGlPRFwE7gGeAJ4FDkbE8XHO67WAzMya6a23tYBG9wT2GICZ2eoGXUBt9wTOZi0gtwDMzJpJ1QLI\npgLwfgBplJARnDM150wr95yV9wMwM5tP624MwPMAzMzGk8s8gNY8D8DMrJmu5wEkV0IXUO79glBG\nRnDO1JwzrdxzrrtBYDMzm61sxgA8D8DMrBnPAzAzm1PuAupA7v2CUEZGcM7UnDOtUnK25QrAzGxO\neQzAzKwwHgMwM5tTHgPoQAn9giVkBOdMzTnTKiVnW64AzMzmVDZjAM3XAroOuADApk0LnD17ctZx\nzcyy0HYtoAJbABfoVwbBuXNnkYQkNm9e7DiXmVlZsqkAJtsPYLgyOJU+1IgS+gVLyAjOmZpzppV7\nTu8HYGY2p+Z6PwDPDzAzm8sxADMzS2HqFYCkbZI+LekRSXdP+/2mKfd+QSgjIzhnas6ZVik525p6\nBRARz0XEh4EPAO+Y9vuZmVkzY48BSNoHvBc4FxG3DpXvBD5Jv1LZFxEfH3ruR4C7gYci4uAq5/QY\ngJnZmLoYA9gP7BgJsQF4sC6/Bbhd0rbB8xHxWES8B7hj0qBmZpbW2BVARDwFnB8p3g6ciIhTEbEM\nHAR2AUh6p6RPSfpl4HfaBu5SCf2CJWQE50zNOdMqJWdbVyc6z43A6aHjM/QrBSLiSeDJtU5w5MiT\nwEvAGZaXj63yigroDT0efW7oqP7m9Xq9pMfTPv88HS8tLWWVp/RjX8/5uJ5VVXHgwAEAFhcXaWui\neQCSFoDHBmMAkm4DdkTEXfXxHcD2iLi34fk8BmBmNqa2YwCpWgAvAjcNHW+pyxrrLwVxQ6I4Zmbr\nV1VvCNPWpLeBqv4YOApslbQgaSOwGzjUNlxuUlzwaSshIzhnas6ZVik52xq7ApD0MPA0cLOkFyTt\niYiLwD3AE8CzwMGIOD7Oeb0WkJlZM731thbQOHsCewzAzObZoAvIewKvYvPmRe8TYGbrVqoWQDYV\nwGT7AayuvzdA+n0CSugXLCEjOGdqzplW7jkr7wdgZjaf1t0YQPt5ACt7Bfd5bMDM1rdc5gG01n4e\nwGB7SLj0DlUzs/Wl63kAyZXQBZR7vyCUkRGcMzXnTCv3nOtuENjMzGYrmzGAFPMAPD/AzOaB5wGY\nmc0pdwF1IPd+QSgjIzhnas6ZVik523IFYGY2p+Z2DGDz5sWXZwlv2rTA2bMn031BZmZTlGoMIJsK\nIMWGMONUAJIHis2sbF1sCj+3SugXLCEjOGdqzplWKTnbmoMK4FqvDGpmtoq56AJaravHXUBmVjp3\nAZmZ2USyqQBS7gcwLSX0C5aQEZwzNedMK/ec3g9gIivjAWZmpfJ+AIkf53AdzMzG4TEAMzObyNQr\nAEm7JP2qpM9J+pvTfr9pyr1fEMrICM6ZmnOmVUrOtqZeAUTEFyLiLuDDwN+d9vu1tXnzoucNmNlc\nGHsMQNI+4L3AuYi4dah8J/BJ+pXKvoj4+Mjn/Rvg1yJiaZVzZjMG4PkBZlaKLsYA9gM7RkJsAB6s\ny28Bbpe0bej5jwG/u9offzMz68bYFUBEPAWcHyneDpyIiFMRsQwcBHYBSLoHeBfwo5Luapm3UyX0\nC5aQEZwzNedMq5ScbV2d6Dw3AqeHjs/QrxSIiF8EfnGtExw58iTwEnCG5eVjq7yiAnpDj0efa/f6\nqqro9VZ//egPw+B48Hofj3+8tLSUVZ7Sj3095+N6VlXFgQMHAFhcXKStieYBSFoAHhuMAUi6DdhR\nD/Yi6Q5ge0Tc2/B8HY8BXAdcGEr0yjEA7x9gZrlpOwaQqgXwInDT0PGWuqyx/lIQNySKM64LXFox\nvFL/j3/Ujz2T2My6U9UbwrQ16W2g4tK/lEeBrZIWJG0EdgOH2obLT9V1gDWl+KGYBedMyznTKiVn\nW2NXAJIeBp4Gbpb0gqQ9EXERuAd4AngWOBgRx8c572zWAjIzK19vva0FNM09gT0/wMzWk0EXUNs9\ngbNZC8gtADOzZlK1ALKpAErYD2C1MYDclo4ope/SOdNyzrRyz1l5P4A8rNwdFC/fJmpmNk3rbgyg\n67WAJh0D8NiAmXUll3kArXU7D8DMrBxdzwNIrowuoKrrAGvKve9ywDnTcs60cs+57gaBzcxstrIZ\nAyh1HoDHAMxs1jwPoCC53SpqZmVzF9BMXPvyH+6+aqKzzPJW0dz7LgecMy3nTKuUnG25AriiwSqh\n7tYxs/XHYwATPV57/4CRr2/N15iZNeUxgE65ZWBm3fEYQCeqrgOsqZS+S+dMyznTKiVnW64AkloZ\nNL7qqlePDCCbmeUlmzGAXNcCmubcAjOzNrwWkJnZnPFaQJ2oug6wplL6Lp0zLedMK/ecHgQ2M7NW\nPAbQweMU13zz5sWXZxVv2rTA2bMnW5/TzMqybsYAbDwry0vAuXO+08jMxjf1LiBJb5L0GUmPTPu9\npq+aybu0WTwu977LAedMyznTKiVnW1OvACLiqxHxoWm/z3rSZvG4979/t1ceNbNGxq4AJO2TdE7S\nsZHynZKek/S8pPvSRcxJL+nZmv2nf+1Yf9DPnz9HCZvU93q9riM04pxpOWdeJmkB7Ad2DBdI2gA8\nWJffAtwuadvI57mjekSz//QvNHiNmdn4xq4AIuIp4PxI8XbgRESciohl4CCwC0DS6yV9Gnhr+S2D\nqusA60YpfazOmZZz5iXVXUA3AqeHjs/QrxSIiG8AH17rBEeOPAm8BJxhefnYKq+oWOmCqVZ5rpzX\nv/KHa7zzr/bDWVXVULN19dcPns/heGlpKas8pR/7es7H9ayqigMHDgCwuLhIWxPNA5C0ADwWEbfW\nx7cBOyLirvr4DmB7RNzb8HyF7QcwjX2GL7/HgPcoNrNhVWb7AbwI3DR0vKUua6yMpSCmyXsMmFkz\nvY6XghCXDuoeBbZKWpC0EdgNHBrnhP3F4L48YZxZqRKcY3Sf4fk0aNbmzjnTcs40qqrqpgKQ9DDw\nNHCzpBck7YmIi8A9wBPAs8DBiDg+znnnpwXg//TNrJ1ULYBs1gKapzGA9OMHk48BeE0hs/LkNgbQ\n2vy0APLSZtaxmXWj6zGA5OZnDKCNy40frD2u0GZ9oWmcJ/c+1gHnTMs50+hsDGBa3AJo4nLjB2uP\nK6T6T98tBrPurbsWQBl6XQdYNwaTXHLX6/WStXqmqaTrWYJScraVzX4A3hPYcuW9Fyw3g0HgtrJp\nAZTRBVR1HWDdyL2PdcA503LONFJ1AWXTArD1b/iW0xtu2MQ3vnH2FeW53Io6nMlsvcqmAiijC6jX\ndYCiDXelnD+vVctz6WIZzlTCSual9Fk7ZxruAjIzm1O+C6gTVdcBbOaqrgM0knuf9YBz5sUVwLo2\n+cJzw7c+XnXVq2c20WzWSs1tloLXAprTx+OuKTTpeYbluIfBJF9/Dr8zNt+8FpCZ2ZzyGEAnqq4D\n2MxVXQdopJQ+a+fMiysAM7M55QpgLL2uA9jM9boO0Eju960POGdesqkAylgOer0b966htZenTnVn\nzeXuSvLdOzaPvBx0J6quA0zZuNtVrr08darlFIaXof7Od/5s6H2nvSx1NcVzp1NKn7VzpuFBYDMz\na8UVwFh6XQewmet1HaCRUvqsnTMvrgDMzObU1CsASa+SdEDSr0j64LTfb7qqrgPYzFVdB2gk9z7r\nAefMyyxaAO8HPh8Rfx943wzez8zMGhi7ApC0T9I5ScdGyndKek7S85LuG3pqC3C6fnyxRdYM9LoO\nYDPX6zpAI6X0WTtnXiZpAewHdgwXSNoAPFiX3wLcLmlb/fRp+pUAlLCzhpnZnBi7AoiIp4DzI8Xb\ngRMRcSoiloGDwK76uUeBH5X0S8BjbcJ2r+o6QCKTLxOdzjVrTiJrsgz1qMtNGBt+fPmJY6tdl6rR\new2fs4slpnPvsy5t2e0rXc/SvpYrSTUGcCMr3TwAZ+oyIuLPIuInIuIfRMTnLneCI0eeBA4B97O8\nfGyVV1Qjj0eP/frmr78AHGZlAtd087xy+7oKWObSSWSD5wfZDg9N+Dq8Rp6VX9j+pLBXfv7w5LFz\n506tkqdiZQLbld9v8PWsTE47fMlktJUMK+81/H7TOF5aWprq+dsej16rrvO0uZ5dfH8Hx1VVceed\nd3LnnXcmmQg20X4AkhaAxyLi1vr4NmBHRNxVH98BbI+Iexuez/sBrOPH4+4xMN7jyd6jTaZx91Lw\n/gHr65rk8LUMKoVc9gN4Ebhp6HhLXdZYGUtBmJl1r+ulIMSlA7pHga2SFiRtBHbT789prIzF4Kqu\nA9jMVV0HaGS4yyBvVdcBGsn9elZVR4vBSXoYeBq4WdILkvZExEXgHuAJ4FngYEQcH+e8bgGYmTWT\nqgVw9bifEBGrzuaNiMeBxycN0m8B3DDpp89Ir+sANnO9rgM0Us59672uAzSS+/UcHSieVDZrAbkF\nYGbWTNdjAMl5DMDyVHUdoJHc+6xXVF0HaCT369nZGMC0uAVgZtbMumsBlKHXdQCbuV7XARrJvc96\nRa/rAI2Ucz3bGXsQeFrKGAQ2M+ueB4E7UXUdwGau6jpAI7n3Wa+oug7QSO7X011AZmbWiruAxtLr\nOoDNXK/rAI2U02fd6zpAI7lfT3cBmZnNKXcBdaLqOoDNXNV1gEZy77NeUXUdoJFyrmc7rgDMzOaU\nxwDG0us6gM1cr+sAjeTeZ72i13WARnK/nh4DMDObUx4D6ETVdQCbuarrAI2U02dddR2gkXKuZzuu\nAMzM5pQrgLH0ug5gM9frOkAjufdZr+h1HaCRcq5nOx4ENjMrjAeBO1F1HcBmruo6QCPl9FlXXQdo\nJPfr6UFgMzNrxRXAWHpdB7CZ63UdoJFy+qx7XQdopJzr2Y4rADOzOTXVCkDSmyR9RtIj03yf2am6\nDmAzV3UdoJHc+6xXVF0HaKSc69nOVCuAiPhqRHxomu8xW0tdB7CZK+N7vrRURk5fz7w0qgAk7ZN0\nTtKxkfKdkp6T9Lyk+6YTMSff7DqAzVwZ3/NvfrOMnL6eeWnaAtgP7BgukLQBeLAuvwW4XdK2+rkf\nk/QJSX9+8PJEec3MLJFGFUBEPAWcHyneDpyIiFMRsQwcBHbVr38oIn4GuCDp08Bb12ohXHvtNVx3\n3b/jNa/5ESIeH/sLmY2TXQewmTvZdYBGTp482XWEhk52HaCRcq5nO4qIZi+UFoDHIuLW+vg2YEdE\n3FUf3wFsj4h7xw4hNQthZmaXiIiJe1iyWAqizRdgZmaTaXMX0IvATUPHW+oyMzMrwDgVgLh0MPco\nsFXSgqSNwG7gUMpwZmY2PU1vA30YeBq4WdILkvZExEXgHuAJ4FngYEQcn15UMzNLqeldQB+MiO+O\niGsj4qaI2F+XPx4Rb46IvxQRHxv3zXOdRyBpi6Tfk/SspGck3VuX3yDpCUlflvRfJb2266zQvyVX\n0pckHaqPs8sp6bWSPi/peH1dvy+3nJJ+WtIfSTom6dclbcwl42pzca6UTdLPSTpRX+8f6jDjv6oz\nLEn6LUmv6TLj5XIOPfePJH1H0utzzSnpnjrLM5I+NlQ+fs6I6OSDfuXzP4EF4Br6UwS3dZVnJNtm\n4K314+8CvgxsAz4O/Gxdfh/wsa6z1ll+Gvg14FB9nF1O4ACwp358NfDanHIC3w18BdhYH/8G8OO5\nZAT+OvBW4NhQ2arZgL8C/GF9nRfr3zN1lPHdwIb68ceAf9llxsvlrMu3AP8F+Crw+rrsL+eUk/5q\nek8AV9fHf65Nzi4Xg7vsPIKuRcTZiFiqH/8f4Dj9H45dwGfrl30W+NvdJFwhaQvww8Bnhoqzyln/\n1/c3YqXl+O2I+BMyywlcBbxa0tXA9fRvasgiY6w+F+dy2d5Hv0v22xFxEjhB//dt5hkj4osR8Z36\n8Aj936POMl4uZ+0XgH8yUraLvHJ+mH5F/+36NV9vk7PLCuBG4PTQ8Zm6LCuSFunXwkeATRFxDvqV\nBPDG7pK9bPBDOzyXIrecbwK+Lml/3VX1q5JeRUY5I+JrwL8FXqD/h/9PIuKLOWVcxRsvk230d+tF\n8vjd+gngd+vHWWWU9D7gdEQ8M/JUVjmBm4EfkHRE0mFJf60unyinl4O+AknfBfwm8A/rlsDohLVO\nJ7BJeg9wrm6tXGkuRdcT7a4G3gb8UkS8Dfi/wEfJ6HpKeh39/6IW6HcHvVrS31slU9fX8kqyzSbp\nnwLLEfG5rrOMknQ98PPA3q6zNHA1cENEvB34WeDzbU7WZQWQ9TyCuhvgN4GHIuILdfE5SZvq5zcD\nL3WVr/b9wPskfQX4HPCDkh4CzmaW8wz9/67+oD7+LfoVQk7X893AVyLiG9G/w+1R4B2ZZRx1uWwv\nAn9h6HWd/m5JupN+N+UHh4pzyvgX6feb/w9JX62zfEnSG8nv79Rp4LcBIuIocFHSG5gwZ5cVQO7z\nCP4j8McR8amhskPAnfXjHwe+MPpJsxQRPx/9u7K+h/71+72I+DHgMfLKeQ44Lenmuuhd9G8dzul6\nvgC8XdJ1kkQ/4x+TV8bRuTiXy3YI2F3fxfQmYCvw37vIKGkn/S7K90XEhaHXdZnxkpwR8UcRsTki\nvici3kT/H5bvjYiX6pwfyCFn7T8DPwhQ/z5tjIj/NXHOWYxmX2GUeyf9O2xOAB/tMstIru8HLtK/\nM+kPgS/VWV8PfLHO/ATwuq6zDmV+Jyt3AWWXE/ir9Cv9Jfr/wbw2t5z0uwCOA8foD6pek0tG4GHg\na8AF+pXVHuCGy2UDfo7+nSDHgR/qMOMJ4FT9O/Ql4N93mfFyOUee/wr1XUC55aTfBfQQ8AzwB8A7\n2+RsvBicmZmtLx4ENjObU64AzMzmlCsAM7M55QrAzGxOuQIwM5tTrgDMzOaUKwAzszn1/wEkfuY8\nlskEfgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e5eddad90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"daily_max_wins_per_user = values_per_day(all_pings, \"browser.engagement.max_concurrent_window_count\")\\\n",
" .map(lambda x: np.max(x[1]))\n",
"plot_series(pd.Series(daily_max_wins_per_user.collect()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Tab Open Event Count"
]
},
{
"cell_type": "code",
"execution_count": 127,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 845874.000000\n",
"mean 14.339854\n",
"std 46.307356\n",
"min 1.000000\n",
"50% 4.000000\n",
"75% 12.000000\n",
"95% 57.000000\n",
"99% 150.000000\n",
"99.5% 216.000000\n",
"max 3429.000000\n",
"dtype: float64"
]
},
"execution_count": 127,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nSUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f815c4d2e50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_histogram_scalar(all_pings, \"browser.engagement.tab_open_event_count\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many tabs are being opened by each user, per day?"
]
},
{
"cell_type": "code",
"execution_count": 128,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 282880.000000\n",
"mean 42.879348\n",
"std 128.901057\n",
"min 1.000000\n",
"50% 15.000000\n",
"75% 44.000000\n",
"95% 162.000000\n",
"99% 368.000000\n",
"99.5% 523.605000\n",
"max 31978.000000\n",
"dtype: float64"
]
},
"execution_count": 128,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e5e469c90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"daily_tab_opens_per_user = values_per_day(all_pings, \"browser.engagement.tab_open_event_count\")\\\n",
" .map(lambda x: np.sum(x[1]))\n",
"plot_series(pd.Series(daily_tab_opens_per_user.collect()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Compare tab open event and the maximum tab count, over a subsession:\n",
"* Get the maximum among all the fragments for the concurrent tabs\n",
"* Sum the open events for each fragment"
]
},
{
"cell_type": "code",
"execution_count": 129,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def map_to_tab_measurements(p):\n",
" scalars = p[\"payload/processes/parent/scalars\"]\n",
" max_cnt = scalars.get(\"browser.engagement.max_concurrent_tab_count\", 0)\n",
" open_cnt = scalars.get(\"browser.engagement.tab_open_event_count\", 0)\n",
" return ((p[\"meta/clientId\"], p[\"payload/info/sessionId\"]), (open_cnt, max_cnt))\n",
"\n",
"per_session_tab = latest_pings.filter(lambda p: p[\"payload/processes/parent/scalars\"])\\\n",
" .map(map_to_tab_measurements)"
]
},
{
"cell_type": "code",
"execution_count": 130,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"combined_per_session_tab = per_session_tab.combineByKey(lambda x: x,\n",
" lambda acc, x: (acc[0] + x[0], max(acc[1], x[1])),\n",
" lambda x, y: (x[0] + y[0], max(x[1], y[1])))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot and describe the number of tab open events per client session."
]
},
{
"cell_type": "code",
"execution_count": 131,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 402659.000000\n",
"mean 12.403341\n",
"std 48.905876\n",
"min 0.000000\n",
"50% 2.000000\n",
"75% 9.000000\n",
"95% 54.000000\n",
"99% 162.000000\n",
"99.5% 237.000000\n",
"max 8793.000000\n",
"dtype: float64"
]
},
"execution_count": 131,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e5b637310>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"per_session_tab_open_events = combined_per_session_tab.map(lambda x: x[1][0])\n",
"plot_series(pd.Series(per_session_tab_open_events.collect()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot and describe the maximum number of concurrent tabs per client session."
]
},
{
"cell_type": "code",
"execution_count": 132,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 402659.000000\n",
"mean 10.811237\n",
"std 56.562810\n",
"min 0.000000\n",
"50% 3.000000\n",
"75% 6.000000\n",
"95% 28.000000\n",
"99% 176.000000\n",
"99.5% 306.000000\n",
"max 3159.000000\n",
"dtype: float64"
]
},
"execution_count": 132,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e5b6e2890>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"per_session_max_tabs = combined_per_session_tab.map(lambda x: x[1][1])\n",
"plot_series(pd.Series(per_session_max_tabs.collect()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Window Open Event Count"
]
},
{
"cell_type": "code",
"execution_count": 133,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 209299.000000\n",
"mean 3.701327\n",
"std 9.056931\n",
"min 1.000000\n",
"50% 2.000000\n",
"75% 3.000000\n",
"95% 12.000000\n",
"99% 34.000000\n",
"99.5% 50.000000\n",
"max 647.000000\n",
"dtype: float64"
]
},
"execution_count": 133,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e5ba5a8d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_histogram_scalar(all_pings, \"browser.engagement.window_open_event_count\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many windows are being opened by the clients, per day?"
]
},
{
"cell_type": "code",
"execution_count": 134,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 130093.000000\n",
"mean 5.954848\n",
"std 14.998016\n",
"min 1.000000\n",
"50% 2.000000\n",
"75% 5.000000\n",
"95% 21.000000\n",
"99% 56.000000\n",
"99.5% 85.000000\n",
"max 952.000000\n",
"dtype: float64"
]
},
"execution_count": 134,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e5f9c9990>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"daily_win_opens_per_user = values_per_day(all_pings, \"browser.engagement.window_open_event_count\")\\\n",
" .map(lambda x: np.sum(x[1]))\n",
"plot_series(pd.Series(daily_win_opens_per_user.collect()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Compare window open event and the maximum window count, over a subsession:\n",
"* Get the maximum among all the fragments for the concurrent windows\n",
"* Sum the open events for each fragment"
]
},
{
"cell_type": "code",
"execution_count": 135,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def map_to_win_measurements(p):\n",
" scalars = p[\"payload/processes/parent/scalars\"]\n",
" max_cnt = scalars.get(\"browser.engagement.max_concurrent_window_count\", 0)\n",
" open_cnt = scalars.get(\"browser.engagement.window_open_event_count\", 0)\n",
" return ((p[\"meta/clientId\"], p[\"payload/info/sessionId\"]), (open_cnt, max_cnt))\n",
"\n",
"per_session_win = latest_pings.filter(lambda p: p[\"payload/processes/parent/scalars\"])\\\n",
" .map(map_to_win_measurements)"
]
},
{
"cell_type": "code",
"execution_count": 136,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"combined_per_session_win = per_session_win.combineByKey(lambda x: x,\n",
" lambda acc, x: (acc[0] + x[0], max(acc[1], x[1])),\n",
" lambda x, y: (x[0] + y[0], max(x[1], y[1])))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot and describe the number of window open events per client session."
]
},
{
"cell_type": "code",
"execution_count": 137,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 402659.000000\n",
"mean 0.797240\n",
"std 5.183276\n",
"min 0.000000\n",
"50% 0.000000\n",
"75% 0.000000\n",
"95% 4.000000\n",
"99% 14.000000\n",
"99.5% 22.000000\n",
"max 953.000000\n",
"dtype: float64"
]
},
"execution_count": 137,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nrkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f822041c690>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"per_session_win_open_events = combined_per_session_win.map(lambda x: x[1][0])\n",
"plot_series(pd.Series(per_session_win_open_events.collect()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot and describe the number of maximum concurrent windows per client session."
]
},
{
"cell_type": "code",
"execution_count": 138,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 402659.000000\n",
"mean 1.350182\n",
"std 1.104613\n",
"min 0.000000\n",
"50% 1.000000\n",
"75% 1.000000\n",
"95% 3.000000\n",
"99% 5.000000\n",
"99.5% 6.000000\n",
"max 145.000000\n",
"dtype: float64"
]
},
"execution_count": 138,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nbEr9f7kHp/99FGMZAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e5b54f190>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"per_session_max_windows = combined_per_session_win.map(lambda x: x[1][1])\n",
"plot_series(pd.Series(per_session_max_windows.collect()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many subsessions don't include a window open event? The statistics below point out that most of the subsessions have 0 window open events."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 1.403181e+06\n",
"mean 5.520913e-01\n",
"std 3.738174e+00\n",
"min 0.000000e+00\n",
"50% 0.000000e+00\n",
"75% 0.000000e+00\n",
"95% 2.000000e+00\n",
"99% 1.000000e+01\n",
"99.5% 1.600000e+01\n",
"max 6.470000e+02\n",
"dtype: float64"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n7yhfMAD79wAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe42c6a2e90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"subsessions_with_window_open = all_pings.filter(lambda p: p[\"payload/processes/parent/scalars\"])\\\n",
" .map(lambda p: p[\"payload/processes/parent/scalars\"]\\\n",
" .get(\"browser.engagement.window_open_event_count\", 0))\n",
"\n",
"scalar_series = pd.Series(subsessions_with_window_open.collect())\n",
"plot_series(scalar_series)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Total count of URIs"
]
},
{
"cell_type": "code",
"execution_count": 139,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 669517.000000\n",
"mean 58.239405\n",
"std 296.168179\n",
"min 1.000000\n",
"50% 13.000000\n",
"75% 46.000000\n",
"95% 247.000000\n",
"99% 641.000000\n",
"99.5% 878.000000\n",
"max 70708.000000\n",
"dtype: float64"
]
},
"execution_count": 139,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e5e4bc250>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_histogram_scalar(broken_uri_pings, \"browser.engagement.total_uri_count\")"
]
},
{
"cell_type": "code",
"execution_count": 140,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 461124.000000\n",
"mean 52.225380\n",
"std 203.121462\n",
"min 1.000000\n",
"50% 13.000000\n",
"75% 44.000000\n",
"95% 222.000000\n",
"99% 562.000000\n",
"99.5% 767.000000\n",
"max 47162.000000\n",
"dtype: float64"
]
},
"execution_count": 140,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nNQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f815c52fc50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_histogram_scalar(latest_pings, \"browser.engagement.total_uri_count\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many URIs are the clients opening, per day?"
]
},
{
"cell_type": "code",
"execution_count": 141,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 122796.000000\n",
"mean 196.116942\n",
"std 515.217601\n",
"min 1.000000\n",
"50% 87.000000\n",
"75% 232.000000\n",
"95% 711.000000\n",
"99% 1436.050000\n",
"99.5% 1866.025000\n",
"max 65946.000000\n",
"dtype: float64"
]
},
"execution_count": 141,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f815c558890>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"daily_uris_per_user = values_per_day(latest_pings, \"browser.engagement.total_uri_count\")\\\n",
" .map(lambda x: np.sum(x[1]))\n",
"plot_series(pd.Series(daily_uris_per_user.collect()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Take a look at the clients opening more than > 10k URIs per subsession."
]
},
{
"cell_type": "code",
"execution_count": 142,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"URI_THRESHOLD = 10000 # 10k uris\n",
"pings_many_uris = latest_pings.filter(lambda p: p[\"payload/processes/parent/scalars\"])\\\n",
" .filter(lambda p: p[\"payload/processes/parent/scalars\"].get(\"browser.engagement.total_uri_count\", 0) > URI_THRESHOLD)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What's the distribution of their subsession lengths?"
]
},
{
"cell_type": "code",
"execution_count": 143,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 16.000000\n",
"mean 42023.562500\n",
"std 30590.723206\n",
"min 6330.000000\n",
"50% 35236.500000\n",
"75% 61303.500000\n",
"95% 87760.750000\n",
"99% 91021.750000\n",
"99.5% 91429.375000\n",
"max 91837.000000\n",
"dtype: float64"
]
},
"execution_count": 143,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nnZSFAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f815c40ae90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pings_many_uris_ssl = pings_many_uris.map(lambda p: p.get(\"payload/info/subsessionLength\"))\n",
"plot_series(pd.Series(pings_many_uris_ssl.collect()), 10, 0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And what about their session lengths?"
]
},
{
"cell_type": "code",
"execution_count": 144,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 8.000000\n",
"mean 55586.875000\n",
"std 40353.429493\n",
"min 9927.000000\n",
"50% 51178.500000\n",
"75% 66723.500000\n",
"95% 118297.200000\n",
"99% 127623.440000\n",
"99.5% 128789.220000\n",
"max 129955.000000\n",
"dtype: float64"
]
},
"execution_count": 144,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e5b5e4cd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pings_many_uris_sl = pings_many_uris.filter(lambda p: p.get(\"payload/info/reason\") == \"shutdown\")\\\n",
" .map(lambda p: p.get(\"payload/info/sessionLength\"))\n",
"plot_series(pd.Series(pings_many_uris_sl.collect()), 10, 0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many clients are acting like that?"
]
},
{
"cell_type": "code",
"execution_count": 145,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"heavy_uri_loaders_clients = pings_many_uris.map(lambda p: p[\"meta/clientId\"]).distinct().collect()\n",
"heavy_uri_loaders = len(heavy_uri_loaders_clients)\n",
"total_clients = latest_pings.map(lambda p: p[\"meta/clientId\"]).distinct().count()"
]
},
{
"cell_type": "code",
"execution_count": 146,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"11 clients (0.0) are opening more than 10k URIs\n"
]
}
],
"source": [
"print \"{} clients ({}) are opening more than 10k URIs\"\\\n",
" .format(heavy_uri_loaders, pct(heavy_uri_loaders, total_clients))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Do these clients always behave the same?"
]
},
{
"cell_type": "code",
"execution_count": 147,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"uri_behaviour = latest_pings.filter(lambda p: p[\"meta/clientId\"] in heavy_uri_loaders_clients)\\\n",
" .filter(lambda p: p[\"payload/processes/parent/scalars\"] and \\\n",
" p[\"payload/processes/parent/scalars\"].get(\"browser.engagement.total_uri_count\", False))\\\n",
" .map(lambda p: (p[\"meta/clientId\"], [ p[\"payload/processes/parent/scalars\"].get(\"browser.engagement.total_uri_count\", 0)]))\\\n",
" .reduceByKey(lambda x,y: x + y)"
]
},
{
"cell_type": "code",
"execution_count": 148,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th># URIs min</th>\n",
" <th># URIs max</th>\n",
" <th>p75</th>\n",
" <th>p95</th>\n",
" <th>Samples</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2</td>\n",
" <td>44102</td>\n",
" <td>30251.50</td>\n",
" <td>42022.65</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>3</td>\n",
" <td>16630</td>\n",
" <td>421.50</td>\n",
" <td>8779.50</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>11920</td>\n",
" <td>44.75</td>\n",
" <td>6614.50</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>11269</td>\n",
" <td>2836.75</td>\n",
" <td>9582.55</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4280</td>\n",
" <td>16728</td>\n",
" <td>15661.50</td>\n",
" <td>16514.70</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1</td>\n",
" <td>47162</td>\n",
" <td>117.50</td>\n",
" <td>16462.80</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2</td>\n",
" <td>17137</td>\n",
" <td>98.00</td>\n",
" <td>4908.20</td>\n",
" <td>65</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1</td>\n",
" <td>11416</td>\n",
" <td>210.00</td>\n",
" <td>2186.70</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>20</td>\n",
" <td>29215</td>\n",
" <td>353.00</td>\n",
" <td>20603.20</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>18</td>\n",
" <td>20951</td>\n",
" <td>4624.00</td>\n",
" <td>17685.60</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>2</td>\n",
" <td>12840</td>\n",
" <td>3039.50</td>\n",
" <td>7322.80</td>\n",
" <td>75</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" # URIs min # URIs max p75 p95 Samples\n",
"0 2 44102 30251.50 42022.65 8\n",
"1 3 16630 421.50 8779.50 11\n",
"2 1 11920 44.75 6614.50 10\n",
"3 1 11269 2836.75 9582.55 4\n",
"4 4280 16728 15661.50 16514.70 4\n",
"5 1 47162 117.50 16462.80 15\n",
"6 2 17137 98.00 4908.20 65\n",
"7 1 11416 210.00 2186.70 18\n",
"8 20 29215 353.00 20603.20 7\n",
"9 18 20951 4624.00 17685.60 5\n",
"10 2 12840 3039.50 7322.80 75"
]
},
"execution_count": 148,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"uri_behaviour_rdd = uri_behaviour.map(lambda x: (np.min(x[1]),\\\n",
" np.max(x[1]),\\\n",
" np.percentile(x[1], 75),\\\n",
" np.percentile(x[1], 95),\\\n",
" len(x[1])))\n",
"uri_behaviour_df = pd.DataFrame(uri_rdd.collect())\n",
"uri_behaviour_df.columns = [\"# URIs min\", \"# URIs max\", \"p75\", \"p95\", \"Samples\"]\n",
"uri_behaviour_df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Inspect other field to try to figure out if super high URI counts come from some automated instance of Firefox:\n",
"\n",
"* either a new or constantly resetting profile\n",
"* low session counts (1 or \"few\", profileSubsessionCounter as a proxy?)\n",
"* lower session lengths\n",
"* submit high counts with each session.\n",
"* Maybe a proxy is \"for pathological clients, the uri counts p25 is pretty close to p90\"?"
]
},
{
"cell_type": "code",
"execution_count": 149,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"16"
]
},
"execution_count": 149,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"UNIX_EPOCH_DAY = datetime.datetime.utcfromtimestamp(0)\n",
"\n",
"def get_session_info(p):\n",
" return {\n",
" \"submissionDate\": p.get(\"meta/submissionDate\"),\n",
" \"profileCreationDate\": UNIX_EPOCH_DAY + datetime.timedelta(days=p.get(\"environment/profile/creationDate\")),\n",
" \"reason\": p.get(\"payload/info/reason\"),\n",
" \"profileSubsessionCounter\": p.get(\"payload/info/profileSubsessionCounter\"),\n",
" \"sessionLength\": p.get(\"payload/info/sessionLength\"),\n",
" \"subsessionLength\": p.get(\"payload/info/subsessionLength\")\n",
" }\n",
"\n",
"many_uris_session = pings_many_uris.map(get_session_info)\n",
"many_uris_session.count()"
]
},
{
"cell_type": "code",
"execution_count": 150,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>profileCreationDate</th>\n",
" <th>profileSubsessionCounter</th>\n",
" <th>reason</th>\n",
" <th>sessionLength</th>\n",
" <th>submissionDate</th>\n",
" <th>subsessionLength</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2015-09-19</td>\n",
" <td>197</td>\n",
" <td>shutdown</td>\n",
" <td>52282</td>\n",
" <td>20160817</td>\n",
" <td>42494</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2012-05-04</td>\n",
" <td>2464</td>\n",
" <td>environment-change</td>\n",
" <td>209783</td>\n",
" <td>20160822</td>\n",
" <td>14226</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2015-10-09</td>\n",
" <td>526</td>\n",
" <td>shutdown</td>\n",
" <td>16602</td>\n",
" <td>20160822</td>\n",
" <td>16599</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2015-08-18</td>\n",
" <td>616</td>\n",
" <td>daily</td>\n",
" <td>112926</td>\n",
" <td>20160818</td>\n",
" <td>86402</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2015-05-26</td>\n",
" <td>310</td>\n",
" <td>shutdown</td>\n",
" <td>50075</td>\n",
" <td>20160822</td>\n",
" <td>50034</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2013-12-03</td>\n",
" <td>1930</td>\n",
" <td>shutdown</td>\n",
" <td>9927</td>\n",
" <td>20160821</td>\n",
" <td>9926</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2015-08-18</td>\n",
" <td>621</td>\n",
" <td>daily</td>\n",
" <td>52946</td>\n",
" <td>20160822</td>\n",
" <td>52941</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2016-08-17</td>\n",
" <td>40</td>\n",
" <td>aborted-session</td>\n",
" <td>11301</td>\n",
" <td>20160822</td>\n",
" <td>11294</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2015-08-18</td>\n",
" <td>617</td>\n",
" <td>daily</td>\n",
" <td>199328</td>\n",
" <td>20160819</td>\n",
" <td>86402</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>2014-12-29</td>\n",
" <td>732</td>\n",
" <td>shutdown</td>\n",
" <td>96647</td>\n",
" <td>20160822</td>\n",
" <td>24926</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>2015-09-09</td>\n",
" <td>436</td>\n",
" <td>daily</td>\n",
" <td>95855</td>\n",
" <td>20160820</td>\n",
" <td>86391</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>2015-05-26</td>\n",
" <td>309</td>\n",
" <td>shutdown</td>\n",
" <td>129955</td>\n",
" <td>20160821</td>\n",
" <td>38024</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>2016-08-04</td>\n",
" <td>40</td>\n",
" <td>daily</td>\n",
" <td>22103</td>\n",
" <td>20160816</td>\n",
" <td>22102</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>2013-12-03</td>\n",
" <td>1937</td>\n",
" <td>shutdown</td>\n",
" <td>56749</td>\n",
" <td>20160821</td>\n",
" <td>6330</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>2015-05-26</td>\n",
" <td>308</td>\n",
" <td>daily</td>\n",
" <td>91930</td>\n",
" <td>20160820</td>\n",
" <td>91837</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>2014-11-02</td>\n",
" <td>948</td>\n",
" <td>shutdown</td>\n",
" <td>32458</td>\n",
" <td>20160821</td>\n",
" <td>32449</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" profileCreationDate profileSubsessionCounter reason \\\n",
"0 2015-09-19 197 shutdown \n",
"1 2012-05-04 2464 environment-change \n",
"2 2015-10-09 526 shutdown \n",
"3 2015-08-18 616 daily \n",
"4 2015-05-26 310 shutdown \n",
"5 2013-12-03 1930 shutdown \n",
"6 2015-08-18 621 daily \n",
"7 2016-08-17 40 aborted-session \n",
"8 2015-08-18 617 daily \n",
"9 2014-12-29 732 shutdown \n",
"10 2015-09-09 436 daily \n",
"11 2015-05-26 309 shutdown \n",
"12 2016-08-04 40 daily \n",
"13 2013-12-03 1937 shutdown \n",
"14 2015-05-26 308 daily \n",
"15 2014-11-02 948 shutdown \n",
"\n",
" sessionLength submissionDate subsessionLength \n",
"0 52282 20160817 42494 \n",
"1 209783 20160822 14226 \n",
"2 16602 20160822 16599 \n",
"3 112926 20160818 86402 \n",
"4 50075 20160822 50034 \n",
"5 9927 20160821 9926 \n",
"6 52946 20160822 52941 \n",
"7 11301 20160822 11294 \n",
"8 199328 20160819 86402 \n",
"9 96647 20160822 24926 \n",
"10 95855 20160820 86391 \n",
"11 129955 20160821 38024 \n",
"12 22103 20160816 22102 \n",
"13 56749 20160821 6330 \n",
"14 91930 20160820 91837 \n",
"15 32458 20160821 32449 "
]
},
"execution_count": 150,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(many_uris_session.collect())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Total unique domains count"
]
},
{
"cell_type": "code",
"execution_count": 151,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 660137.000000\n",
"mean 6.646667\n",
"std 11.247891\n",
"min 1.000000\n",
"50% 3.000000\n",
"75% 7.000000\n",
"95% 25.000000\n",
"99% 61.000000\n",
"99.5% 83.000000\n",
"max 100.000000\n",
"dtype: float64"
]
},
"execution_count": 151,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nSUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e5b91df10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_histogram_scalar(broken_uri_pings, \"browser.engagement.unique_domains_count\")"
]
},
{
"cell_type": "code",
"execution_count": 152,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 454187.000000\n",
"mean 5.685044\n",
"std 8.618674\n",
"min 1.000000\n",
"50% 3.000000\n",
"75% 6.000000\n",
"95% 21.000000\n",
"99% 43.000000\n",
"99.5% 56.000000\n",
"max 100.000000\n",
"dtype: float64"
]
},
"execution_count": 152,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f7e5fa4c750>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_histogram_scalar(latest_pings, \"browser.engagement.unique_domains_count\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"What's the percentage of session fragments which exactly recorded >= 100 unique domains?"
]
},
{
"cell_type": "code",
"execution_count": 153,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"571389"
]
},
"execution_count": 153,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"num_latest_pings = latest_pings.count()\n",
"num_latest_pings"
]
},
{
"cell_type": "code",
"execution_count": 154,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def hit_upper_domain_bound(p):\n",
" if not p[\"payload/processes/parent/scalars\"]:\n",
" return False\n",
" \n",
" domain_count = \\\n",
" p[\"payload/processes/parent/scalars\"].get(\"browser.engagement.unique_domains_count\", False)\n",
" if domain_count is False:\n",
" return False\n",
" \n",
" return domain_count >= 100 # 100 is the upper bound, we should never go beyond that.\n",
"\n",
"pings_hitting_domain_bounds = latest_pings.filter(hit_upper_domain_bound)\n",
"domain_count_upper_bounds = pings_hitting_domain_bounds.count()"
]
},
{
"cell_type": "code",
"execution_count": 155,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Subsessions with >= unique domains: 465 - 0.001\n"
]
}
],
"source": [
"print \"Subsessions with >= unique domains: {} - {}\".format(domain_count_upper_bounds,\n",
" pct(domain_count_upper_bounds, num_latest_pings))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many clients?"
]
},
{
"cell_type": "code",
"execution_count": 156,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"283 clients (0.008) are opening more than 100 unique domains\n"
]
}
],
"source": [
"clients_unique_domains = pings_hitting_domain_bounds.map(lambda p: p[\"meta/clientId\"]).distinct().collect()\n",
"print \"{} clients ({}) are opening more than 100 unique domains\"\\\n",
" .format(len(clients_unique_domains), pct(len(clients_unique_domains), total_clients))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many heavy URI loaders are also hitting the 100 unique domains?"
]
},
{
"cell_type": "code",
"execution_count": 157,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"1"
]
},
"execution_count": 157,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len([clientId for clientId in heavy_uri_loaders_clients if clientId in clients_unique_domains])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many unique domains (maximum among all the session fragments) is each user visiting, per day?"
]
},
{
"cell_type": "code",
"execution_count": 158,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 122041.000000\n",
"mean 11.006309\n",
"std 12.944751\n",
"min 1.000000\n",
"50% 7.000000\n",
"75% 14.000000\n",
"95% 36.000000\n",
"99% 65.000000\n",
"99.5% 81.000000\n",
"max 100.000000\n",
"dtype: float64"
]
},
"execution_count": 158,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nRFrq/wEaO6oUwrIpWgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f815c4f5890>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"daily_domains_per_user = values_per_day(latest_pings, \"browser.engagement.unique_domains_count\")\\\n",
" .map(lambda x: np.max(x[1]))\n",
"plot_series(pd.Series(daily_domains_per_user.collect()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many unique domains (p95 among all the session fragments) is each user visiting, per day?"
]
},
{
"cell_type": "code",
"execution_count": 159,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"count 122042.000000\n",
"mean 10.378437\n",
"std 12.193143\n",
"min 1.000000\n",
"50% 6.000000\n",
"75% 13.000000\n",
"95% 33.400000\n",
"99% 60.879500\n",
"99.5% 76.000000\n",
"max 100.000000\n",
"dtype: float64"
]
},
"execution_count": 159,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f815c78d890>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"daily_domains_per_user = values_per_day(latest_pings, \"browser.engagement.unique_domains_count\")\\\n",
" .map(lambda x: np.percentile(x[1], 95))\n",
"plot_series(pd.Series(daily_domains_per_user.collect()))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Data correlations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This section tries to dive into the relationship between the previous results:\n",
"* (1) 50% of users open at least 15 tabs per day\n",
"* (2) 50% of users open at least 2 windows per day\n",
"* (3) 50% of users open at least 13 URIs per day"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Can we explain the relationship between (1) & (3)?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
# coding: utf-8
# ## Bug 1276200 - Validate engagement measurements
# In[1]:
import ujson as json
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import plotly.plotly as py
import datetime as dt
from uuid import UUID
from moztelemetry import get_pings, get_pings_properties, get_one_ping_per_client, get_clients_history
get_ipython().magic(u'pylab inline')
# We get two chunks of pings:
# * broke_uri_pings: after the engagement measurement land (in bug 1271313) up to bug 1293222 which fixes the broken URI counts
# * latest_pings: after bug 1293222 lands
# In[16]:
def dedupe(pings):
return pings.map(lambda p: (p["meta/documentId"], p)) .reduceByKey(lambda a, b: a) .values()
def filter(pings):
subset = get_pings_properties(pings, ["meta/clientId",
"meta/documentId",
"meta/submissionDate",
"environment/profile/creationDate",
"environment/profile/resetDate",
"environment/build",
"environment/partner",
"environment/system",
"payload/info/reason",
"payload/info/sessionId",
"payload/info/subsessionLength",
"payload/info/sessionLength",
"payload/info/profileSubsessionCounter",
"payload/processes/parent/scalars"])
return dedupe(subset)
broken_uri_pings = filter(get_pings(sc,
app="Firefox",
channel="nightly",
doc_type="main",
schema="v4",
submission_date=("20160808", "20160815"), # Only one week of submissions.
build_id=("20160722000000", "20160815000000"), # Up to bug 1293222
fraction=1.0))
latest_pings = filter(get_pings(sc,
app="Firefox",
channel="nightly",
doc_type="main",
schema="v4",
submission_date=("20160815", "20160822"),
build_id=("20160815000000", "20160822000000"), # Post bug 1293222
fraction=1.0))
all_pings = broken_uri_pings + latest_pings
# Make sure each ping has a scalar section and the contained engagament measurements scalar have the right formats.
# In[17]:
def engagement_measurements_check(p):
known_engagement_scalars = {
"browser.engagement.max_concurrent_tab_count": int,
"browser.engagement.max_concurrent_window_count": int,
"browser.engagement.tab_open_event_count": int,
"browser.engagement.total_uri_count": int,
"browser.engagement.unique_domains_count": int,
"browser.engagement.window_open_event_count": int,
}
# We know these scalars must be there for the referenced timeframe.
expected_scalars = [
"browser.engagement.max_concurrent_tab_count",
"browser.engagement.max_concurrent_window_count"
]
scalars = p["payload/processes/parent/scalars"]
if scalars is None:
return ("scalars section is None", p)
# We don't expect all the engagement measurements to be there but,
# if they are, make sure they have the correct format.
for k, v in known_engagement_scalars.iteritems():
if k in scalars:
if type(scalars[k]) != v:
return ("wrong type: " + k, p)
if scalars[k] < 0:
return ("check failed: " + k + " < 1", p)
# We're not expecting other scalars from these builds.
for k in scalars:
if k not in known_engagement_scalars:
return ("unexpected scalar: " + k, p)
for s in expected_scalars:
if s not in scalars:
return ("{} not reported".format(s), p)
return ("", p)
checked_pings = all_pings.map(engagement_measurements_check)
result_counts = checked_pings.countByKey()
result_counts
# ### Let's dig into the pings with missing engagement measurements.
# In[5]:
latest_pings.map(engagement_measurements_check).countByKey()
# In[18]:
missing_eng = latest_pings.filter(lambda p: (p["payload/processes/parent/scalars"] != None) and (len(p["payload/processes/parent/scalars"].keys()) == 0))
# How many clients are sending an empy scalars section?
# In[12]:
len(missing_eng.map(lambda p: p["meta/clientId"]).distinct().collect())
# Let's check the distribution of the subsession lengths.
# In[20]:
missing_ssl = missing_eng.map(lambda p: p["payload/info/subsessionLength"]).collect()
plot_series(pd.Series(missing_ssl), 30, 0)
# ### Helper functions for plotting and analysing.
# In[4]:
def plot_series(series, graph_bins=100, graph_min=0.1):
# Plot to an histogram.
fig, ax = plt.subplots()
series.hist(ax=ax, bins=graph_bins, bottom=graph_min)
ax.set_yscale('log')
# Return some descriptive statistics.
return series.describe(percentiles=[.5, .75, .95, .99, .995])
def plot_histogram_scalar(pings, scalar_name):
scalar_values = pings.filter(lambda p: p["payload/processes/parent/scalars"] and p["payload/processes/parent/scalars"].get(scalar_name, False)) .map(lambda p: p["payload/processes/parent/scalars"][scalar_name])
scalar_series = pd.Series(scalar_values.collect())
return plot_series(scalar_series)
def values_per_day(pings, scalar):
# Each entry in the |daily_per_user| RDD is like:
# (("date", "clientId"), [ ... scalar values for the client, date ... ])
daily_per_user = pings.filter(lambda p: p["payload/processes/parent/scalars"] and p["payload/processes/parent/scalars"].get(scalar, False)) .map(lambda p: ((p["meta/submissionDate"], p["meta/clientId"]), [ p["payload/processes/parent/scalars"].get(scalar) ])) .reduceByKey(lambda a,b: a + b)
return daily_per_user
def pct(a, b):
return round(float(a) / b, 3)
# ### Maximum Concurrent Tab Count
# In[123]:
plot_histogram_scalar(all_pings, "browser.engagement.max_concurrent_tab_count")
# What's the maximum number of concurrent tabs each user has, per day?
# In[124]:
daily_max_tabs_per_user = values_per_day(all_pings, "browser.engagement.max_concurrent_tab_count") .map(lambda x: np.max(x[1]))
plot_series(pd.Series(daily_max_tabs_per_user.collect()))
# ### Maximum Concurrent Window Count
# In[125]:
plot_histogram_scalar(all_pings, "browser.engagement.max_concurrent_window_count")
# What's the maximum number of concurrent windows each user has, per day?
# In[126]:
daily_max_wins_per_user = values_per_day(all_pings, "browser.engagement.max_concurrent_window_count") .map(lambda x: np.max(x[1]))
plot_series(pd.Series(daily_max_wins_per_user.collect()))
# ### Tab Open Event Count
# In[127]:
plot_histogram_scalar(all_pings, "browser.engagement.tab_open_event_count")
# How many tabs are being opened by each user, per day?
# In[128]:
daily_tab_opens_per_user = values_per_day(all_pings, "browser.engagement.tab_open_event_count") .map(lambda x: np.sum(x[1]))
plot_series(pd.Series(daily_tab_opens_per_user.collect()))
# Compare tab open event and the maximum tab count, over a subsession:
# * Get the maximum among all the fragments for the concurrent tabs
# * Sum the open events for each fragment
# In[129]:
def map_to_tab_measurements(p):
scalars = p["payload/processes/parent/scalars"]
max_cnt = scalars.get("browser.engagement.max_concurrent_tab_count", 0)
open_cnt = scalars.get("browser.engagement.tab_open_event_count", 0)
return ((p["meta/clientId"], p["payload/info/sessionId"]), (open_cnt, max_cnt))
per_session_tab = latest_pings.filter(lambda p: p["payload/processes/parent/scalars"]) .map(map_to_tab_measurements)
# In[130]:
combined_per_session_tab = per_session_tab.combineByKey(lambda x: x,
lambda acc, x: (acc[0] + x[0], max(acc[1], x[1])),
lambda x, y: (x[0] + y[0], max(x[1], y[1])))
# Plot and describe the number of tab open events per client session.
# In[131]:
per_session_tab_open_events = combined_per_session_tab.map(lambda x: x[1][0])
plot_series(pd.Series(per_session_tab_open_events.collect()))
# Plot and describe the maximum number of concurrent tabs per client session.
# In[132]:
per_session_max_tabs = combined_per_session_tab.map(lambda x: x[1][1])
plot_series(pd.Series(per_session_max_tabs.collect()))
# ### Window Open Event Count
# In[133]:
plot_histogram_scalar(all_pings, "browser.engagement.window_open_event_count")
# How many windows are being opened by the clients, per day?
# In[134]:
daily_win_opens_per_user = values_per_day(all_pings, "browser.engagement.window_open_event_count") .map(lambda x: np.sum(x[1]))
plot_series(pd.Series(daily_win_opens_per_user.collect()))
# Compare window open event and the maximum window count, over a subsession:
# * Get the maximum among all the fragments for the concurrent windows
# * Sum the open events for each fragment
# In[135]:
def map_to_win_measurements(p):
scalars = p["payload/processes/parent/scalars"]
max_cnt = scalars.get("browser.engagement.max_concurrent_window_count", 0)
open_cnt = scalars.get("browser.engagement.window_open_event_count", 0)
return ((p["meta/clientId"], p["payload/info/sessionId"]), (open_cnt, max_cnt))
per_session_win = latest_pings.filter(lambda p: p["payload/processes/parent/scalars"]) .map(map_to_win_measurements)
# In[136]:
combined_per_session_win = per_session_win.combineByKey(lambda x: x,
lambda acc, x: (acc[0] + x[0], max(acc[1], x[1])),
lambda x, y: (x[0] + y[0], max(x[1], y[1])))
# Plot and describe the number of window open events per client session.
# In[137]:
per_session_win_open_events = combined_per_session_win.map(lambda x: x[1][0])
plot_series(pd.Series(per_session_win_open_events.collect()))
# Plot and describe the number of maximum concurrent windows per client session.
# In[138]:
per_session_max_windows = combined_per_session_win.map(lambda x: x[1][1])
plot_series(pd.Series(per_session_max_windows.collect()))
# How many subsessions don't include a window open event? The statistics below point out that most of the subsessions have 0 window open events.
# In[9]:
subsessions_with_window_open = all_pings.filter(lambda p: p["payload/processes/parent/scalars"]) .map(lambda p: p["payload/processes/parent/scalars"] .get("browser.engagement.window_open_event_count", 0))
scalar_series = pd.Series(subsessions_with_window_open.collect())
plot_series(scalar_series)
# ### Total count of URIs
# In[139]:
plot_histogram_scalar(broken_uri_pings, "browser.engagement.total_uri_count")
# In[140]:
plot_histogram_scalar(latest_pings, "browser.engagement.total_uri_count")
# How many URIs are the clients opening, per day?
# In[141]:
daily_uris_per_user = values_per_day(latest_pings, "browser.engagement.total_uri_count") .map(lambda x: np.sum(x[1]))
plot_series(pd.Series(daily_uris_per_user.collect()))
# Take a look at the clients opening more than > 10k URIs per subsession.
# In[142]:
URI_THRESHOLD = 10000 # 10k uris
pings_many_uris = latest_pings.filter(lambda p: p["payload/processes/parent/scalars"]) .filter(lambda p: p["payload/processes/parent/scalars"].get("browser.engagement.total_uri_count", 0) > URI_THRESHOLD)
# What's the distribution of their subsession lengths?
# In[143]:
pings_many_uris_ssl = pings_many_uris.map(lambda p: p.get("payload/info/subsessionLength"))
plot_series(pd.Series(pings_many_uris_ssl.collect()), 10, 0)
# And what about their session lengths?
# In[144]:
pings_many_uris_sl = pings_many_uris.filter(lambda p: p.get("payload/info/reason") == "shutdown") .map(lambda p: p.get("payload/info/sessionLength"))
plot_series(pd.Series(pings_many_uris_sl.collect()), 10, 0)
# How many clients are acting like that?
# In[145]:
heavy_uri_loaders_clients = pings_many_uris.map(lambda p: p["meta/clientId"]).distinct().collect()
heavy_uri_loaders = len(heavy_uri_loaders_clients)
total_clients = latest_pings.map(lambda p: p["meta/clientId"]).distinct().count()
# In[146]:
print "{} clients ({}) are opening more than 10k URIs" .format(heavy_uri_loaders, pct(heavy_uri_loaders, total_clients))
# Do these clients always behave the same?
# In[147]:
uri_behaviour = latest_pings.filter(lambda p: p["meta/clientId"] in heavy_uri_loaders_clients) .filter(lambda p: p["payload/processes/parent/scalars"] and p["payload/processes/parent/scalars"].get("browser.engagement.total_uri_count", False)) .map(lambda p: (p["meta/clientId"], [ p["payload/processes/parent/scalars"].get("browser.engagement.total_uri_count", 0)])) .reduceByKey(lambda x,y: x + y)
# In[148]:
uri_behaviour_rdd = uri_behaviour.map(lambda x: (np.min(x[1]), np.max(x[1]), np.percentile(x[1], 75), np.percentile(x[1], 95), len(x[1])))
uri_behaviour_df = pd.DataFrame(uri_rdd.collect())
uri_behaviour_df.columns = ["# URIs min", "# URIs max", "p75", "p95", "Samples"]
uri_behaviour_df
# Inspect other field to try to figure out if super high URI counts come from some automated instance of Firefox:
#
# * either a new or constantly resetting profile
# * low session counts (1 or "few", profileSubsessionCounter as a proxy?)
# * lower session lengths
# * submit high counts with each session.
# * Maybe a proxy is "for pathological clients, the uri counts p25 is pretty close to p90"?
# In[149]:
UNIX_EPOCH_DAY = datetime.datetime.utcfromtimestamp(0)
def get_session_info(p):
return {
"submissionDate": p.get("meta/submissionDate"),
"profileCreationDate": UNIX_EPOCH_DAY + datetime.timedelta(days=p.get("environment/profile/creationDate")),
"reason": p.get("payload/info/reason"),
"profileSubsessionCounter": p.get("payload/info/profileSubsessionCounter"),
"sessionLength": p.get("payload/info/sessionLength"),
"subsessionLength": p.get("payload/info/subsessionLength")
}
many_uris_session = pings_many_uris.map(get_session_info)
many_uris_session.count()
# In[150]:
pd.DataFrame(many_uris_session.collect())
# ### Total unique domains count
# In[151]:
plot_histogram_scalar(broken_uri_pings, "browser.engagement.unique_domains_count")
# In[152]:
plot_histogram_scalar(latest_pings, "browser.engagement.unique_domains_count")
# What's the percentage of session fragments which exactly recorded >= 100 unique domains?
# In[153]:
num_latest_pings = latest_pings.count()
num_latest_pings
# In[154]:
def hit_upper_domain_bound(p):
if not p["payload/processes/parent/scalars"]:
return False
domain_count = p["payload/processes/parent/scalars"].get("browser.engagement.unique_domains_count", False)
if domain_count is False:
return False
return domain_count >= 100 # 100 is the upper bound, we should never go beyond that.
pings_hitting_domain_bounds = latest_pings.filter(hit_upper_domain_bound)
domain_count_upper_bounds = pings_hitting_domain_bounds.count()
# In[155]:
print "Subsessions with >= unique domains: {} - {}".format(domain_count_upper_bounds,
pct(domain_count_upper_bounds, num_latest_pings))
# How many clients?
# In[156]:
clients_unique_domains = pings_hitting_domain_bounds.map(lambda p: p["meta/clientId"]).distinct().collect()
print "{} clients ({}) are opening more than 100 unique domains" .format(len(clients_unique_domains), pct(len(clients_unique_domains), total_clients))
# How many heavy URI loaders are also hitting the 100 unique domains?
# In[157]:
len([clientId for clientId in heavy_uri_loaders_clients if clientId in clients_unique_domains])
# How many unique domains (maximum among all the session fragments) is each user visiting, per day?
# In[158]:
daily_domains_per_user = values_per_day(latest_pings, "browser.engagement.unique_domains_count") .map(lambda x: np.max(x[1]))
plot_series(pd.Series(daily_domains_per_user.collect()))
# How many unique domains (p95 among all the session fragments) is each user visiting, per day?
# In[159]:
daily_domains_per_user = values_per_day(latest_pings, "browser.engagement.unique_domains_count") .map(lambda x: np.percentile(x[1], 95))
plot_series(pd.Series(daily_domains_per_user.collect()))
# # Data correlations
# This section tries to dive into the relationship between the previous results:
# * (1) 50% of users open at least 15 tabs per day
# * (2) 50% of users open at least 2 windows per day
# * (3) 50% of users open at least 13 URIs per day
# ### Can we explain the relationship between (1) & (3)?
# In[ ]:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment