{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import sys"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sys.path.append('/Users/joel/src/thundr/tracker')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import requests"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "token = 'dG9rOjAzNWIyNzBlX2JlNTNfNDIwMF9hYjYzX2E1ZWM0ZjZiMjkwOToxOjA='"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "EOL while scanning string literal (<ipython-input-6-ad89f4003dfd>, line 1)",
     "output_type": "error",
     "traceback": [
      "\u001b[0;36m  File \u001b[0;32m\"<ipython-input-6-ad89f4003dfd>\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m    EXAMPLE = '''$ curl 'https://api.intercom.io/events?type=user&user_id=5ba271182411275f32a8aefe&summary=true' -H 'Authorization:Bearer <Your access token>' -H 'Accept: application/json''''\u001b[0m\n\u001b[0m                                                                                                                                                                                               ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m EOL while scanning string literal\n"
     ]
    }
   ],
   "source": [
    "EXAMPLE = '''$ curl 'https://api.intercom.io/events?type=user&user_id=5ba271182411275f32a8aefe&summary=true' \\\n",
    "-H 'Authorization:Bearer <Your access token>' \\\n",
    "-H 'Accept: application/json''''"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "headers = {\n",
    "    'Authorization': 'Bearer {}'.format(token),\n",
    "    'Accept': 'application/json'\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "r1 = requests.get('https://api.intercom.io/events?type=user&user_id=zbrownstein&summary=true', headers=headers)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "r2 = requests.get('https://api.intercom.io/events?type=user&user_id=zbrownstein&summary=false', headers=headers)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "d = r2.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'next': 'https://api.intercom.io/events?before=1551136106035&intercom_user_id=5ba271182411275f32a8aefe&type=user',\n",
       " 'since': 'https://api.intercom.io/events?intercom_user_id=5ba271182411275f32a8aefe&type=user&since=1553190791019'}"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "d['pages']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(1552680579, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552680564,\n",
       "  'visited:/artist',\n",
       "  '/artist/spy/02eLls9aGOtRCaIr39nq4X/.m/zoomed'),\n",
       " (1552679604, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552678595, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552490643, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552490636,\n",
       "  'visited:/artist',\n",
       "  '/artist/spy/02eLls9aGOtRCaIr39nq4X/.m/spyt/31TM9ZM6H2VLfEtHMmBnex'),\n",
       " (1552490581, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552490574,\n",
       "  'visited:/artist',\n",
       "  '/artist/spy/02eLls9aGOtRCaIr39nq4X/.m/spyt/6PTEGtKVOYPUUzD8nGHuui'),\n",
       " (1552490535, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552490515,\n",
       "  'visited:/artist',\n",
       "  '/artist/spy/02eLls9aGOtRCaIr39nq4X/.m/zoomed'),\n",
       " (1552490506, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552418827, 'visited:/artist', '/artist/a/833'),\n",
       " (1551987585, 'visited:/artist', '/artist/in/surfacesmusic'),\n",
       " (1551739305, 'visited:/artist', '/artist/in/surfacesmusic'),\n",
       " (1551136978, 'visited:/artist', '/artist/sc/42208315'),\n",
       " (1551136971,\n",
       "  'visited:/artist',\n",
       "  '/artist/sc/42208315/.m/spyt/4vcyK8QHE6WsqiSnaBOtOS'),\n",
       " (1551136549, 'visited:/artist', '/artist/sc/42208315')]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[(d['created_at'], d['event_name'], d['metadata'].get('path')) for d in d['events'] if 'artist' in d['event_name']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Got response <Response [200]> ['type', 'events', 'pages']\n",
      "Done  0\n",
      "Got response <Response [200]> ['type', 'events', 'pages']\n",
      "Done  1\n",
      "Got response <Response [200]> ['type', 'events', 'pages']\n",
      "Done  2\n",
      "Got response <Response [200]> ['type', 'events', 'pages']\n"
     ]
    },
    {
     "ename": "KeyError",
     "evalue": "'next'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mKeyError\u001b[0m                               Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-36-430ffb9238dd>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      7\u001b[0m     \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Got response\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mas_json\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      8\u001b[0m     \u001b[0mall_events\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mextend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mas_json\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'events'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 9\u001b[0;31m     \u001b[0mnext_url\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mas_json\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'pages'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'next'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     10\u001b[0m     \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Done \"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     11\u001b[0m     \u001b[0;32mimport\u001b[0m \u001b[0mtime\u001b[0m\u001b[0;34m;\u001b[0m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mKeyError\u001b[0m: 'next'"
     ]
    }
   ],
   "source": [
    "all_events = []\n",
    "next_url = 'https://api.intercom.io/events?type=user&user_id=zbrownstein&summary=false'\n",
    "for i in range(5):\n",
    "    res = requests.get(next_url, headers=headers)\n",
    "    \n",
    "    as_json = res.json()\n",
    "    print(\"Got response\", res, list(as_json.keys()))\n",
    "    all_events.extend(as_json['events'])\n",
    "    next_url = as_json['pages']['next']\n",
    "    print(\"Done \", i)\n",
    "    import time; time.sleep(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(1552680579, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552680564,\n",
       "  'visited:/artist',\n",
       "  '/artist/spy/02eLls9aGOtRCaIr39nq4X/.m/zoomed'),\n",
       " (1552679604, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552678595, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552490643, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552490636,\n",
       "  'visited:/artist',\n",
       "  '/artist/spy/02eLls9aGOtRCaIr39nq4X/.m/spyt/31TM9ZM6H2VLfEtHMmBnex'),\n",
       " (1552490581, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552490574,\n",
       "  'visited:/artist',\n",
       "  '/artist/spy/02eLls9aGOtRCaIr39nq4X/.m/spyt/6PTEGtKVOYPUUzD8nGHuui'),\n",
       " (1552490535, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552490515,\n",
       "  'visited:/artist',\n",
       "  '/artist/spy/02eLls9aGOtRCaIr39nq4X/.m/zoomed'),\n",
       " (1552490506, 'visited:/artist', '/artist/spy/02eLls9aGOtRCaIr39nq4X'),\n",
       " (1552418827, 'visited:/artist', '/artist/a/833'),\n",
       " (1551987585, 'visited:/artist', '/artist/in/surfacesmusic'),\n",
       " (1551739305, 'visited:/artist', '/artist/in/surfacesmusic'),\n",
       " (1551136978, 'visited:/artist', '/artist/sc/42208315'),\n",
       " (1551136971,\n",
       "  'visited:/artist',\n",
       "  '/artist/sc/42208315/.m/spyt/4vcyK8QHE6WsqiSnaBOtOS'),\n",
       " (1551136549, 'visited:/artist', '/artist/sc/42208315'),\n",
       " (1551130439, 'visited:/artist', '/artist/a/61638'),\n",
       " (1551130405, 'visited:/artist', '/artist/a/61638/.m/zoomed'),\n",
       " (1551130398, 'visited:/artist', '/artist/a/61638'),\n",
       " (1551129588, 'visited:/artist', '/artist/a/61638'),\n",
       " (1551129582, 'visited:/artist', '/artist/a/37373'),\n",
       " (1549918212, 'visited:/artist', '/artist/sc/1679068'),\n",
       " (1549917878, 'visited:/artist', '/artist/sc/1679068/zoomed'),\n",
       " (1549917868, 'visited:/artist', '/artist/sc/1679068'),\n",
       " (1549917367, 'visited:/artist', '/artist/spy/60rE8L4eGCSSaJCS1kqNKy'),\n",
       " (1549917092, 'visited:/artist', '/artist/in/julianlamadrid'),\n",
       " (1549649730, 'visited:/artist', '/artist/a/61638/zoomed'),\n",
       " (1549648180, 'visited:/artist', '/artist/a/61638'),\n",
       " (1548877174, 'visited:/artist', '/artist/spy/2s1fodCLf7tb0bogSUNBqY'),\n",
       " (1548875681, 'visited:/artist', '/artist/spy/2s1fodCLf7tb0bogSUNBqY'),\n",
       " (1548800593, 'visited:/artist', '/artist/a/55801'),\n",
       " (1548691929, 'visited:/artist', '/artist/sc/232772346'),\n",
       " (1548691924, 'visited:/artist', '/artist/sc/232772346/zoomed'),\n",
       " (1548691826, 'visited:/artist', '/artist/sc/232772346'),\n",
       " (1548690129, 'visited:/artist', '/artist/spy/0JFKmdLuTj0yZi9P05a85X'),\n",
       " (1548367271, 'visited:/artist', '/artist/spy/45yEuthJ9yq1rNXAOpBnqM'),\n",
       " (1548366888, 'visited:/artist', '/artist/a/33687'),\n",
       " (1548363538, 'visited:/artist', '/artist/a/84393'),\n",
       " (1548363374, 'visited:/artist', '/artist/a/84393'),\n",
       " (1548360708, 'visited:/artist', '/artist/in/ebsdaboss'),\n",
       " (1547826494, 'visited:/artist', '/artist/a/33687'),\n",
       " (1547826477, 'visited:/artist', '/artist/a/33687/zoomed'),\n",
       " (1547826344, 'visited:/artist', '/artist/a/33687'),\n",
       " (1547825871, 'visited:/artist', '/artist/spy/08HpiyWkp2Z7gFTkVae265'),\n",
       " (1547761368, 'visited:/artist', '/artist/a/44355'),\n",
       " (1547761189, 'visited:/artist', '/artist/in/kingvonfrmdao'),\n",
       " (1547761150, 'visited:/artist', '/artist/spy/7rkcFChEJ9tCLcVevtu0Nt'),\n",
       " (1547757896, 'visited:/artist', '/artist/in/kingvonfrmdao'),\n",
       " (1547757885, 'visited:/artist', '/artist/in/kingvonfrmdao/zoomed'),\n",
       " (1547757881, 'visited:/artist', '/artist/in/kingvonfrmdao'),\n",
       " (1547756208, 'visited:/artist', '/artist/spy/1dTBAtLZBUB8Ir4PmJYw9t'),\n",
       " (1547756194, 'visited:/artist', '/artist/spy/1dTBAtLZBUB8Ir4PmJYw9t/zoomed'),\n",
       " (1547756161, 'visited:/artist', '/artist/spy/1dTBAtLZBUB8Ir4PmJYw9t'),\n",
       " (1547242552, 'visited:/artist', '/artist/sc/45369273'),\n",
       " (1546886551, 'visited:/artist', '/artist/a/37373'),\n",
       " (1546886528, 'visited:/artist', '/artist/spy/5k3KbrfdrZTfasGvrebyzr'),\n",
       " (1546886233, 'visited:/artist', '/artist/in/dtheflyestbtl'),\n",
       " (1546879291, 'visited:/artist', '/artist/spy/1itM5tXaK5THggpXA7ovAe'),\n",
       " (1546629955, 'visited:/artist', '/artist/in/kodylavigne'),\n",
       " (1546629922, 'visited:/artist', '/artist/in/kodylavigne'),\n",
       " (1546556162, 'visited:/artist', '/artist/spy/2sBVpvpeQxK01FqIt5t816'),\n",
       " (1546551725, 'visited:/artist', '/artist/in/jetsonmade'),\n",
       " (1546471228, 'visited:/artist', '/artist/in/mk.gee_'),\n",
       " (1546467494, 'visited:/artist', '/artist/sc/154289671'),\n",
       " (1546466729, 'visited:/artist', '/artist/sc/22922018'),\n",
       " (1546463403, 'visited:/artist', '/artist/sc/22922018')]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[(d['created_at'], d['event_name'], d['metadata'].get('path')) for d in all_events if 'artist' in d['event_name']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "identifier\n",
    "47200\n",
    "lilnasx\n",
    "7jVv8c5Fj3E9VhNjxT4snq\n",
    "174817271\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "r2 = requests.get('https://api.intercom.io/events?type=user&user_id=zbrownstein&summary=false', headers=headers)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = [1,2,3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "a.extend([5,7,8,9])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1, 2, 3, 5, 7, 8, 9, 5, 7, 8, 9]"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "mapping = {\n",
    " 'visited:/twitter2': 'Twitter',\n",
    " 'visited:/soundcloud3': 'SoundCloud',\n",
    " 'visited:/instagram2': 'Instagram',\n",
    " 'visited:/login': 'Login',\n",
    " 'visited:/whitelist': 'Old Whitelist Page',\n",
    " 'visited:/spotify': 'Spotify',\n",
    " 'visited:/youtube': 'YouTube',\n",
    " 'visited:/soundcloud/settings': 'Edit SoundCloud Scouts',\n",
    " 'visited:/twitter/settings': 'Edit Twitter Scouts',\n",
    " 'visited:/instagram/settings': 'Edit Instagram Scouts',\n",
    " 'visited:/spotify/settings': 'Edit Spotify Scouts',\n",
    " 'visited:/youtube/settings': 'Edit YouTube Scouts',\n",
    " 'visited:/my_whitelist': 'My whitelist',\n",
    " 'visited:/artist': 'Artist Page',\n",
    " 'visited:/soundcloud': 'SoundCloud',\n",
    " 'visited:/instagram': 'Instagram',\n",
    " 'visited:/twitter': 'Twitter',\n",
    " 'visited:/charts': 'Charts',\n",
    " 'visited:/spotify2': 'Spotify',\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def get_rows_for_user(user_id):\n",
    "    req = requests.get(\n",
    "        'https://api.intercom.io/events?type=user&user_id={}&summary=true'.format(user_id), \n",
    "        headers=headers\n",
    "    )\n",
    "    d = req.json()\n",
    "    stats = {}\n",
    "    for event in d['events']:\n",
    "        key = mapping.get(event['name'])\n",
    "        if not key:\n",
    "            print(\"skipping unknown event\", user_id, event)\n",
    "            continue\n",
    "        \n",
    "        stats[key] = {\n",
    "            'count': (stats.get('key', {}).get('count', 0) + event['count']),\n",
    "            'first': min(stats.get('key', {}).get('first', '2099'), event['first']),\n",
    "            'last': max(stats.get('key', {}).get('last', '1999'), event['last']),\n",
    "        }\n",
    "\n",
    "    return [[key, item['count'], item['first'], item['last']] for key, item in stats.items()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def append_users_to_list(result:list, page=0):\n",
    "    req = requests.get(  \n",
    "        'https://api.intercom.io/users?page={}'.format(page),\n",
    "        headers=headers\n",
    "    )\n",
    "    d = req.json()\n",
    "    result.extend([\n",
    "        [u['user_id'], u['created_at'], u['last_request_at'], u['location_data']['city_name']]\n",
    "        for u in d['users']\n",
    "    ])\n",
    "    if d['pages'].get('next'):\n",
    "        append_users_to_list(result, page+1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "collapsed": true,
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "users = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "append_users_to_list(users)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import csv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Completed: mfridson\n",
      "Completed: sweden\n",
      "Completed: nharding\n",
      "Completed: wcolston\n",
      "Completed: jpinchard\n",
      "Completed: ajpl\n",
      "Completed: tee\n",
      "Completed: ronperry\n",
      "Completed: braheem\n",
      "Completed: rca2\n",
      "Completed: ddefreeuw\n",
      "skipping unknown event markg {'name': 'visited:/charapps', 'first': '2018-10-30T20:34:04.000Z', 'last': '2018-10-30T20:34:04.000Z', 'count': 1, 'description': None}\n",
      "Completed: markg\n",
      "Completed: zbrownstein\n",
      "Completed: nworthington\n",
      "Completed: adrian\n",
      "Completed: dchenfeld\n",
      "Completed: jmichaels\n",
      "Completed: rcadigital\n",
      "Completed: kara\n",
      "Completed: asaltman\n",
      "Completed: ore\n",
      "Completed: dseal\n",
      "Completed: germany\n",
      "Completed: sgil\n",
      "Completed: nashville\n",
      "Completed: ldonovan\n",
      "Completed: ebraham\n",
      "Completed: latam\n",
      "Completed: jedwards\n",
      "Completed: slowe\n",
      "Completed: jryan\n",
      "Completed: tiann\n",
      "Completed: danmarket\n",
      "Completed: joeiddison\n",
      "Completed: benbodie\n",
      "Completed: anna\n",
      "Completed: sej\n",
      "Completed: willem\n",
      "Completed: sahill\n",
      "Completed: test\n",
      "Completed: joel-docker_test\n",
      "Completed: tian\n",
      "Completed: rca1\n",
      "Completed: tjackson\n",
      "Completed: pharris\n",
      "Completed: rca3\n",
      "Completed: jchristie\n",
      "Completed: cblackwell\n",
      "Completed: gparry\n",
      "Completed: dmcclung\n",
      "Skipping mfridson as duplicate\n",
      "Skipping sweden as duplicate\n",
      "Skipping nharding as duplicate\n",
      "Skipping wcolston as duplicate\n",
      "Skipping jpinchard as duplicate\n",
      "Skipping ajpl as duplicate\n",
      "Skipping tee as duplicate\n",
      "Skipping ronperry as duplicate\n",
      "Skipping braheem as duplicate\n",
      "Skipping rca2 as duplicate\n",
      "Skipping ddefreeuw as duplicate\n",
      "Skipping markg as duplicate\n",
      "Skipping zbrownstein as duplicate\n",
      "Skipping nworthington as duplicate\n",
      "Skipping adrian as duplicate\n",
      "Skipping dchenfeld as duplicate\n",
      "Skipping jmichaels as duplicate\n",
      "Skipping rcadigital as duplicate\n",
      "Skipping kara as duplicate\n",
      "Skipping asaltman as duplicate\n",
      "Skipping ore as duplicate\n",
      "Skipping dseal as duplicate\n",
      "Skipping germany as duplicate\n",
      "Skipping sgil as duplicate\n",
      "Skipping nashville as duplicate\n",
      "Skipping ldonovan as duplicate\n",
      "Skipping ebraham as duplicate\n",
      "Skipping latam as duplicate\n",
      "Skipping jedwards as duplicate\n",
      "Skipping slowe as duplicate\n",
      "Skipping jryan as duplicate\n",
      "Skipping tiann as duplicate\n",
      "Skipping danmarket as duplicate\n",
      "Skipping joeiddison as duplicate\n",
      "Skipping benbodie as duplicate\n",
      "Skipping anna as duplicate\n",
      "Skipping sej as duplicate\n",
      "Skipping willem as duplicate\n",
      "Skipping sahill as duplicate\n",
      "Skipping test as duplicate\n",
      "Skipping joel-docker_test as duplicate\n",
      "Skipping tian as duplicate\n",
      "Skipping rca1 as duplicate\n",
      "Skipping tjackson as duplicate\n",
      "Skipping pharris as duplicate\n",
      "Skipping rca3 as duplicate\n",
      "Skipping jchristie as duplicate\n",
      "Skipping cblackwell as duplicate\n",
      "Skipping gparry as duplicate\n",
      "Skipping dmcclung as duplicate\n",
      "Completed: kohagan\n",
      "Completed: Joel Leslie\n",
      "Completed: lucy\n",
      "Completed: jandino\n",
      "Completed: jfowler\n",
      "Completed: ausdemo\n",
      "Completed: twheeley\n",
      "Completed: disruptor\n",
      "Completed: demo\n",
      "Completed: chrisf\n",
      "Completed: fredb\n",
      "Completed: rob2\n",
      "Completed: alex\n",
      "Completed: spotify\n",
      "Completed: joe\n",
      "Completed: epicfrance\n",
      "Completed: ariatafrance\n",
      "Completed: columbiafrance\n",
      "skipping unknown event zeke {'name': 'visited:/', 'first': '2018-03-13T12:28:10.000Z', 'last': '2018-03-13T12:28:10.000Z', 'count': 1, 'description': None}\n",
      "Completed: zeke\n",
      "Completed: wmitchell\n",
      "skipping unknown event dabreu-coburn {'name': 'visited:/artist/sc/126069237', 'first': '2018-02-12T16:01:15.000Z', 'last': '2018-02-12T16:01:15.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event dabreu-coburn {'name': 'visited:/artist/sc/10227952', 'first': '2018-02-12T16:10:28.000Z', 'last': '2018-02-12T16:10:28.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event dabreu-coburn {'name': 'visited:/artist/sc/43364463', 'first': '2018-02-12T16:10:31.000Z', 'last': '2018-02-12T16:10:31.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event dabreu-coburn {'name': 'visited:/artist/sc/91353856', 'first': '2018-02-12T16:10:34.000Z', 'last': '2018-02-12T16:10:34.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event dabreu-coburn {'name': 'visited:/artist/sc/2492897', 'first': '2018-02-12T16:10:39.000Z', 'last': '2018-02-12T16:10:39.000Z', 'count': 1, 'description': None}\n",
      "Completed: dabreu-coburn\n",
      "skipping unknown event kdonnelly {'name': 'visited:/artist/123', 'first': '2018-02-14T12:42:24.000Z', 'last': '2018-02-14T12:43:16.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event kdonnelly {'name': 'visited:/artist/sc/54080983', 'first': '2018-02-14T12:43:04.000Z', 'last': '2018-02-14T12:43:04.000Z', 'count': 1, 'description': None}\n",
      "Completed: kdonnelly\n",
      "Completed: jedgar\n",
      "Completed: radio\n",
      "Completed: ericka\n",
      "Completed: kate\n",
      "Completed: sylvia\n",
      "Completed: jermaine\n",
      "Completed: zoe\n",
      "skipping unknown event jamie-us-epic {'name': 'visited:/following', 'first': '2017-11-19T10:24:57.000Z', 'last': '2017-11-19T17:51:44.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event jamie-us-epic {'name': 'visited:/artist/123', 'first': '2017-11-19T17:50:11.000Z', 'last': '2017-11-19T17:50:11.000Z', 'count': 1, 'description': None}\n",
      "Completed: jamie-us-epic\n",
      "Completed: jamie-ca\n",
      "skipping unknown event rob-ca {'name': 'visited:/artist/sc/126069237', 'first': '2018-02-14T14:06:21.000Z', 'last': '2018-02-14T14:06:21.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob-ca {'name': 'visited:/artist/sc/112649309', 'first': '2018-02-23T16:30:43.000Z', 'last': '2018-02-23T16:30:43.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob-ca {'name': 'visited:/artist/sc/10227952', 'first': '2018-02-24T10:23:02.000Z', 'last': '2018-02-24T10:23:02.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob-ca {'name': 'visited:/soundcloud2', 'first': '2018-02-26T10:34:00.000Z', 'last': '2018-02-26T10:34:00.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob-ca {'name': 'visited:/artist/sc/200165267', 'first': '2018-02-26T16:01:03.000Z', 'last': '2018-02-26T16:01:03.000Z', 'count': 1, 'description': None}\n",
      "Completed: rob-ca\n",
      "skipping unknown event jadio {'name': 'visited:/like_track', 'first': '2017-11-19T10:19:34.000Z', 'last': '2017-11-19T10:19:34.000Z', 'count': 1, 'description': None}\n",
      "Completed: jadio\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/123', 'first': '2018-02-05T16:26:01.000Z', 'last': '2018-02-13T16:06:11.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/2068138', 'first': '2018-02-07T13:18:27.000Z', 'last': '2018-02-07T14:58:28.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/206813', 'first': '2018-02-07T14:58:17.000Z', 'last': '2018-02-07T14:58:17.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/tw/5849', 'first': '2018-02-08T11:10:23.000Z', 'last': '2018-02-08T11:10:23.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/5849', 'first': '2018-02-08T11:10:58.000Z', 'last': '2018-02-08T11:10:58.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/julienbrogard', 'first': '2018-02-08T12:25:21.000Z', 'last': '2018-02-08T13:55:17.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/angele_vl', 'first': '2018-02-08T12:29:29.000Z', 'last': '2018-02-20T14:00:58.000Z', 'count': 5, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/christianbrowne', 'first': '2018-02-08T12:48:43.000Z', 'last': '2018-02-08T12:48:43.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/166153994', 'first': '2018-02-08T12:49:09.000Z', 'last': '2018-02-08T13:55:01.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/lasson', 'first': '2018-02-08T13:26:24.000Z', 'last': '2018-02-19T16:27:51.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/collection_constance', 'first': '2018-02-08T13:36:22.000Z', 'last': '2018-02-08T13:36:22.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/496003', 'first': '2018-02-08T13:36:40.000Z', 'last': '2018-02-14T14:34:00.000Z', 'count': 4, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/3653772', 'first': '2018-02-08T13:54:05.000Z', 'last': '2018-02-08T13:54:05.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/tw/320880', 'first': '2018-02-08T13:55:42.000Z', 'last': '2018-02-12T17:58:41.000Z', 'count': 5, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/tw/282955', 'first': '2018-02-08T13:55:47.000Z', 'last': '2018-02-16T16:19:37.000Z', 'count': 4, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/tw/320762', 'first': '2018-02-08T13:55:53.000Z', 'last': '2018-02-08T13:55:53.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/19552035', 'first': '2018-02-08T13:56:18.000Z', 'last': '2018-02-08T13:56:18.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/3107607', 'first': '2018-02-08T13:56:27.000Z', 'last': '2018-02-08T13:56:27.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/334695219', 'first': '2018-02-08T15:09:04.000Z', 'last': '2018-02-08T15:09:04.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/45884717', 'first': '2018-02-09T12:30:25.000Z', 'last': '2018-02-09T12:30:25.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/21695387', 'first': '2018-02-09T12:30:33.000Z', 'last': '2018-02-09T12:30:33.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/19658350', 'first': '2018-02-09T12:30:39.000Z', 'last': '2018-02-09T12:30:39.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/10577636', 'first': '2018-02-09T12:30:46.000Z', 'last': '2018-02-09T12:30:46.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/tw/19712', 'first': '2018-02-09T12:31:12.000Z', 'last': '2018-02-09T12:31:12.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/tw/320802', 'first': '2018-02-09T12:31:15.000Z', 'last': '2018-02-13T15:48:00.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/clairelaffut', 'first': '2018-02-09T12:31:21.000Z', 'last': '2018-02-09T12:31:21.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/22353025', 'first': '2018-02-12T10:52:08.000Z', 'last': '2018-02-19T11:14:59.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/178375921', 'first': '2018-02-12T10:53:12.000Z', 'last': '2018-02-12T10:53:12.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/303867383', 'first': '2018-02-12T10:53:34.000Z', 'last': '2018-02-12T10:53:34.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/tw/320821', 'first': '2018-02-12T10:56:25.000Z', 'last': '2018-02-12T10:56:25.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/alunageorge', 'first': '2018-02-12T15:19:39.000Z', 'last': '2018-02-12T15:23:07.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/1562533', 'first': '2018-02-12T15:21:02.000Z', 'last': '2018-02-12T15:21:02.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/floatingpoints', 'first': '2018-02-12T15:32:39.000Z', 'last': '2018-02-12T15:32:39.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/virgilabloh', 'first': '2018-02-12T16:40:07.000Z', 'last': '2018-02-12T16:40:07.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/294078158', 'first': '2018-02-12T17:43:03.000Z', 'last': '2018-02-12T17:43:03.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/13977783', 'first': '2018-02-13T15:40:18.000Z', 'last': '2018-02-13T16:27:03.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/36093805', 'first': '2018-02-13T15:40:33.000Z', 'last': '2018-02-13T15:40:33.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/211366192', 'first': '2018-02-13T15:40:48.000Z', 'last': '2018-02-13T15:40:48.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/213321', 'first': '2018-02-13T15:40:56.000Z', 'last': '2018-02-13T15:40:56.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/jordan_mnrd', 'first': '2018-02-13T15:42:01.000Z', 'last': '2018-02-13T15:42:01.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/tw/320791', 'first': '2018-02-13T15:44:36.000Z', 'last': '2018-02-13T15:46:52.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/282453399', 'first': '2018-02-13T16:27:12.000Z', 'last': '2018-02-13T16:27:12.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/3212849', 'first': '2018-02-13T16:27:19.000Z', 'last': '2018-02-13T16:27:19.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/tw/320998', 'first': '2018-02-13T16:28:04.000Z', 'last': '2018-02-13T16:28:04.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/200165267', 'first': '2018-02-13T17:43:03.000Z', 'last': '2018-02-23T08:55:36.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/tw/320448', 'first': '2018-02-13T17:44:01.000Z', 'last': '2018-02-13T17:44:01.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/cheesebykonbini', 'first': '2018-02-13T21:29:15.000Z', 'last': '2018-02-14T14:33:33.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/lebureaudesarah', 'first': '2018-02-13T21:29:40.000Z', 'last': '2018-02-13T21:29:40.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/carolinereceveur', 'first': '2018-02-13T21:30:34.000Z', 'last': '2018-02-14T14:33:30.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/tw/278370', 'first': '2018-02-14T09:21:30.000Z', 'last': '2018-02-14T09:21:30.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/in/silenceofsheol', 'first': '2018-02-14T13:29:30.000Z', 'last': '2018-02-14T13:35:28.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/silenceofsheol', 'first': '2018-02-14T13:29:40.000Z', 'last': '2018-02-14T14:44:38.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/milliebobbybrown', 'first': '2018-02-15T13:06:13.000Z', 'last': '2018-02-15T13:06:13.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/traxmag', 'first': '2018-02-15T13:07:20.000Z', 'last': '2018-02-15T13:07:20.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/mathieufoucher', 'first': '2018-02-15T13:10:03.000Z', 'last': '2018-02-15T13:10:03.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/qofficiel', 'first': '2018-02-15T13:10:14.000Z', 'last': '2018-02-15T13:10:14.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/diplo', 'first': '2018-02-15T13:53:28.000Z', 'last': '2018-02-19T16:25:34.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/112649309', 'first': '2018-02-15T17:23:59.000Z', 'last': '2018-02-23T09:02:19.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/sc/109670649', 'first': '2018-02-19T11:17:25.000Z', 'last': '2018-02-19T11:17:25.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/onlysaro', 'first': '2018-02-20T14:34:25.000Z', 'last': '2018-02-20T14:34:25.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event sonyfrance {'name': 'visited:/artist/in/saintjhn', 'first': '2018-02-20T14:42:01.000Z', 'last': '2018-02-20T14:42:01.000Z', 'count': 1, 'description': None}\n",
      "Completed: sonyfrance\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "skipping unknown event rob-france {'name': 'visited:/soundcloud2', 'first': '2017-11-16T18:23:19.000Z', 'last': '2018-02-02T13:06:43.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event rob-france {'name': 'visited:/artist/123', 'first': '2017-12-15T13:13:50.000Z', 'last': '2017-12-15T13:22:11.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event rob-france {'name': 'visited:/trackingh', 'first': '2017-12-15T13:21:41.000Z', 'last': '2017-12-15T13:21:41.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob-france {'name': 'visited:/tracking', 'first': '2017-12-15T13:21:42.000Z', 'last': '2017-12-15T13:21:42.000Z', 'count': 1, 'description': None}\n",
      "Completed: rob-france\n",
      "Completed: joel-france\n",
      "skipping unknown event carla {'name': 'visited:/youtube/artist123', 'first': '2017-11-03T14:19:45.000Z', 'last': '2017-11-03T14:19:45.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event carla {'name': 'visited:/youtube/artist/123', 'first': '2017-11-03T14:19:49.000Z', 'last': '2017-11-03T14:19:49.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event carla {'name': 'visited:/whitelist/artist/123', 'first': '2017-11-03T17:41:35.000Z', 'last': '2018-01-17T17:45:18.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event carla {'name': 'visited:/artist/123', 'first': '2017-11-03T17:41:48.000Z', 'last': '2018-02-14T15:11:59.000Z', 'count': 19, 'description': None}\n",
      "skipping unknown event carla {'name': 'visited:/artist/sc/2485538', 'first': '2018-02-08T13:52:11.000Z', 'last': '2018-02-08T13:52:11.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event carla {'name': 'visited:/artist/sc/27580353', 'first': '2018-02-08T13:52:43.000Z', 'last': '2018-02-08T13:52:43.000Z', 'count': 1, 'description': None}\n",
      "Completed: carla\n",
      "skipping unknown event patrick {'name': 'visited:/artist/123', 'first': '2017-11-02T16:50:27.000Z', 'last': '2017-11-02T18:15:35.000Z', 'count': 2, 'description': None}\n",
      "Completed: patrick\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/sc/27580353', 'first': '2018-02-08T13:50:25.000Z', 'last': '2018-02-08T13:50:25.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/sc/109670649', 'first': '2018-02-08T13:50:35.000Z', 'last': '2018-02-08T13:50:35.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/tw/320802', 'first': '2018-02-13T15:58:25.000Z', 'last': '2018-02-13T15:58:25.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/sc/22527122', 'first': '2018-02-13T15:59:12.000Z', 'last': '2018-02-13T15:59:12.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/sc/1694491', 'first': '2018-02-13T16:09:53.000Z', 'last': '2018-02-13T16:09:53.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/sc/200165267', 'first': '2018-02-13T16:13:06.000Z', 'last': '2018-02-13T16:13:06.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/sc/8553751', 'first': '2018-02-13T17:44:42.000Z', 'last': '2018-02-13T17:44:42.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/sc/496003', 'first': '2018-02-13T17:45:37.000Z', 'last': '2018-02-13T17:45:37.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/tw/10477', 'first': '2018-02-13T21:26:08.000Z', 'last': '2018-02-13T21:26:08.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/tw/321022', 'first': '2018-02-13T21:26:15.000Z', 'last': '2018-02-13T21:26:15.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/tw/6762', 'first': '2018-02-13T21:26:28.000Z', 'last': '2018-02-13T21:26:28.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/tw/49386', 'first': '2018-02-13T21:26:47.000Z', 'last': '2018-02-13T21:26:47.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/tw/320865', 'first': '2018-02-13T21:26:57.000Z', 'last': '2018-02-13T21:26:57.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-ultra {'name': 'visited:/artist/in/silenceofsheol', 'first': '2018-02-14T14:44:23.000Z', 'last': '2018-02-14T14:44:23.000Z', 'count': 1, 'description': None}\n",
      "Completed: joel-us-ultra\n",
      "skipping unknown event rob-us-epic {'name': 'visited:/soundcloud2', 'first': '2017-10-24T17:19:35.000Z', 'last': '2018-01-08T10:15:11.000Z', 'count': 10, 'description': None}\n",
      "skipping unknown event rob-us-epic {'name': 'visited:/artist/123_', 'first': '2017-10-30T18:33:14.000Z', 'last': '2017-10-30T18:33:14.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob-us-epic {'name': 'visited:/artist/123', 'first': '2017-10-30T18:33:16.000Z', 'last': '2018-02-12T16:33:12.000Z', 'count': 14, 'description': None}\n",
      "skipping unknown event rob-us-epic {'name': 'visited:/demos', 'first': '2017-11-17T23:04:46.000Z', 'last': '2018-01-17T16:56:06.000Z', 'count': 5, 'description': None}\n",
      "Completed: rob-us-epic\n",
      "skipping unknown event rob-us-columbia {'name': 'visited:/soundcloud2', 'first': '2017-10-23T19:04:39.000Z', 'last': '2017-10-30T11:22:00.000Z', 'count': 4, 'description': None}\n",
      "skipping unknown event rob-us-columbia {'name': 'visited:/demos', 'first': '2017-10-23T19:19:27.000Z', 'last': '2017-10-25T15:05:42.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event rob-us-columbia {'name': 'visited:/artist/123', 'first': '2018-01-12T11:32:57.000Z', 'last': '2018-01-12T12:10:53.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event rob-us-columbia {'name': 'visited:/artist/sc/261059553', 'first': '2018-02-08T15:08:09.000Z', 'last': '2018-02-08T15:08:09.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob-us-columbia {'name': 'visited:/artist123', 'first': '2018-02-09T12:33:21.000Z', 'last': '2018-02-09T12:33:21.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob-us-columbia {'name': 'visited:/artist/sc/108856420', 'first': '2018-02-09T12:33:38.000Z', 'last': '2018-02-09T12:33:38.000Z', 'count': 1, 'description': None}\n",
      "Completed: rob-us-columbia\n",
      "Completed: Jamie Mill\n",
      "Completed: joel-ca\n",
      "Completed: joel-us-columbia\n",
      "Completed: robsilver\n",
      "skipping unknown event rob-us-rca {'name': 'visited:/demos', 'first': '2017-11-02T20:15:45.000Z', 'last': '2017-12-06T16:53:51.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event rob-us-rca {'name': 'visited:/soundcloud2', 'first': '2017-11-07T18:12:28.000Z', 'last': '2017-11-07T18:12:28.000Z', 'count': 1, 'description': None}\n",
      "Completed: rob-us-rca\n",
      "skipping unknown event joel {'name': 'visited:/artist/tw/18996', 'first': '2018-02-14T15:18:55.000Z', 'last': '2018-02-14T15:18:55.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/artist/sc/112649309', 'first': '2018-02-14T15:20:44.000Z', 'last': '2018-02-16T13:43:40.000Z', 'count': 5, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/artist/in/saintjhn', 'first': '2018-02-14T15:25:09.000Z', 'last': '2018-02-14T15:25:09.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/artist/sc/200165267', 'first': '2018-02-14T15:29:22.000Z', 'last': '2018-02-17T22:19:27.000Z', 'count': 4, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/artist/in/onlysaro', 'first': '2018-02-14T15:31:37.000Z', 'last': '2018-02-14T15:31:37.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/artist/tw/7454', 'first': '2018-02-14T15:57:42.000Z', 'last': '2018-02-14T15:57:42.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/artist/sc/62007720', 'first': '2018-02-15T11:20:36.000Z', 'last': '2018-02-15T11:20:36.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/artist/in/silenceofsheol', 'first': '2018-02-15T13:13:51.000Z', 'last': '2018-02-20T13:03:02.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/artist/sc/302893146', 'first': '2018-02-16T21:27:12.000Z', 'last': '2018-02-16T21:27:12.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/soundcloud2', 'first': '2018-02-19T16:24:26.000Z', 'last': '2018-02-19T16:24:26.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/following', 'first': '2018-03-13T16:46:08.000Z', 'last': '2018-03-13T16:46:08.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/a', 'first': '2018-03-14T16:53:03.000Z', 'last': '2018-06-28T12:45:13.000Z', 'count': 4, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/artists', 'first': '2018-03-14T16:53:09.000Z', 'last': '2018-04-30T08:44:44.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/soundcloud_by_day', 'first': '2018-04-04T10:11:26.000Z', 'last': '2018-04-04T10:18:17.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/superadmin', 'first': '2018-04-06T07:02:18.000Z', 'last': '2018-04-06T07:15:10.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/_samples', 'first': '2018-04-22T15:43:02.000Z', 'last': '2018-04-23T05:01:54.000Z', 'count': 4, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/sc', 'first': '2018-04-23T06:39:35.000Z', 'last': '2018-05-09T14:10:47.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/youtube2', 'first': '2018-04-27T14:57:35.000Z', 'last': '2018-04-27T14:57:35.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/sct', 'first': '2018-05-08T10:59:15.000Z', 'last': '2018-05-08T10:59:30.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event joel {'name': 'visited:/', 'first': '2018-06-16T22:44:10.000Z', 'last': '2018-08-29T14:20:10.000Z', 'count': 2, 'description': None}\n",
      "Completed: joel\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "skipping unknown event rob {'name': 'visited:/soundcloud2', 'first': '2017-10-23T14:43:51.000Z', 'last': '2018-02-27T11:20:50.000Z', 'count': 35, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/whitelist/artist/123', 'first': '2017-11-02T18:36:50.000Z', 'last': '2017-11-02T18:36:50.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/artist/123', 'first': '2017-11-30T14:33:32.000Z', 'last': '2018-02-13T11:39:31.000Z', 'count': 5, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/tracking', 'first': '2018-01-09T14:14:11.000Z', 'last': '2018-01-09T14:14:11.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/demos', 'first': '2018-01-30T13:50:43.000Z', 'last': '2018-01-30T13:50:43.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/artist/sc/200165267', 'first': '2018-02-14T16:15:34.000Z', 'last': '2018-02-16T14:10:16.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/artist/tw/18996', 'first': '2018-02-14T17:24:51.000Z', 'last': '2018-02-19T16:28:15.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/artists/sc/200165267', 'first': '2018-02-15T09:12:48.000Z', 'last': '2018-02-15T09:12:48.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/artist/sc/2526512', 'first': '2018-02-15T09:21:44.000Z', 'last': '2018-02-15T09:21:44.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/artist/sc/302893146', 'first': '2018-02-15T10:24:30.000Z', 'last': '2018-02-16T14:23:31.000Z', 'count': 2, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/artist/sc/62007720', 'first': '2018-02-15T10:25:04.000Z', 'last': '2018-02-15T10:25:04.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/artist/in/diplo', 'first': '2018-02-15T12:37:52.000Z', 'last': '2018-02-15T12:37:52.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/artist/sc/112649309', 'first': '2018-02-15T13:12:53.000Z', 'last': '2018-02-22T15:43:58.000Z', 'count': 22, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/artist/sc/294078158', 'first': '2018-03-05T10:25:31.000Z', 'last': '2018-03-05T10:25:31.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/artists', 'first': '2018-03-16T13:41:41.000Z', 'last': '2018-03-16T13:41:41.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/youtube2', 'first': '2018-05-02T21:45:45.000Z', 'last': '2018-05-02T21:45:45.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/a', 'first': '2018-06-19T16:07:51.000Z', 'last': '2018-06-19T16:07:51.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/https:', 'first': '2018-08-15T08:54:44.000Z', 'last': '2018-08-15T08:54:44.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event rob {'name': 'visited:/girlin_red', 'first': '2018-12-04T10:37:33.000Z', 'last': '2018-12-04T10:37:33.000Z', 'count': 1, 'description': None}\n",
      "Completed: rob\n",
      "skipping unknown event shivas {'name': 'visited:/soundcloud2', 'first': '2017-11-02T12:29:44.000Z', 'last': '2018-02-14T12:49:58.000Z', 'count': 7, 'description': None}\n",
      "Completed: shivas\n",
      "skipping unknown event dan {'name': 'visited:/soundcloud2', 'first': '2017-10-23T10:49:20.000Z', 'last': '2017-12-11T16:36:30.000Z', 'count': 8, 'description': None}\n",
      "Completed: dan\n",
      "skipping unknown event jamie {'name': 'visited:/soundcloud2', 'first': '2017-11-18T16:53:39.000Z', 'last': '2018-03-01T10:03:14.000Z', 'count': 5, 'description': None}\n",
      "skipping unknown event jamie {'name': 'visited:/artist/sc/12314', 'first': '2018-02-06T17:33:43.000Z', 'last': '2018-02-06T17:33:43.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event jamie {'name': 'visited:/artists/in/a1', 'first': '2018-02-08T12:13:45.000Z', 'last': '2018-02-08T12:13:45.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event jamie {'name': 'visited:/artist/in/a1', 'first': '2018-02-08T12:14:15.000Z', 'last': '2018-03-01T12:27:26.000Z', 'count': 5, 'description': None}\n",
      "skipping unknown event jamie {'name': 'visited:/artist/in/a3', 'first': '2018-02-08T12:18:30.000Z', 'last': '2018-02-08T12:18:30.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event jamie {'name': 'visited:/artist/in/diplo', 'first': '2018-02-16T11:56:12.000Z', 'last': '2018-02-20T12:20:24.000Z', 'count': 5, 'description': None}\n",
      "Completed: jamie\n",
      "skipping unknown event jamie-us-rca {'name': 'visited:/soundcloud2', 'first': '2017-10-24T22:12:14.000Z', 'last': '2017-11-18T17:15:21.000Z', 'count': 6, 'description': None}\n",
      "skipping unknown event jamie-us-rca {'name': 'visited:/artist/123', 'first': '2017-10-28T14:52:35.000Z', 'last': '2018-02-17T16:13:17.000Z', 'count': 11, 'description': None}\n",
      "skipping unknown event jamie-us-rca {'name': 'visited:/demos', 'first': '2017-10-28T15:56:34.000Z', 'last': '2017-11-12T22:40:27.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event jamie-us-rca {'name': 'visited:/whitelist/artist/123', 'first': '2017-11-02T18:16:37.000Z', 'last': '2017-11-02T18:16:37.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event jamie-us-rca {'name': 'visited:/following', 'first': '2017-11-18T22:11:35.000Z', 'last': '2018-02-17T16:19:51.000Z', 'count': 3, 'description': None}\n",
      "skipping unknown event jamie-us-rca {'name': 'visited:/followed', 'first': '2017-11-18T22:11:40.000Z', 'last': '2017-11-18T22:11:40.000Z', 'count': 1, 'description': None}\n",
      "Completed: jamie-us-rca\n",
      "Completed: karl\n",
      "skipping unknown event joel-us-rca {'name': 'visited:/artists/123', 'first': '2017-11-03T17:04:20.000Z', 'last': '2017-11-03T17:04:20.000Z', 'count': 1, 'description': None}\n",
      "skipping unknown event joel-us-rca {'name': 'visited:/artist/123', 'first': '2017-11-03T17:04:23.000Z', 'last': '2018-01-12T11:34:52.000Z', 'count': 2, 'description': None}\n",
      "Completed: joel-us-rca\n",
      "Completed: joel-us-epic\n",
      "Failed for user None 'events'\n"
     ]
    }
   ],
   "source": [
    "with open('./intercomdata.csv', 'w') as fout:\n",
    "    seen = set()\n",
    "    w = csv.writer(fout)\n",
    "    for user in users:\n",
    "        if user[0] in seen:\n",
    "            print(\"Skipping {} as duplicate\".format(user[0]))\n",
    "            continue\n",
    "        \n",
    "        seen.add(user[0])\n",
    "        try:\n",
    "            events = get_rows_for_user(user[0])\n",
    "            for event in events:\n",
    "                w.writerow(user + event)\n",
    "            print(\"Completed: {}\".format(user[0]))\n",
    "            import time; time.sleep(2)\n",
    "        except Exception as e:\n",
    "            print(\"Failed for user {}\".format(user[0]), e)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[['mfridson', 1543954001, 1543954057, 'New York'],\n",
       " ['sweden', 1543257718, 1543278305, 'Encino'],\n",
       " ['nharding', 1540755300, 1540755301, 'Balham'],\n",
       " ['wcolston', 1539970972, 1543869449, 'Los Angeles'],\n",
       " ['jpinchard', 1539778601, 1542295932, 'London'],\n",
       " ['ajpl', 1539640501, 1539670457, 'North Hollywood'],\n",
       " ['tee', 1539139521, 1540844345, 'Encino'],\n",
       " ['ronperry', 1538436661, 1539183987, 'New York'],\n",
       " ['braheem', 1538074632, 1543973368, 'Los Angeles'],\n",
       " ['rca2', 1538001112, 1538159557, 'New York'],\n",
       " ['ddefreeuw', 1537987569, 1539715563, 'New York'],\n",
       " ['markg', 1537576229, 1541012470, 'Encino'],\n",
       " ['zbrownstein', 1537372440, 1543962849, 'New York'],\n",
       " ['nworthington', 1536911396, 1541091929, 'Hornsey'],\n",
       " ['adrian', 1536313626, 1541422112, 'London'],\n",
       " ['dchenfeld', 1536073508, 1543860189, 'New York'],\n",
       " ['jmichaels', 1536069184, 1543901751, 'Brooklyn'],\n",
       " ['rcadigital', 1536053975, 1536919751, 'Paddington'],\n",
       " ['kara', 1535644088, 1536072304, 'Paddington'],\n",
       " ['asaltman', 1535404462, 1535404469, 'Brooklyn'],\n",
       " ['ore', 1534864596, 1534953288, 'Acton'],\n",
       " ['dseal', 1534861650, 1534861705, 'Acton'],\n",
       " ['germany', 1534439484, 1542807030, 'Mannheim'],\n",
       " ['sgil', 1534278073, 1534776967, 'London'],\n",
       " ['nashville', 1534190410, 1534191528, 'Nashville'],\n",
       " ['ldonovan', 1533830061, 1533889972, 'London'],\n",
       " ['ebraham', 1533821345, 1541437789, 'Maida Vale'],\n",
       " ['latam', 1533720778, 1539724145, 'Los Angeles'],\n",
       " ['jedwards', 1533567859, 1543413053, 'London'],\n",
       " ['slowe', 1533288423, 1533288991, 'London'],\n",
       " ['jryan', 1533228596, 1544014395, 'London'],\n",
       " ['tiann', 1532092667, 1541524336, 'London'],\n",
       " ['danmarket', 1531400155, 1544020498, 'London'],\n",
       " ['joeiddison', 1531390778, 1544022618, 'London'],\n",
       " ['benbodie', 1531388351, 1542296371, 'London'],\n",
       " ['anna', 1531323719, 1544023709, 'London'],\n",
       " ['sej', 1531146007, 1543836213, 'London'],\n",
       " ['willem', 1530872659, 1542897791, 'London'],\n",
       " ['sahill', 1530624936, 1543875645, 'Southall'],\n",
       " ['test', 1530118621, 1531779352, 'Islington'],\n",
       " ['joel-docker_test', 1530118594, 1530118610, 'London'],\n",
       " ['tian', 1529061701, 1529061765, 'Hornsey'],\n",
       " ['rca1', 1528162052, 1543942416, 'New York'],\n",
       " ['tjackson', 1527849783, 1543810210, 'Darlinghurst'],\n",
       " ['pharris', 1527848964, 1530182364, 'Hornsey'],\n",
       " ['rca3', 1527689735, 1527780618, 'Hornsey'],\n",
       " ['jchristie', 1527592042, 1534308780, 'Darlinghurst'],\n",
       " ['cblackwell', 1526326756, 1526327712, 'Hornsey'],\n",
       " ['gparry', 1526295832, 1526473039, 'London'],\n",
       " ['dmcclung', 1526255537, 1527156015, 'New York'],\n",
       " ['mfridson', 1543954001, 1543954057, 'New York'],\n",
       " ['sweden', 1543257718, 1543278305, 'Encino'],\n",
       " ['nharding', 1540755300, 1540755301, 'Balham'],\n",
       " ['wcolston', 1539970972, 1543869449, 'Los Angeles'],\n",
       " ['jpinchard', 1539778601, 1542295932, 'London'],\n",
       " ['ajpl', 1539640501, 1539670457, 'North Hollywood'],\n",
       " ['tee', 1539139521, 1540844345, 'Encino'],\n",
       " ['ronperry', 1538436661, 1539183987, 'New York'],\n",
       " ['braheem', 1538074632, 1543973368, 'Los Angeles'],\n",
       " ['rca2', 1538001112, 1538159557, 'New York'],\n",
       " ['ddefreeuw', 1537987569, 1539715563, 'New York'],\n",
       " ['markg', 1537576229, 1541012470, 'Encino'],\n",
       " ['zbrownstein', 1537372440, 1543962849, 'New York'],\n",
       " ['nworthington', 1536911396, 1541091929, 'Hornsey'],\n",
       " ['adrian', 1536313626, 1541422112, 'London'],\n",
       " ['dchenfeld', 1536073508, 1543860189, 'New York'],\n",
       " ['jmichaels', 1536069184, 1543901751, 'Brooklyn'],\n",
       " ['rcadigital', 1536053975, 1536919751, 'Paddington'],\n",
       " ['kara', 1535644088, 1536072304, 'Paddington'],\n",
       " ['asaltman', 1535404462, 1535404469, 'Brooklyn'],\n",
       " ['ore', 1534864596, 1534953288, 'Acton'],\n",
       " ['dseal', 1534861650, 1534861705, 'Acton'],\n",
       " ['germany', 1534439484, 1542807030, 'Mannheim'],\n",
       " ['sgil', 1534278073, 1534776967, 'London'],\n",
       " ['nashville', 1534190410, 1534191528, 'Nashville'],\n",
       " ['ldonovan', 1533830061, 1533889972, 'London'],\n",
       " ['ebraham', 1533821345, 1541437789, 'Maida Vale'],\n",
       " ['latam', 1533720778, 1539724145, 'Los Angeles'],\n",
       " ['jedwards', 1533567859, 1543413053, 'London'],\n",
       " ['slowe', 1533288423, 1533288991, 'London'],\n",
       " ['jryan', 1533228596, 1544014395, 'London'],\n",
       " ['tiann', 1532092667, 1541524336, 'London'],\n",
       " ['danmarket', 1531400155, 1544020498, 'London'],\n",
       " ['joeiddison', 1531390778, 1544022618, 'London'],\n",
       " ['benbodie', 1531388351, 1542296371, 'London'],\n",
       " ['anna', 1531323719, 1544023709, 'London'],\n",
       " ['sej', 1531146007, 1543836213, 'London'],\n",
       " ['willem', 1530872659, 1542897791, 'London'],\n",
       " ['sahill', 1530624936, 1543875645, 'Southall'],\n",
       " ['test', 1530118621, 1531779352, 'Islington'],\n",
       " ['joel-docker_test', 1530118594, 1530118610, 'London'],\n",
       " ['tian', 1529061701, 1529061765, 'Hornsey'],\n",
       " ['rca1', 1528162052, 1543942416, 'New York'],\n",
       " ['tjackson', 1527849783, 1543810210, 'Darlinghurst'],\n",
       " ['pharris', 1527848964, 1530182364, 'Hornsey'],\n",
       " ['rca3', 1527689735, 1527780618, 'Hornsey'],\n",
       " ['jchristie', 1527592042, 1534308780, 'Darlinghurst'],\n",
       " ['cblackwell', 1526326756, 1526327712, 'Hornsey'],\n",
       " ['gparry', 1526295832, 1526473039, 'London'],\n",
       " ['dmcclung', 1526255537, 1527156015, 'New York'],\n",
       " ['kohagan', 1526255050, 1543978118, 'Darlinghurst'],\n",
       " ['Joel Leslie', 1526252441, 1526289686, 'London'],\n",
       " ['lucy', 1526041931, 1526287001, 'London'],\n",
       " ['jandino', 1525966656, 1543615062, 'White Plains'],\n",
       " ['jfowler', 1525463860, 1526671317, 'New York'],\n",
       " ['ausdemo', 1525456977, 1526300461, 'London'],\n",
       " ['twheeley', 1525441492, 1526671884, 'New York'],\n",
       " ['disruptor', 1525370021, 1543942288, 'New York'],\n",
       " ['demo', 1522836493, 1524147318, 'New York'],\n",
       " ['chrisf', 1522832403, 1543864960, 'New York'],\n",
       " ['fredb', 1522832247, 1522839570, 'London'],\n",
       " ['rob2', 1522244180, 1522843430, 'London'],\n",
       " ['alex', 1522237522, 1543234423, 'London'],\n",
       " ['spotify', 1521453575, 1521550686, 'Hornsey'],\n",
       " ['joe', 1520603459, 1529067472, 'Hornsey'],\n",
       " ['epicfrance', 1519398959, 1520939168, 'Westminster'],\n",
       " ['ariatafrance', 1519398933, 1530785785, 'Paris'],\n",
       " ['columbiafrance', 1519398908, 1519915811, 'Paris'],\n",
       " ['zeke', 1519052986, 1543274825, 'Encino'],\n",
       " ['wmitchell', 1518451408, 1543900967, 'Toronto'],\n",
       " ['dabreu-coburn', 1518370233, 1531923937, 'Toronto'],\n",
       " ['kdonnelly', 1518103254, 1518612489, 'London'],\n",
       " ['jedgar', 1518098477, 1527713283, 'Toronto'],\n",
       " ['radio', 1517845483, 1520767054, 'Greenford'],\n",
       " ['ericka', 1511296964, 1511296966, 'Westminster'],\n",
       " ['kate', 1511296869, 1511297975, 'Westminster'],\n",
       " ['sylvia', 1511296784, 1544010736, 'London'],\n",
       " ['jermaine', 1511296652, 1525910715, 'Los Angeles'],\n",
       " ['zoe', 1511296559, 1535765497, 'Los Angeles'],\n",
       " ['jamie-us-epic', 1511087088, 1511113904, 'Islington'],\n",
       " ['jamie-ca', 1511080913, 1511080923, 'Hornsey'],\n",
       " ['rob-ca', 1511079976, 1519724807, 'London'],\n",
       " ['jadio', 1511045160, 1511732700, 'Islington'],\n",
       " ['sonyfrance', 1510409168, 1539682297, 'Paris'],\n",
       " ['rob-france', 1510181727, 1517830543, 'London'],\n",
       " ['joel-france', 1510094763, 1518009479, 'Tottenham'],\n",
       " ['carla', 1508965297, 1519051620, 'London'],\n",
       " ['patrick', 1508964591, 1517833055, 'London'],\n",
       " ['joel-us-ultra', 1508964040, 1518699900, 'London'],\n",
       " ['rob-us-epic', 1508865559, 1519402440, None],\n",
       " ['rob-us-columbia', 1508785434, 1519911771, 'London'],\n",
       " ['Jamie Mill', 1508363042, 1511015727, 'Islington'],\n",
       " ['joel-ca', 1508362806, 1518699887, 'London'],\n",
       " ['joel-us-columbia', 1508333111, 1508964031, 'Hornsey'],\n",
       " ['robsilver', 1508279515, 1539700880, 'New York'],\n",
       " ['rob-us-rca', 1508273360, 1514990096, None],\n",
       " ['joel', 1508269124, 1543950037, 'Toronto'],\n",
       " ['rob', 1508166471, 1544018178, 'London'],\n",
       " ['shivas', 1508164287, 1518612597, 'London'],\n",
       " ['dan', 1508159093, 1513010602, 'London'],\n",
       " ['jamie', 1508101090, 1531859035, 'Islington'],\n",
       " ['jamie-us-rca', 1508098122, 1524051399, 'Islington'],\n",
       " ['karl', 1508094210, 1543945687, 'New York'],\n",
       " ['joel-us-rca', 1508093999, 1516047409, 'Tottenham'],\n",
       " ['joel-us-epic', 1508093186, 1520330119, 'London'],\n",
       " [None, 1508086661, 1508093126, 'New York']]"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "users"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "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.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
