+ "text/html": [
+ "<div>\n",
+ "<table border=\"1\" class=\"dataframe\">\n",
+ " <thead>\n",
+ " <tr style=\"text-align: right;\">\n",
+ " <th>lurked</th>\n",
+ " <th>0</th>\n",
+ " <th>1</th>\n",
+ " <th>2</th>\n",
+ " <th>3</th>\n",
+ " <th>4</th>\n",
+ " <th>5</th>\n",
+ " <th>6</th>\n",
+ " <th>8</th>\n",
+ " <th>10</th>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>completed</th>\n",
+ " <th></th>\n",
+ " <th></th>\n",
+ " <th></th>\n",
+ " <th></th>\n",
+ " <th></th>\n",
+ " <th></th>\n",
+ " <th></th>\n",
+ " <th></th>\n",
+ " <th></th>\n",
+ " </tr>\n",
+ " </thead>\n",
+ " <tbody>\n",
+ " <tr>\n",
+ " <th>0</th>\n",
+ " <td>0</td>\n",
+ " <td>49</td>\n",
+ " <td>8</td>\n",
+ " <td>5</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>1</th>\n",
+ " <td>5</td>\n",
+ " <td>4</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>2</th>\n",
+ " <td>1</td>\n",
+ " <td>3</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>2</td>\n",
+ " <td>0</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>3</th>\n",
+ " <td>3</td>\n",
+ " <td>2</td>\n",
+ " <td>3</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>4</th>\n",
+ " <td>0</td>\n",
+ " <td>3</td>\n",
+ " <td>3</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>5</th>\n",
+ " <td>2</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>6</th>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>7</th>\n",
+ " <td>2</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>3</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>8</th>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>9</th>\n",
+ " <td>0</td>\n",
+ " <td>6</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>10</th>\n",
+ " <td>19</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ "lurked 0 1 2 3 4 5 6 8 10\n",
+ "completed \n",
+ "0 0 49 8 5 0 0 0 0 1\n",
+ "1 5 4 1 0 0 0 1 0 0\n",
+ "2 1 3 1 0 1 0 1 2 0\n",
+ "3 3 2 3 0 1 1 0 0 0\n",
+ "4 0 3 3 0 1 1 1 0 0\n",
+ "5 2 1 1 0 1 0 0 0 0\n",
+ "6 1 0 0 1 1 0 0 0 0\n",
+ "7 2 1 1 3 0 0 0 0 0\n",
+ "8 0 0 1 0 0 0 0 0 0\n",
+ "9 0 6 0 0 0 0 0 0 0\n",
+ "10 19 0 0 0 0 0 0 0 0"
+ ]
+ },
+ "execution_count": 249,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "completed_and_lurked = pd.DataFrame.from_dict(\n",
+ " {'completed': {pi: completion[pi]['tasks'] for pi in completion},\n",
+ " 'lurked': {pi: lurking[pi]['tasks'] for pi in lurking}}).fillna(0).astype(int)\n",
+ "pd.crosstab(completed_and_lurked.completed, completed_and_lurked.lurked)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 223,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "participation_intro = {pi: \n",
+ " {'tasks': count_tasks(participant_best_grades[pi], exclude_intro=False),\n",
+ " 'consecutive': consecutive_tasks(sorted(participant_best_grades[pi]), exclude_intro=False)}\n",
+ " for pi in participant_best_grades\n",
+ " if count_tasks(participant_best_grades[pi]) > 0\n",
+ "}\n",
+ "participation_intro;"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 234,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "completion_intro = {pi: \n",
+ " {'tasks': count_tasks(participant_best_grades[pi], \n",
+ " exclude_intro=False, exclude_lurking=True),\n",
+ " 'consecutive': consecutive_tasks(participant_best_grades[pi], \n",
+ " exclude_intro=False, exclude_lurking=True)}\n",
+ " for pi in participant_best_grades\n",
+ " if count_tasks(participant_best_grades[pi], exclude_lurking=True) > 0\n",
+ "}\n",
+ "completion_intro;"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 236,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "lurking_intro = {pi: \n",
+ " {'tasks': count_tasks(participant_best_grades[pi], \n",
+ " exclude_intro=False, only_lurking=True),\n",
+ " 'consecutive': consecutive_tasks(participant_best_grades[pi], \n",
+ " exclude_intro=False, only_lurking=True)}\n",
+ " for pi in participant_best_grades\n",
+ " if count_tasks(participant_best_grades[pi], only_lurking=True) > 0\n",
+ "}\n",
+ "lurking_intro;"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 186,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Counter({1: 54, 2: 13, 3: 12, 4: 3, 5: 8, 6: 6, 7: 5, 8: 4, 9: 4, 10: 34})"
+ ]
+ },
+ "execution_count": 186,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "collections.Counter(participation[pi]['tasks'] for pi in participation)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 142,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAW0AAAEDCAYAAAD+/1UIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEC5JREFUeJzt3X2sZHV9x/H3Z1klIIgr4t5SsKsmojVGtLqQ2tSxUARt\nizahqcYUUZs0tcHEtGHVJlz/sGGbWGNiH2KkZG19Ap/ApikroUNjW4oKK6sCNlq7EN0LyoNBjQX3\n2z/mAMvlPsy983Dnd/f9SiZ75sw58/vc2bufPfc3Z85NVSFJasOWjQ4gSRqepS1JDbG0JakhlrYk\nNcTSlqSGWNqS1JChSjvJCUmuSnJbkm8kOSPJtiR7k9yR5NokJ0w6rCQd6YY90v4g8M9V9QLgxcDt\nwC7guqo6DbgeeNdkIkqSHpHVPlyT5HhgX1U9d9H624FXVtVCkjmgX1XPn1xUSdIwR9rPAX6Q5Iok\nNyf5cJJjge1VtQBQVQeBkyYZVJI0XGlvBV4K/HVVvRT4MYOpET//LklTtnWIbe4C7qyqr3T3P8Og\ntBeSbD9seuTupXZOYrlL0jpUVRavW/VIu5sCuTPJ87pVZwHfAK4B3tytuxC4eoXnGOl26aWXjvwc\nmyHDrOQww2zlmIUMs5JjFjKMK8dyhjnSBrgY+FiSJwHfAS4CjgKuTPIW4ABwwZDPJUlap6FKu6q+\nBrx8iYfOHm8cSdJKmvhEZK/X2+gIM5EBZiOHGR4zCzlmIQPMRo5ZyACTzbHqedojD5DUpMeQpM0m\nCbWeNyIlSbPD0pakhljaktQQS1uSGmJpS1JDLG1JaoilLUkNsbQlqSGWtiQ1xNKWpIZY2pLUEEtb\nkhpiaUtSQyxtSWqIpS1JDbG0JakhG17ac3M7SDLSbW5ux0Z/GZI0FRv+m2uSAKNmyIq/vViSWuNv\nrpGkTcDSlqSGWNqS1BBLW5IaYmlLUkMsbUlqiKUtSQ2xtCWpIVuH2SjJd4EHgEPAQ1W1M8k24FPA\nLwHfBX6vqh6YUE5JEsMfaR8CelX1kqra2a3bBVxXVacB1wPvmkRASdJjhi3tLLHt+cCebnkP8Lpx\nhZIkLW3Y0i7g2iRfTvK2bt32qloAqKqDwEmTCChJesxQc9rAr1bVwSQnAXuT3MHoV3mSJK3RUKXd\nHUlTVfck+TywE1hIsr2qFpLMAXcvt//8/Pyjy71ej16vN0pmSdp0+v0+/X5/1e1WvTRrkmOBLVX1\nYJKnAHuB9wJnAfdW1e4klwDbqmrXEvt7aVZJWqPlLs06TGk/G/gcg2bdCnysqi5L8nTgSuBU4ABw\nQVXdv8T+lrYkrdG6S3sMA1vakrRG/hIESdoELG1JaoilLUkNsbQlqSGWtiQ1xNKWpIZY2pLUEEtb\nkhpiaUtSQyxtSWqIpS1JDbG0JakhlrYkNcTSlqSGWNqS1BBLW5IaYmlLUkMsbUlqiKUtSQ2xtCWp\nIZa2JDXE0pakhljaktQQS1uSGmJpS1JDLG1JaoilLUkNsbQlqSGWtiQ1ZOjSTrIlyc1Jrunu70hy\nY5I7knwiydbJxZQkwdqOtN8BfPOw+7uB91fVacD9wFvHGUyS9ERDlXaSU4DXAB85bPVvAJ/plvcA\nrx9vNEnSYsMeaX8A+DOgAJKcCNxXVYe6x+8CTh5/PEnS4Vadh07yWmChqvYl6T2yursdrpZ7jvn5\n+UeXe70evV5vuU0l6YjU7/fp9/urbpeqZbt2sEHyF8CbgIeBY4Djgc8D5wBzVXUoyZnApVV13hL7\n10pjJGGFvh9SWO3rkKSWJKGqFh8crz49UlXvrqpnVdVzgN8Hrq+qNwH/ClzQbXYhcPU4A0uSnmiU\n87R3Ae9M8i3g6cDl44kkSVrOqtMjIw/g9Igkrdm6p0ckSbPD0pakhljaktQQS1uSGmJpS1JDLG1J\naoilLUkNsbQlqSGWtiQ1xNKWpIZY2pLUEEtbkhpiaUtSQyxtSWqIpS1JDbG0JakhlrYkNcTSlqSG\nWNqStEZzcztIsu7b3NyOdY/t74iUpDUavbdW7yx/R6QkbQKWtiQ1xNKWpIZY2pLUEEtbkhpiaUtS\nQyxtSWqIpS1JDVm1tJMcneS/ktySZH+SS7v1O5LcmOSOJJ9IsnXycSXpyLZqaVfVz4BXVdVLgNOB\n85KcAewG3l9VpwH3A2+daFJJ0nDTI1X1k27xaGArg89vvgr4TLd+D/D6saeTJD3OUKWdZEuSW4CD\nwBeBbwP3V9WhbpO7gJMnE1GS9Ihhj7QPddMjpwA7gRcstdk4g0mSnmhNbx5W1Y+S3ACcCTwtyZbu\naPsU4HvL7Tc/P//ocq/Xo9frrSusJG1W/X6ffr+/6narXpo1yTOAh6rqgSTHANcClwEXAp+tqk8l\n+Vvga1X1d0vs76VZJW0qG3lp1mFK+0UM3mjc0t0+VVXvS/Js4JPANuAW4E1V9dAS+1vakjaVmS7t\nUVnakjYbfwmCJGkolrYkNcTSlqSGWNqS1BBLW5IaYmlLUkMsbUlqiKUtSQ2xtCWpIZa2JDXE0pak\nhljaktQQS1uSGmJpS1JDLG1JaoilLUkNsbQlqSGWtiQ1xNKWpIZY2pLUEEtbkhpiaUtSQyxtSWqI\npS1JDbG0JakhlrYkNcTSlqSGWNqS1JBVSzvJKUmuT/LNJPuTXNyt35Zkb5I7klyb5ITJx5WkI1uq\nauUNkjlgrqr2JTkO+CpwPnAR8MOq+ssklwDbqmrXEvvXSmMkAVbOsLqw2tchSeMyem+t3llJqKos\nXr/qkXZVHayqfd3yg8BtwCkMintPt9ke4HVrTC1JWqM1zWkn2QGcDtwIbK+qBRgUO3DSuMNJkh5v\n6NLupkY+DbyjO+J2PkKSpmzrMBsl2cqgsP+hqq7uVi8k2V5VC928993L7T8/P//ocq/Xo9frrTuw\nJG1G/X6ffr+/6narvhEJkOSjwA+q6p2HrdsN3FtVu30jUtKRZCPfiBzm7JFXAP8G7O9SFvBu4Cbg\nSuBU4ABwQVXdv8T+lrakTWWmS3tUlrakzWamT/mTJM0OS1uSGmJpS1JDLG1JaoilLUkNsbQlqSGW\ntiQ1xNKWpIZY2pLUEEtbkhpiaUtSQyxtSWqIpS1JDbG0JakhlrYkNcTSlqSGWNqS1BBLW5IaYmlL\nUkMsbUlqiKUtSQ2xtCWpIZZ2Z25uB0nWfZub27HRX4KkI0CqarIDJLXSGEmAUTOEUb+O0XOMnkFS\nG6bRF0moqixe75G2JDXE0pakhljaM2TUeXXn1qXNzzntseWYhQzjySFpZTM9p53k8iQLSW49bN22\nJHuT3JHk2iQnrCu3JGlNhpkeuQJ49aJ1u4Drquo04HrgXeMOJkl6olVLu6q+BNy3aPX5wJ5ueQ/w\nujHnkiQtYb1vRD6zqhYAquogcNL4IkmSluPZI5LUkK3r3G8hyfaqWkgyB9y90sbz8/OPLvd6PXq9\n3jqHlaTNqd/v0+/3V91uqFP+kuwAvlBVL+ru7wburardSS4BtlXVrmX29ZS/qWUYTw5JK9vIU/5W\nLe0kHwd6wInAAnAp8HngKuBU4ABwQVXdv8z+lvbUMownh6SVzXRpj8rSnmaG8eSQtLKZ/nCNJGl2\nWNqS1BBLW5IaYmlrJnnFQ2lpvhE5thyzkGE8OWaBr4VmmW9ESpKGYmlLUkMsbUlqiKUtSQ2xtCWp\nIZa2JDXE0pZWMOr54p4rrnHzPO2x5ZiFDOPJMQtm5bWYhe8LzR7P05YkDcXSlqSGWNrSjPM6LDqc\nc9pjyzELGcaTYxbMymvh94WW4py2JGkolrakoczC6Y9OFTk9MsYcs5BhPDlmway8Fn5fjDPHLGSY\nlRxOj0jSEcHSlqSGWNp6glmYu5S0NOe0x5ZjFjLMSo5ZyDArOWYhw6zkmIUMs5LDOW1JOiJY2pLU\nEEtbkhpiaUtSQ0Yq7STnJrk9ybeSXDKuUJKkpa27tJNsAT4EvBp4IfCGJM8fV7DH60/madekv9EB\nOv2NDoAZDtff6ADMRgaYjRz9jQ7Q6U/smUc50t4J/HdV/W9VPQR8Ejh/PLEW60/madekv9EBOv2N\nDoAZDtff6ADMRgaYjRz9jQ7Q6U/smUcp7V8E7jzs/l3dOknShIxS2k846ZvRz3qXJK1g3Z+ITHIm\nMF9V53b3dwFVVbsXbWeRS9I6LPWJyFFK+yjgDuAs4PvATcAbquq2UUJKkpa3db07VtXPk/wJsJfB\nNMvlFrYkTdbELxglSRofPxEpSQ2xtCWpIZb2MpI8P8lZSY5btP7cKWbYmeTl3fIvJ3lnktdMa/xl\nMn10I8fvMvxa91qcM+Vxz0jy1G75mCTvTfKFJLuTnDClDBcnOXUaY62S48lJ/iDJ2d39Nyb5UJK3\nJ3nSFHM8N8mfJvlgkvcn+aNp/V1slKbmtJNcVFVXTGGci4G3A7cBpwPvqKqru8durqqXTiHDpcB5\nDN4s/iJwBoOPWZ0NXFtV75tChmsWrwJeBVwPUFW/M+kMXY6bqmpnt/yHDP5uPgecA3yhqi6bUo5v\nAC+uqoeTfBj4CfBpBmdQvbiqfncKGR4Afgx8G/gEcFVV3TPpcZfI8TEG35vHAvcDxwGfZfBapKou\nnEKGi4HfBm4AXgPsA+4DXg/8cVX1J51hQ1RVMzfgwJTG2Q8c1y3vAL7CoLgBbplihqMY/KP4EfDU\nbv0xwK1TynAz8I9AD3hl9+f3u+VXTvHv/ZbDlr8MnNQtPwXYP8Uctx3+2ix6bN+0XgsGPyGfA1wO\n3AP8C3AhcPwUX4tbuz+3AgvAUd39TPH7c/9h4x4L9LvlZ03r32k33gnAZcDtwA+7223duqeNe7yZ\nmx5Jcusyt/3A9inFOKqqHgSoqu8yKKvzkvwVS38SdBIerqqfV9VPgG9X1Y+6PD8FDk0pw8uArwLv\nAR6owZHLT6vqhqq6YUoZALYk2ZbkRAZHcfcAVNWPgYenmOPrSS7qlr+W5GUASZ4HPDSlDFVVh6pq\nb1W9FTgZ+BvgXOA7U8oAg7+TJwPHMyjMR6YkjgamNj3CY6ctH91loaoOTDnDlQyO8HtVdWJVncjg\nJ9L7gKvGPdi6z9OeoO0Mrhx436L1Af5jShkOJjm9qvYBVNWDSX4L+HvgRVPK8H9Jju1K+1ceWdnN\n102ltKvqEPCBJFd1fy6wMd8zJzD4zyNAJZmrqoPd+w3T+k8U4G3AB5P8OfAD4D+T3MngGjxvm1KG\nx329NbhY2zXANUmOmVIGGBzl387gp8H3AFcl+Q5wJoOLx03DR4AvJ7kR+HVgN0CSk4B7p5QBYEct\n+iR4VR0Edid5y7gHm7k57SSXA1dU1ZeWeOzjVfXGKWQ4hcGR7sElHntFVf37FDIcXVU/W2L9M4Bf\nqKr9k86wxNivBV5RVe+e9thLSXIssL2q/mfK4x4PPIfBf2B3VdXCFMd+XlV9a1rjrSTJyQBV9b0k\nT2PwfsuBqrppihleCLwA+HpV3T6tcRdl2AtcB+x55HshyXbgzcBvVtXZYx1v1kpbklqSZBuwi8Gl\nqZ/ZrV5g8BPQZVW1eNZgtPEsbUmajEmc8WZpS9KEJDlQVc8a53PO4huRktSMJLcu9xATOOPN0pak\n0Uz1jDdLW5JG808MPoy3b/EDSfrjHsw5bUlqyMx9IlKStDxLW5IaYmlLUkMsbUlqiKUtSQ35f65p\nSqk1n7MoAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f5f343e0828>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pd.Series(collections.Counter(participation[pi]['tasks'] \n",
+ " for pi in participation)).plot(kind='bar');\n",
+ "collections.Counter(participation[pi]['tasks'] \n",
+ " for pi in participation)\n",
+ "plt.savefig('participated-in-days.png')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 187,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Counter({0: 63,\n",
+ " 1: 11,\n",
+ " 2: 9,\n",
+ " 3: 10,\n",
+ " 4: 9,\n",
+ " 5: 5,\n",
+ " 6: 3,\n",
+ " 7: 7,\n",
+ " 8: 1,\n",
+ " 9: 6,\n",
+ " 10: 19})"
+ ]
+ },
+ "execution_count": 187,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "collections.Counter(completion[pi]['tasks'] for pi in completion)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 188,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAW0AAAEDCAYAAAD+/1UIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEWdJREFUeJzt3X+MZXV9xvH3s6wSELquiDsq6qoNSI1FrQGjTbnUX6gt\naBPbYpoiVf9pDTZtGlbbhOkfNmBirUlbjRHJNlVEFAsaKyvFS9NaFAUEZVmMFoHgjiiCQY1V+fSP\nexbXYWbnzsw9c+c7834lN3vuuefc53t37zxz5nvPmU1VIUlqw5ZpD0CSND5LW5IaYmlLUkMsbUlq\niKUtSQ2xtCWpIUuWdpLjk9yY5IbuzweSnJtke5I9SfYluSrJtrUYsCRtZlnOedpJtgB3A6cAbwG+\nV1XvTHIesL2qdvUzTEkSLH965KXAN6rqLuBMYHe3fjfwmkkOTJL0SMst7T8APtwt76iqOYCq2g8c\nO8mBSZIeaezSTvIo4Azgsm6V179L0hrbuoxtXwl8uaq+292fS7KjquaSzADfWWinJJa7JK1AVWX+\nuuVMj5wFXHLQ/SuBN3TLZwNXHCJ4Rbfzzz9/xfuu5jatXF/z5sj1NZs7zm0xY5V2kiMYfQh5+UGr\nLwRelmRf99gF4zyXJGnlxpoeqaofM++Dxqq6j1FZS5LWyLq+InIwGGyq3Glm+5o3R7avuf3cZV1c\ns6KApPrOkKSNJgm1yg8iJUlTZmlLUkMsbUlqiKUtSQ2xtCWpIZa2JDXE0pakhljaktQQS1uSGmJp\nS1JDLG1JaoilLUkNsbQlqSGWtiQ1xNKWpIZY2pLUkKmW9szMTpKs+DYzs3Oaw5ekNTfV/7kmCbCa\n/Bzyfy2WpFb5P9dI0gZgaUtSQyxtSWrIWKWdZFuSy5LsTfK1JKck2Z5kT5J9Sa5Ksq3vwUrSZjfu\nkfZ7gE9X1YnAScBtwC7g6qo6AbgGeFs/Q5QkHbDk2SNJjgZuqqpnzlt/G3BqVc0lmQGGVfWsBfb3\n7BFJWqbVnD3yDOC7SS5OckOS9yc5EthRVXMAVbUfOHayQ5YkzTdOaW8Fng/8U1U9H/gho6kRD3El\naY1tHWObu4G7qupL3f2PMyrtuSQ7Dpoe+c5iTzA7O/vw8mAwYDAYrHjAkrQRDYdDhsPhktuNdUVk\nkmuBN1fV7UnOB47sHrqvqi5Mch6wvap2LbCvc9qStEyLzWmPW9onAR8AHgV8EzgHOAz4KPAU4E7g\ndVV1/wL7WtqStEyrKu1VBlvakrRM/u4RSdoALG1JaoilLUkNsbQlqSGWtiQ1xNKWpIZY2pLUEEtb\nkhpiaUtSQyxtSWqIpS1JDbG0JakhlrYkNcTSlqSGWNqS1BBLW5IaYmlLUkMsbUlqiKUtSQ2xtCWp\nIZa2JDXE0pakhljaktSQreNslOQO4AHgIeCnVXVyku3ApcDTgDuA36+qB3oapySJ8Y+0HwIGVfW8\nqjq5W7cLuLqqTgCuAd7WxwAlSb8wbmlngW3PBHZ3y7uB10xqUJKkhY1b2gVcleT6JG/q1u2oqjmA\nqtoPHNvHACVJvzDWnDbwoqran+RYYE+SfYyKXJK0hsYq7e5Imqq6N8m/AScDc0l2VNVckhngO4vt\nPzs7+/DyYDBgMBisZsyStOEMh0OGw+GS26Xq0AfMSY4EtlTVg0keA+wB/hZ4CXBfVV2Y5Dxge1Xt\nWmD/WiwjCas7YA9LjV+SWpSEqsoj1o9R2k8HPsGoXbcCH6qqC5I8Dvgo8BTgTuB1VXX/Avtb2pK0\nTCsu7QkEW9qStEyLlbZXREpSQyxtSWqIpS1JDbG0JakhlrYkNcTSlqSGWNqS1BBLW5IaYmlLUkMs\nbUlqiKUtSQ2xtCWpIZa2JDXE0pakhljaktQQS1uSGmJpS1JDLG1JaoilLUkNsbQlqSGWtiQ1xNKW\npIZY2pLUkLFLO8mWJDckubK7vzPJdUn2Jbkkydb+hilJguUdab8VuPWg+xcC76qqE4D7gTdOcmCS\npEcaq7STHAe8CvjAQat/G/h4t7wbeO1khyZJmm/cI+13A38FFECSY4DvV9VD3eN3A0+a/PAkSQdb\nsrSTvBqYq6qbgBxYfdDyATXhsUmS5hnnw8MXA2ckeRVwBHA08A/AtiRbuqPt44B7FnuC2dnZh5cH\ngwGDwWAVQ5akjWc4HDIcDpfcLlXjHyAnORX4y6o6I8mlwOVVdWmS9wJfqar3LbBPLZaRhNUdoIfl\njF+SWpGEqpo/o7Gq87R3AX+R5HbgccBFq3guSdIYlnWkvaIAj7Qladn6ONKWJK0xS1uSGmJpS1JD\nLG1JaoilLUkNsbQlqSGWtiQ1xNKWpIZY2pLUEEtbkhpiaUtSQyxtSWqIpS1JDbG0JakhlrYkNcTS\nlqSGWNqS1BBLW5IaYmlLUkMsbUlqiKUtSQ2xtCWpIZa2JDVkydJOcniSLyS5McktSc7v1u9Mcl2S\nfUkuSbK1/+FK0ua2ZGlX1U+A06rqecBzgVcmOQW4EHhXVZ0A3A+8sdeRSpLGmx6pqh91i4cDW4EC\nTgM+3q3fDbx24qOTJP2SsUo7yZYkNwL7gc8C3wDur6qHuk3uBp7UzxAlSQeMe6T9UDc9chxwMnDi\nQptNcmCSpEda1oeHVfWDJNcCLwQem2RLd7R9HHDPYvvNzs4+vDwYDBgMBisarCRtVMPhkOFwuOR2\nqTr0AXKSxwM/raoHkhwBXAVcAJwNXF5VlyZ5L/CVqnrfAvvXYhlJWN0Belhq/JLUoiRUVR6xfozS\nfg6jDxq3dLdLq+odSZ4OfATYDtwI/FFV/XSB/S1tSVqmFZf2BIItbUlapsVK2ysiJakhlrYkNcTS\nlqSGWNqS1BBLW5IaYmlLUkMsbUlqiKUtSQ2xtCWpIZa2JDXE0pakhljaktQQS1uSGmJpS1JDLG1J\naoilLUkNsbQlqSGWtiQ1xNKWpIZY2pLUEEtbkhpiaUtSQyxtSWrIkqWd5Lgk1yS5NcktSc7t1m9P\nsifJviRXJdnW/3AlaXNLVR16g2QGmKmqm5IcBXwZOBM4B/heVb0zyXnA9qratcD+tVhGEuDQ+UsM\nn6XGL0ktSkJVZf76JY+0q2p/Vd3ULT8I7AWOY1Tcu7vNdgOvmdxwJUkLWdacdpKdwHOB64AdVTUH\no2IHjp304CRJv2zruBt2UyMfA95aVQ8mGXteYnZ29uHlwWDAYDBYxhAlaeMbDocMh8Mlt1tyThsg\nyVbgU8C/V9V7unV7gUFVzXXz3p+rqhMX2Nc5bUlaphXPaXc+CNx6oLA7VwJv6JbPBq5Y1QglSUsa\n5+yRFwP/CdzC6LC4gLcDXwQ+CjwFuBN4XVXdv8D+HmlL0jItdqQ91vTIKoMtbUkb0szMTubmvrWi\nfXfseBr799+x6OOWtiRN2Oo67ND9tdo5bUnSOmBpS1JDLG1JaoilLUkNsbQlqSGWtiQ1xNKWpIZY\n2pLUEEtbkhpiaUtSQyxtSWqIpS1JDbG0JakhlrYkNcTSlqSGWNqS1BBLW5IaYmlLUkMsbUlqiKUt\nSQ2xtCWpIZa2JDVkydJOclGSuSQ3H7Rue5I9SfYluSrJtn6HKUmC8Y60LwZeMW/dLuDqqjoBuAZ4\n26QH1reZmZ0kWdFtZmbntIcvaZNKVS29UfI04JNV9evd/duAU6tqLskMMKyqZy2yby2WkQRYOv8Q\nI2Oc8U8+e+W5kjaOPnskCVWV+etXOqf9hKqaA6iq/cCxK3weSdIybF2LkNnZ2YeXB4MBg8FgLWI1\nz8zMTubmvrWifXfseBr7998x2QFJethwOGQ4HC653UqnR/YCg4OmRz5XVScusq/TI+vEZnzNUp/W\n8/RIutsBVwJv6JbPBq4Y83kkSaswzil/HwY+Dxyf5M4k5wAXAC9Lsg94aXdfY1jNWSutnrnimTrS\n5Iw1PbKqAKdHJpg7zez2cqW+refpEUnSOmBpS1JDLG1JaoilLUkNsbQlqSGWtrSBbMZTSjcbT/lr\nKnea2e3lbkbTfH9tRp7yJ0k6JEtbUtM225SQ0yNN5U4zu73czWgzTo9s1K8pp0ckaQOwtLWh+cuq\ntNE4PdJU7jSz28uddvY0OD2yomdYl+9tp0ckaQOwtCWpIZa2JDXE0pakhljaktQQS1vqgacaqi+e\n8tdU7jSz28udZnabuavLnpaN+jXlKX+StAFY2pLUkFWVdpLTk9yW5PYk501qUJKkha24tJNsAf4R\neAXwbOCsJM+a1MBGhpN9unWfO83saeVOM3taudPMnlYuDIfTyt5Yuas50j4Z+HpVfauqfgp8BDhz\nMsM6YDjZp1v3udPMnlbuNLOnlTvN7P5ylzpj5rTTTpvSGTPDHp977XNXU9pPBu466P7d3TpJm9Dc\n3LcYnUmx2O38RR8b7atxrKa0H3EqCqs770aStIQVn6ed5IXAbFWd3t3fBVRVXThvO4tcklZgofO0\nV1PahwH7gJcA3wa+CJxVVXtXM0hJ0uK2rnTHqvp5krcAexhNs1xkYUtSv3q/jF2SNDleESlJDbG0\nJakhK57T7kN3ReWZjM73LuAe4MqNPFfeveYnA1+oqgcPWn96VX2mx9yTGZ3tc32SXwNOB26rqk/3\nlbnIOP6lqv54LTO73N9kdIHYV6tqT485pwB7q+oHSY4AdgHPB24F/q6qHugx+1zgE1V115IbTzb3\n0cAfAvdU1dVJXg+8CNgLvL+7GK/P/GcCrwWeAvwM+DpwSZ9/12tp3cxpd7+75CxGV1be3a0+jtE/\n/keq6oIpjeucqrq4p+c+F/gzRm/m5wJvraorusduqKrn95R7PvBKRt+0PwucwujyrZcCV1XVO3rK\nvXL+KuA04BqAqjqjj9wu+4tVdXK3/GZGf++fAF4OfLKv91eSrwEnVdXPkrwf+BHwMUZnXZ1UVb/X\nR26X/QDwQ+AbwCXAZVV1b195B+V+iNF760jgfuAo4HJGrzlVdXaP2ecCvwtcC7wKuAn4PqMS/9Oq\nGvaVvWaqal3cgNuBRy2w/tGMLpef1rju7PG5bwGO6pZ3Al9iVNwAN/acexijL6ofAL/SrT8CuLnH\n3BuAfwUGwKndn9/ulk/t+d/xxoOWrweO7ZYfA9zSY+7eg1//vMdu6vs1M5oCfTlwEXAv8BngbODo\nHnNv7v7cCswBh3X30+f7q8u45aC8I4Fht/zUPr+muoxtwAXAbcD3utvebt1jJ5Wznua0HwKetMD6\nJ3aP9SbJzYvcbgF29Bh9WHVTIlV1B6MSe2WSv2fhK04n5WdV9fOq+hHwjar6QTeGH9Pv3/ULgC8D\nfw08UKOjnh9X1bVVdW2PuQBbkmxPcgyjo717Aarqh4x+hO7LV5Oc0y1/JckLAJIcD/Q6TcBo+uuh\nqtpTVW9k9PX1z4ymwr7ZY+6WborkaEbFua1bfzjwqB5zDzgw7Xt4Nwaq6s41yP4oo6P6QVUdU1XH\nMPpJ8vvAZZMKWU9z2n8O/EeSr/OL32nyVOBXgbf0nL2D0W8r/P689QE+32Pu/iTPraqbAKrqwSS/\nA3wQeE6Puf+X5MiutH/jwMok2+ixtKvqIeDdSS7r/pxj7d6D2xh9wwhQSWaqan+So+j3G+SbgPck\n+Rvgu8D/JLmL0Xv8TT3mwrzXVaO55CuBK7v59b5cxOho8zBG36AvS/JN4IWMpj/79AHg+iTXAb8F\nXAiQ5Fjgvp6zd9a8K8Kraj9wYZI/mVTIupnThod/3evJjD6YC6O57eur6uc9514EXFxV/7XAYx+u\nqtf3lHsco6Pe/Qs89uKq+u+ecg+vqp8ssP7xwBOr6pY+chfIezXw4qp6+1rkLTKGI4EdVfW/Pecc\nDTyD0Tepu6tqrs+8LvP4qrq975xFsp8EUFX3JHkso89L7qyqL65B9rOBExl9yHxb33kH5e4BrgZ2\nH/j3TbIDeAPwsqp66URy1lNpS1KrkmxndHbQmcATutVzjH66uaCq5v8kv7IcS1uS+jXJs9AsbUnq\nWZI7q+qpk3iu9fRBpCQ1K8nNiz3EBM9Cs7QlaTLW5Cw0S1uSJuNTjC6Wu2n+A0mGkwpxTluSGrKe\nroiUJC3B0pakhljaktQQS1uSGmJpS1JD/h/ezMQymscnnQAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f5f2da192e8>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pd.Series(collections.Counter(completion[pi]['tasks'] \n",
+ " for pi in completion)).plot(kind='bar');\n",
+ "plt.savefig('completed-days.png')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 219,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Counter({0: 33, 1: 69, 2: 19, 3: 9, 4: 5, 5: 2, 6: 3, 8: 2, 10: 1})"
+ ]
+ },
+ "execution_count": 219,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "collections.Counter(lurking[pi]['tasks'] for pi in lurking)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 221,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Counter({0: 86, 1: 47, 2: 5, 3: 3, 5: 1, 10: 1})"
+ ]
+ },
+ "execution_count": 221,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "collections.Counter(lurking[pi]['consecutive'] for pi in lurking)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 220,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7f5f2d694dd8>"
+ ]
+ },