Skip to content

Instantly share code, notes, and snippets.

@AtiehG
Last active August 29, 2015 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AtiehG/a52bb848e6f8bced111b to your computer and use it in GitHub Desktop.
Save AtiehG/a52bb848e6f8bced111b to your computer and use it in GitHub Desktop.
id,chain,offer,market,repeattrips,repeater,offerdate
86246,205,1208251,34,5,t,2013-04-24
86252,205,1197502,34,16,t,2013-03-27
12682470,18,1197502,11,0,f,2013-03-28
12996040,15,1197502,9,0,f,2013-03-25
13089312,15,1204821,9,0,f,2013-04-01
13179265,14,1197502,8,0,f,2013-03-29
13251776,15,1200581,9,0,f,2013-03-30
13540129,14,1200581,8,0,f,2013-03-30
13807224,4,1204576,1,0,f,2013-04-05
13873775,4,1197502,1,0,f,2013-03-26
13974451,4,1197502,1,0,f,2013-03-26
14088807,3,1200581,2,1,t,2013-04-17
14381137,4,1197502,1,0,f,2013-04-04
14576147,18,1197502,11,0,f,2013-04-02
15530842,95,1197502,39,0,f,2013-04-19
15705695,15,1197502,9,0,f,2013-04-02
15738658,17,1197502,4,0,f,2013-04-22
15753725,17,1208251,4,0,f,2013-04-24
15941277,14,1197502,8,1,t,2013-03-26
15994113,4,1197502,1,0,f,2013-03-26
16138642,4,1204576,1,0,f,2013-04-05
16203579,15,1197502,9,2,t,2013-03-25
16238376,14,1197502,8,1,t,2013-04-05
16535563,4,1208251,1,7,t,2013-04-27
16606739,3,1208252,2,0,f,2013-04-24
16646740,4,1197502,1,0,f,2013-03-28
16691816,3,1200988,2,0,f,2013-03-18
16749437,20,1197502,7,1,t,2013-04-01
16797008,88,1197502,14,1,t,2013-04-17
17456470,14,1208252,8,0,f,2013-04-26
17472223,4,1200988,1,0,f,2013-03-23
17486592,15,1197502,9,1,t,2013-04-17
17693343,18,1197502,11,0,f,2013-03-27
17764186,15,1197502,9,0,f,2013-03-25
17888308,4,1204576,1,0,f,2013-04-05
17995179,95,1197502,39,0,f,2013-04-19
18249735,4,1197502,1,2,t,2013-03-25
18259179,3,1208251,2,0,f,2013-04-24
18277411,4,1204576,1,0,f,2013-04-04
18938874,88,1197502,14,0,f,2013-03-26
19069700,4,1197502,1,0,f,2013-03-25
19330664,4,1197502,1,0,f,2013-03-26
19506471,4,1197502,1,1,t,2013-03-28
19591356,4,1197502,1,1,t,2013-03-30
19773748,15,1197502,9,0,f,2013-04-01
19899195,14,1197502,8,0,f,2013-03-26
21024070,15,1208251,9,1,t,2013-04-23
21419778,14,1197502,8,0,f,2013-03-25
21603296,4,1208251,1,0,f,2013-04-26
21622166,3,1197502,2,0,f,2013-03-29
21837001,15,1204576,9,0,f,2013-04-07
21860840,15,1197502,9,0,f,2013-03-28
22077078,18,1197502,11,0,f,2013-03-26
22491084,15,1197502,9,1,t,2013-03-26
22709494,4,1204822,1,1,t,2013-04-21
22725281,18,1197502,11,0,f,2013-03-28
22791304,20,1197502,7,0,f,2013-03-27
22816872,17,1197502,4,0,f,2013-04-16
23270065,17,1197502,4,0,f,2013-03-29
23412989,17,1197502,4,0,f,2013-04-23
23447825,15,1197502,9,0,f,2013-03-26
23486921,18,1197502,11,0,f,2013-03-26
23791057,95,1208251,39,2,t,2013-04-24
44975538,2,1197502,1,0,f,2013-03-25
48445984,15,1197502,9,0,f,2013-03-25
48464291,18,1208251,11,0,f,2013-04-23
48468053,4,1197502,1,0,f,2013-03-31
48682962,15,1197502,9,0,f,2013-04-06
48693550,95,1197502,39,0,f,2013-03-31
48991232,4,1197502,1,0,f,2013-03-28
49165299,3,1200581,2,1,t,2013-03-31
49315424,4,1197502,1,0,f,2013-03-31
49326153,4,1197502,1,0,f,2013-03-25
49434116,14,1197502,8,0,f,2013-03-28
49451971,4,1197502,1,1,t,2013-03-27
49613173,4,1200581,1,0,f,2013-04-06
49806426,88,1200581,14,0,f,2013-03-30
49817353,17,1197502,4,0,f,2013-04-21
49914843,3,1197502,2,0,f,2013-04-03
50380832,15,1197502,9,0,f,2013-04-02
50411403,18,1197502,11,1,t,2013-04-07
50622160,18,1197502,11,0,f,2013-03-31
50808053,3,1197502,2,0,f,2013-04-02
50865818,15,1197502,9,0,f,2013-03-26
50869828,17,1197502,4,0,f,2013-04-18
51099044,4,1197502,1,0,f,2013-04-19
51122746,14,1197502,8,0,f,2013-03-26
51150009,4,1197502,1,0,f,2013-03-25
51441524,4,1197502,1,0,f,2013-03-30
51531106,15,1197502,9,0,f,2013-03-27
52503923,15,1204821,9,0,f,2013-04-02
52566892,17,1200581,4,0,f,2013-03-30
52598384,88,1197502,14,1,t,2013-03-25
52732914,18,1197502,11,0,f,2013-03-28
52933935,18,1197502,11,0,f,2013-04-09
53002206,14,1197502,8,0,f,2013-03-25
53024321,18,1197502,11,3,t,2013-04-18
53042409,15,1197502,9,0,f,2013-03-30
53066499,4,1197502,1,1,t,2013-03-28
53078911,95,1200581,39,0,f,2013-04-01
53250970,15,1204576,9,1,t,2013-04-18
53391520,4,1197502,1,0,f,2013-03-28
53421384,4,1197502,1,0,f,2013-03-31
53994426,20,1197502,7,0,f,2013-03-28
54108377,88,1197502,14,0,f,2013-04-05
54196583,17,1200582,4,0,f,2013-04-17
54625209,4,1208251,1,0,f,2013-04-23
54825809,95,1197502,39,0,f,2013-03-31
55253605,15,1197502,9,0,f,2013-03-26
55431649,17,1197502,4,0,f,2013-03-26
55488429,4,1197502,1,0,f,2013-04-03
55882738,4,1208251,1,1,t,2013-04-23
56118474,15,1204821,9,0,f,2013-04-09
56554319,14,1197502,8,1,t,2013-03-29
56912376,18,1197502,11,0,f,2013-03-25
56939637,4,1200582,1,0,f,2013-04-01
57086094,15,1204821,9,0,f,2013-04-14
57132131,15,1208251,9,0,f,2013-04-23
57337945,88,1197502,14,0,f,2013-03-25
57414874,18,1197502,11,0,f,2013-03-26
57465732,14,1197502,8,0,f,2013-03-25
57530684,18,1197502,11,0,f,2013-03-25
57608943,15,1197502,9,0,f,2013-03-29
57674291,15,1197502,9,0,f,2013-03-28
57719559,15,1197502,9,1,t,2013-03-27
57850102,17,1197502,4,1,t,2013-03-25
57973513,4,1197502,1,0,f,2013-03-27
58099874,88,1197502,14,1,t,2013-03-25
58121773,15,1197502,9,0,f,2013-03-27
58125841,15,1197502,9,0,f,2013-04-07
58487625,88,1197502,14,0,f,2013-03-29
58520187,4,1197502,1,1,t,2013-03-25
58544414,15,1200581,9,0,f,2013-04-01
58574978,20,1197502,7,0,f,2013-03-25
58762517,18,1204576,11,2,t,2013-04-05
59065372,20,1197502,7,0,f,2013-03-26
59067761,95,1204822,39,0,f,2013-04-19
59192576,88,1197502,14,0,f,2013-04-02
59474603,15,1197502,9,0,f,2013-03-26
59585609,18,1197502,11,0,f,2013-04-24
59816528,14,1204576,8,3,t,2013-04-04
60332240,15,1197502,9,0,f,2013-03-27
60456293,18,1197502,11,0,f,2013-03-25
60619909,15,1197502,9,0,f,2013-03-28
60766698,4,1197502,1,1,t,2013-04-01
60788872,14,1197502,8,0,f,2013-03-28
61031248,95,1197502,39,0,f,2013-04-03
61274786,4,1200581,1,0,f,2013-04-09
61819046,15,1197502,9,0,f,2013-03-28
62231359,88,1208251,14,0,f,2013-04-26
62396175,3,1197502,2,0,f,2013-03-25
62400998,20,1208251,7,1,t,2013-04-25
62471255,14,1208251,8,1,t,2013-04-23
62518933,18,1197502,11,0,f,2013-03-30
62707639,18,1200581,11,0,f,2013-03-30
62803931,4,1197502,1,0,f,2013-03-30
63097103,20,1204822,7,0,f,2013-04-04
63340358,95,1197502,39,0,f,2013-03-25
63422872,4,1197502,1,0,f,2013-03-31
63883643,18,1197502,11,0,f,2013-04-01
63904880,3,1208252,2,0,f,2013-04-23
63949570,15,1197502,9,0,f,2013-03-26
64086470,17,1197502,4,0,f,2013-03-30
64160330,17,1208252,4,0,f,2013-04-23
64288458,4,1197502,1,0,f,2013-03-25
64324753,17,1197502,4,0,f,2013-03-26
64585626,18,1208252,11,0,f,2013-04-23
64778099,15,1200581,9,0,f,2013-03-31
65519775,17,1208251,4,0,f,2013-04-28
65550743,18,1197502,11,0,f,2013-04-22
65594165,95,1197502,39,1,t,2013-03-27
65599099,4,1197502,1,0,f,2013-04-06
65923948,15,1197502,9,1,t,2013-03-25
66507967,88,1197502,14,0,f,2013-03-25
66986222,4,1197502,1,0,f,2013-04-21
67209680,15,1197502,9,0,f,2013-04-01
67274959,20,1204821,7,0,f,2013-04-01
67317718,15,1197502,9,0,f,2013-03-29
67574740,95,1197502,39,0,f,2013-03-26
67619205,4,1197502,1,0,f,2013-03-26
67660532,15,1200581,9,0,f,2013-03-31
67852785,15,1204576,9,0,f,2013-04-07
67957375,14,1204576,8,0,f,2013-04-06
68076539,4,1208251,1,0,f,2013-04-23
68405887,95,1197502,39,0,f,2013-03-25
68451850,4,1204576,1,0,f,2013-04-07
68468663,14,1204576,8,0,f,2013-04-06
68553518,17,1197502,4,0,f,2013-03-26
68553874,17,1204576,4,0,f,2013-04-23
68619204,15,1208252,9,0,f,2013-04-23
68734411,15,1197502,9,0,f,2013-03-30
68886117,18,1204821,11,0,f,2013-04-03
68903050,20,1197502,7,1,t,2013-03-29
69233695,20,1197502,7,0,f,2013-03-26
69355551,4,1197502,1,0,f,2013-03-26
69666042,15,1208251,9,6,t,2013-04-24
69727908,88,1204576,14,0,f,2013-04-04
69802491,88,1197502,14,0,f,2013-03-29
69900479,88,1197502,14,0,f,2013-03-27
70163937,17,1197502,4,1,t,2013-03-28
70217582,15,1204822,9,0,f,2013-04-23
70302821,20,1197502,7,0,f,2013-03-25
70312933,4,1197502,1,0,f,2013-03-27
70401965,88,1197502,14,0,f,2013-03-25
70623585,15,1197502,9,1,t,2013-03-27
70692138,95,1197502,39,0,f,2013-03-25
71054734,88,1197502,14,2,t,2013-04-19
71322589,88,1197502,14,0,f,2013-03-26
71378695,4,1197502,1,0,f,2013-03-26
71719354,88,1208251,14,0,f,2013-04-23
72013530,17,1197502,4,0,f,2013-04-03
72251692,15,1204822,9,0,f,2013-04-12
72495512,17,1197502,4,0,f,2013-04-08
72587201,15,1197502,9,0,f,2013-03-28
72600846,15,1208251,9,0,f,2013-04-24
72954514,17,1197502,4,0,f,2013-04-02
73121994,4,1197502,1,0,f,2013-03-26
73222886,18,1197502,11,0,f,2013-03-26
73238650,17,1197502,4,0,f,2013-04-21
73325479,95,1197502,39,0,f,2013-03-25
73327812,88,1197502,14,0,f,2013-03-28
73327813,15,1197502,9,4,t,2013-03-25
73410200,15,1197502,9,0,f,2013-04-01
73552673,15,1204576,9,0,f,2013-04-06
73606559,15,1204576,9,1,t,2013-04-04
73719666,3,1208251,2,0,f,2013-04-28
73891863,88,1208251,14,0,f,2013-04-27
74059460,4,1197502,1,0,f,2013-03-27
74332465,20,1197502,7,0,f,2013-03-26
74469519,15,1197502,9,1,t,2013-03-27
75006613,4,1197502,1,0,f,2013-03-26
75032259,15,1204576,9,0,f,2013-04-05
75051515,4,1197502,1,0,f,2013-03-29
75088826,4,1204576,1,0,f,2013-04-07
75144651,4,1208251,1,1,t,2013-04-27
75251925,14,1197502,8,0,f,2013-03-26
75547491,3,1197502,2,0,f,2013-03-26
75562862,4,1208251,1,1,t,2013-04-23
75682991,4,1208251,1,0,f,2013-04-26
75697857,4,1197502,1,1,t,2013-03-28
75902494,4,1197502,1,0,f,2013-03-25
76029192,95,1197502,39,3,t,2013-03-25
76053542,4,1197502,1,0,f,2013-03-27
76210273,3,1200581,2,4,t,2013-04-11
76212982,15,1197502,9,1,t,2013-03-26
76422259,17,1208251,4,2,t,2013-04-26
76810402,20,1197502,7,5,t,2013-03-28
76957383,17,1204576,4,0,f,2013-04-07
77057322,15,1197502,9,0,f,2013-03-27
77202444,14,1197502,8,0,f,2013-03-28
77225308,15,1204821,9,1,t,2013-04-19
77250071,18,1197502,11,0,f,2013-04-22
77270297,17,1208252,4,1,t,2013-04-25
77478019,4,1197502,1,1,t,2013-03-28
77660546,14,1197502,8,0,f,2013-03-30
77706058,4,1197502,1,1,t,2013-03-25
77734788,4,1197502,1,1,t,2013-03-25
77760889,14,1204576,8,0,f,2013-04-06
77801039,4,1197502,1,0,f,2013-04-17
77989055,88,1197502,14,0,f,2013-03-25
77998305,18,1197502,11,1,t,2013-03-25
78011710,20,1197502,7,0,f,2013-03-29
78038363,18,1197502,11,0,f,2013-03-30
78093985,20,1197502,7,0,f,2013-03-25
78493420,4,1197502,1,0,f,2013-03-25
78533743,88,1197502,14,0,f,2013-03-29
78584042,15,1204821,9,0,f,2013-04-05
78682016,15,1197502,9,0,f,2013-03-28
78774376,15,1197502,9,0,f,2013-03-25
78811334,15,1204576,9,0,f,2013-04-04
78828559,17,1197502,4,0,f,2013-03-28
78851124,18,1197502,11,1,t,2013-03-27
79022865,15,1197502,9,0,f,2013-03-26
79082239,15,1197502,9,0,f,2013-04-01
79296732,15,1197502,9,0,f,2013-03-31
79842864,18,1197502,11,0,f,2013-04-16
79878358,18,1208251,11,2,t,2013-04-23
79920713,17,1197502,4,0,f,2013-03-29
80065065,18,1200582,11,0,f,2013-04-04
80066853,18,1204821,11,0,f,2013-04-22
80270619,17,1197502,4,0,f,2013-03-28
80503859,18,1197502,11,0,f,2013-03-29
80511118,15,1197502,9,0,f,2013-04-19
80786289,15,1197502,9,0,f,2013-03-30
80812040,4,1208251,1,1,t,2013-04-24
81127950,4,1197502,1,0,f,2013-03-25
81280152,20,1208252,7,1,t,2013-04-29
82599973,15,1204821,9,0,f,2013-04-12
82616656,15,1197502,9,0,f,2013-03-27
82691007,15,1197502,9,0,f,2013-03-27
82704044,15,1197502,9,0,f,2013-03-25
82723973,15,1197502,9,1,t,2013-03-26
82765230,4,1197502,1,0,f,2013-03-29
82779026,95,1197502,39,0,f,2013-03-25
82794063,4,1204576,1,4,t,2013-04-21
83288376,4,1208251,1,2,t,2013-04-25
83293219,3,1208251,2,1,t,2013-04-24
83312233,3,1197502,2,2,t,2013-03-29
83346475,4,1197502,1,0,f,2013-03-25
83403945,4,1208251,1,2,t,2013-04-29
83512653,88,1197502,14,1,t,2013-03-27
83741316,95,1197502,39,2,t,2013-03-27
83756976,95,1197502,39,0,f,2013-03-26
83806440,4,1200582,1,1,t,2013-04-01
83868868,95,1197502,39,0,f,2013-03-26
83961677,15,1204576,9,0,f,2013-04-06
84214407,18,1197502,11,0,f,2013-03-26
84251640,15,1197502,9,2,t,2013-03-29
84290725,15,1197502,9,0,f,2013-03-29
84366538,14,1197502,8,1,t,2013-03-28
84546911,14,1197502,8,0,f,2013-04-01
84622907,15,1197502,9,0,f,2013-04-06
84736190,17,1197502,4,0,f,2013-04-17
84937280,15,1208251,9,1,t,2013-04-23
85167394,18,1197502,11,0,f,2013-03-26
85287702,15,1197502,9,0,f,2013-03-26
85393359,95,1197502,39,0,f,2013-03-26
85667880,17,1197502,4,0,f,2013-03-28
85811085,17,1200581,4,0,f,2013-03-30
86154247,4,1197502,1,1,t,2013-03-25
86467278,4,1200581,1,0,f,2013-04-02
86528154,88,1200581,14,0,f,2013-03-30
86650559,4,1197502,1,1,t,2013-03-28
86954719,18,1197502,11,0,f,2013-03-28
86990589,17,1200988,4,0,f,2013-03-25
86991152,15,1197502,9,0,f,2013-04-21
86995220,17,1197502,4,0,f,2013-03-25
87011416,88,1204576,14,0,f,2013-04-06
87030734,88,1208251,14,0,f,2013-04-24
87132362,20,1197502,7,1,t,2013-03-25
87277803,15,1208251,9,1,t,2013-04-23
87278931,15,1197502,9,0,f,2013-03-25
87542139,18,1197502,11,0,f,2013-03-25
87979812,3,1197502,2,0,f,2013-03-29
87988583,4,1204576,1,0,f,2013-04-04
88081145,20,1197502,7,0,f,2013-04-01
88100026,95,1197502,39,0,f,2013-03-26
88197317,17,1197502,4,0,f,2013-03-27
88330358,88,1197502,14,0,f,2013-04-02
88385472,4,1208251,1,0,f,2013-04-23
88780802,20,1197502,7,0,f,2013-04-09
88798493,88,1200988,14,0,f,2013-03-17
88852308,88,1197502,14,0,f,2013-03-29
88859651,3,1197502,2,1,t,2013-04-01
88947105,18,1197502,11,0,f,2013-03-28
89021473,15,1197502,9,0,f,2013-03-26
89121969,20,1197502,7,1,t,2013-03-25
89122689,4,1197502,1,1,t,2013-03-26
89319101,14,1208252,8,0,f,2013-04-29
89332055,17,1200581,4,0,f,2013-03-30
89335145,4,1204576,1,0,f,2013-04-07
89508961,4,1197502,1,0,f,2013-04-07
89549222,15,1197502,9,0,f,2013-03-26
89594685,15,1208251,9,0,f,2013-04-25
90300011,15,1197502,9,0,f,2013-03-26
90435395,15,1197502,9,1,t,2013-03-25
90459912,18,1197502,11,0,f,2013-03-30
90520885,18,1197502,11,0,f,2013-03-25
90548180,14,1208251,8,2,t,2013-04-23
90587177,14,1208251,8,1,t,2013-04-26
90675707,95,1197502,39,0,f,2013-03-26
90732345,4,1197502,1,0,f,2013-03-29
90744384,18,1197502,11,0,f,2013-03-26
90887963,4,1200581,1,0,f,2013-03-30
91365072,18,1200582,11,0,f,2013-04-01
91452911,3,1197502,2,0,f,2013-04-04
91532519,3,1197502,2,0,f,2013-03-26
91550080,15,1204822,9,1,t,2013-04-05
91595859,18,1197502,11,0,f,2013-03-25
91662030,3,1200581,2,0,f,2013-03-31
91858772,4,1197502,1,0,f,2013-03-27
91998805,20,1208251,7,2,t,2013-04-26
92083732,4,1208251,1,1,t,2013-04-30
92194630,3,1208251,2,0,f,2013-04-26
92248581,95,1197502,39,0,f,2013-03-26
92736314,14,1208252,8,2,t,2013-04-25
92889445,20,1197502,7,0,f,2013-03-30
93512574,4,1204576,1,0,f,2013-04-04
93737740,15,1197502,9,0,f,2013-04-06
94315295,14,1197502,8,0,f,2013-03-29
94732389,20,1197502,7,0,f,2013-03-30
94877636,17,1208251,4,0,f,2013-04-28
95138078,14,1197502,8,0,f,2013-03-25
95268323,95,1197502,39,1,t,2013-03-26
95293170,4,1197502,1,0,f,2013-03-31
95670777,14,1197502,8,0,f,2013-04-19
95721843,14,1197502,8,0,f,2013-03-25
95890860,15,1197502,9,0,f,2013-03-25
95990981,4,1197502,1,0,f,2013-03-31
96001726,14,1197502,8,1,t,2013-04-01
96203375,4,1197502,1,1,t,2013-03-29
96281025,18,1197502,11,0,f,2013-03-30
96401350,20,1197502,7,0,f,2013-03-25
96487967,95,1197502,39,1,t,2013-03-31
96689034,4,1208251,1,0,f,2013-04-23
96694287,4,1197502,1,0,f,2013-04-06
96695996,17,1200581,4,0,f,2013-04-07
96703041,18,1204821,11,0,f,2013-04-19
96705509,95,1208251,39,0,f,2013-04-28
96753577,18,1208251,11,0,f,2013-04-26
96787408,14,1197502,8,0,f,2013-03-29
96791189,14,1197502,8,0,f,2013-04-18
96798619,15,1208251,9,0,f,2013-04-24
96798901,3,1197502,2,1,t,2013-03-31
96862813,95,1197502,39,0,f,2013-03-25
96910683,15,1197502,9,1,t,2013-03-25
96915406,14,1197502,8,0,f,2013-03-31
96925373,20,1197502,7,0,f,2013-03-25
96948714,18,1197502,11,0,f,2013-03-26
96955164,15,1197502,9,0,f,2013-04-25
97014747,15,1197502,9,2,t,2013-03-25
97030643,95,1197502,39,0,f,2013-03-26
97065108,14,1197502,8,2,t,2013-03-29
97069364,15,1197502,9,0,f,2013-04-04
97072775,17,1204576,4,0,f,2013-04-04
97099738,15,1197502,9,0,f,2013-03-27
97115483,4,1197502,1,0,f,2013-03-27
97132104,18,1208251,11,0,f,2013-04-23
97138046,14,1200582,8,2,t,2013-04-02
97167859,4,1197502,1,1,t,2013-04-02
97177041,17,1197502,4,0,f,2013-03-26
97186684,3,1200581,2,0,f,2013-04-01
97201274,15,1197502,9,0,f,2013-03-26
97207695,18,1208251,11,0,f,2013-04-28
97207883,4,1208251,1,1,t,2013-04-23
97234456,15,1197502,9,0,f,2013-04-16
97252136,3,1197502,2,3,t,2013-03-26
97272067,20,1197502,7,0,f,2013-04-02
97286086,4,1208251,1,0,f,2013-04-27
97293086,4,1197502,1,2,t,2013-03-25
97294396,17,1204576,4,0,f,2013-04-05
97319874,14,1197502,8,0,f,2013-03-27
97403048,18,1197502,11,0,f,2013-03-28
97448121,15,1197502,9,0,f,2013-03-25
97466869,18,1197502,11,0,f,2013-03-26
97482367,15,1197502,9,0,f,2013-03-28
97495805,18,1197502,11,2,t,2013-03-31
97508741,15,1197502,9,1,t,2013-03-28
97524505,15,1197502,9,0,f,2013-04-02
97545130,15,1200988,9,0,f,2013-03-26
97549936,14,1197502,8,0,f,2013-04-01
97563244,14,1197502,8,0,f,2013-03-26
97569740,4,1208251,1,0,f,2013-04-26
97574851,17,1200582,4,0,f,2013-03-30
97588414,18,1204822,11,0,f,2013-04-17
97590292,14,1200581,8,0,f,2013-04-02
97603715,15,1197502,9,1,t,2013-04-17
97657346,88,1208251,14,0,f,2013-04-27
97682960,15,1208251,9,0,f,2013-04-28
97684130,20,1197502,7,1,t,2013-03-25
97698632,18,1208252,11,1,t,2013-04-25
97737931,15,1197502,9,0,f,2013-04-18
97751353,15,1204576,9,0,f,2013-04-25
97763238,4,1197502,1,0,f,2013-03-26
97795325,3,1204576,2,2,t,2013-04-04
97822056,14,1204576,8,0,f,2013-04-04
97962872,4,1197502,1,0,f,2013-04-08
97974482,18,1208251,11,1,t,2013-04-23
97984848,88,1204576,14,0,f,2013-04-04
97988427,17,1200581,4,0,f,2013-03-31
98071990,3,1197502,2,0,f,2013-04-01
98075215,4,1197502,1,0,f,2013-03-28
98081525,15,1197502,9,0,f,2013-04-02
98101226,88,1197502,14,1,t,2013-03-27
98104435,4,1197502,1,0,f,2013-03-27
98104751,20,1197502,7,0,f,2013-03-27
98106094,4,1197502,1,0,f,2013-04-17
98115925,88,1197502,14,0,f,2013-03-26
98180860,15,1197502,9,0,f,2013-03-25
98189125,17,1197502,4,0,f,2013-04-07
98202210,15,1197502,9,0,f,2013-03-26
98204879,4,1204576,1,0,f,2013-04-07
98206846,4,1208251,1,3,t,2013-04-23
98207874,4,1197502,1,1,t,2013-03-26
98219529,15,1197502,9,0,f,2013-03-26
98249565,20,1197502,7,0,f,2013-03-27
98250861,15,1197502,9,0,f,2013-04-02
98254972,15,1197502,9,0,f,2013-04-17
98265099,14,1208251,8,0,f,2013-04-23
98272111,3,1197502,2,0,f,2013-04-19
98280071,15,1208251,9,0,f,2013-04-26
98292528,15,1204821,9,0,f,2013-04-24
98313447,18,1197502,11,0,f,2013-03-26
98319236,17,1200581,4,0,f,2013-03-30
98330529,15,1197502,9,1,t,2013-04-01
98377774,20,1208251,7,1,t,2013-04-24
98395229,15,1197502,9,0,f,2013-03-27
98408607,15,1197502,9,0,f,2013-03-28
98411638,20,1197502,7,0,f,2013-04-18
98416819,17,1197502,4,0,f,2013-03-25
98422094,17,1197502,4,0,f,2013-03-27
98432209,14,1197502,8,0,f,2013-03-26
98440819,4,1197502,1,0,f,2013-04-21
98447256,17,1197502,4,0,f,2013-04-20
98453496,17,1197502,4,0,f,2013-03-27
98483399,15,1208251,9,0,f,2013-04-23
98496966,18,1197502,11,0,f,2013-04-01
98499811,17,1197502,4,0,f,2013-04-05
98500404,20,1200581,7,0,f,2013-03-30
98501271,15,1204822,9,0,f,2013-04-20
98507509,17,1197502,4,0,f,2013-04-07
98514496,15,1208251,9,0,f,2013-04-23
98540232,95,1197502,39,0,f,2013-03-29
98543680,15,1197502,9,0,f,2013-03-25
98576426,95,1197502,39,0,f,2013-03-30
98664889,95,1197502,39,0,f,2013-03-25
98680391,88,1204576,14,0,f,2013-04-04
98688319,88,1208251,14,0,f,2013-04-24
98736485,4,1204576,1,0,f,2013-04-07
98750512,15,1197502,9,0,f,2013-03-27
98765747,88,1200582,14,0,f,2013-04-08
98776344,4,1197502,1,0,f,2013-03-25
98789280,15,1208251,9,0,f,2013-04-27
98841084,17,1197502,4,0,f,2013-04-08
98864144,15,1197502,9,0,f,2013-04-16
98870517,14,1197502,8,0,f,2013-03-31
98883158,15,1197502,9,0,f,2013-03-26
98887409,4,1204576,1,0,f,2013-04-06
98913505,18,1197502,11,0,f,2013-03-26
98948079,4,1200581,1,0,f,2013-03-30
98970269,4,1208251,1,0,f,2013-04-25
98977997,18,1197502,11,1,t,2013-03-25
98991892,88,1197502,14,0,f,2013-03-25
99027930,88,1197502,14,0,f,2013-03-25
99048766,18,1197502,11,0,f,2013-03-26
99056131,95,1204821,39,0,f,2013-04-17
99056555,18,1197502,11,1,t,2013-03-29
99066247,95,1197502,39,0,f,2013-04-06
99069701,20,1197502,7,0,f,2013-03-30
99088826,4,1197502,1,1,t,2013-04-03
99113586,15,1197502,9,0,f,2013-03-27
99128004,17,1204576,4,0,f,2013-04-06
99136154,18,1204822,11,0,f,2013-04-19
99151280,14,1197502,8,1,t,2013-03-26
99155110,4,1197502,1,1,t,2013-03-27
99185180,15,1197502,9,0,f,2013-03-30
99195309,95,1200581,39,0,f,2013-04-10
99196847,4,1197502,1,1,t,2013-04-01
99205395,20,1197502,7,1,t,2013-03-30
99207287,15,1197502,9,2,t,2013-04-06
99228166,15,1197502,9,1,t,2013-03-29
99258138,4,1208251,1,2,t,2013-04-25
99268154,4,1204576,1,0,f,2013-04-05
99302327,20,1197502,7,0,f,2013-03-25
99335562,15,1197502,9,1,t,2013-04-06
99338226,20,1197502,7,1,t,2013-03-25
99341178,20,1197502,7,0,f,2013-03-25
99349386,17,1204576,4,0,f,2013-04-06
99355197,18,1197502,11,0,f,2013-04-02
99364271,15,1197502,9,0,f,2013-03-30
99377893,15,1197502,9,0,f,2013-03-30
99411486,18,1197502,11,0,f,2013-03-26
99416039,4,1197502,1,0,f,2013-03-29
99418677,15,1197502,9,0,f,2013-04-20
99425963,17,1197502,4,1,t,2013-03-26
99436424,17,1197502,4,1,t,2013-03-29
99451951,15,1204821,9,0,f,2013-04-06
99477625,18,1197502,11,0,f,2013-03-28
99481184,15,1197502,9,0,f,2013-03-27
99501505,18,1197502,11,0,f,2013-04-18
99509388,17,1197502,4,0,f,2013-03-29
99510365,18,1197502,11,0,f,2013-03-27
99523112,15,1197502,9,1,t,2013-04-01
99537521,17,1197502,4,1,t,2013-03-28
99539357,4,1197502,1,0,f,2013-03-30
99544578,15,1197502,9,0,f,2013-03-28
99549229,88,1197502,14,0,f,2013-03-26
99551842,15,1200581,9,0,f,2013-04-01
99572156,14,1197502,8,0,f,2013-03-25
99580828,18,1197502,11,0,f,2013-04-07
99584571,20,1197502,7,0,f,2013-04-02
99603641,15,1204576,9,0,f,2013-04-06
99642431,15,1197502,9,0,f,2013-03-25
99644579,17,1197502,4,0,f,2013-03-25
99646230,15,1197502,9,1,t,2013-03-29
99646260,4,1208251,1,3,t,2013-04-23
99673095,18,1197502,11,0,f,2013-03-27
99673798,15,1204821,9,0,f,2013-04-02
99730812,95,1197502,39,0,f,2013-03-27
99735795,17,1200581,4,0,f,2013-03-31
99749966,15,1200582,9,0,f,2013-04-02
99752866,14,1197502,8,0,f,2013-03-28
99780431,15,1197502,9,0,f,2013-03-27
99782855,95,1197502,39,0,f,2013-03-28
99790764,20,1200581,7,0,f,2013-04-05
99803120,17,1197502,4,0,f,2013-04-05
99814147,4,1197502,1,0,f,2013-03-28
99832583,15,1204822,9,0,f,2013-04-03
99859747,14,1197502,8,1,t,2013-03-29
99865610,4,1200581,1,1,t,2013-03-29
99909413,14,1197502,8,0,f,2013-04-05
99917338,14,1200582,8,0,f,2013-04-02
99920806,3,1197502,2,0,f,2013-04-01
99922755,15,1204576,9,0,f,2013-04-04
99926227,14,1197502,8,0,f,2013-03-28
99989872,15,1197502,9,0,f,2013-04-03
100007447,15,1208251,9,1,t,2013-04-24
100012115,3,1208251,2,1,t,2013-04-23
100017875,3,1200581,2,0,f,2013-03-31
100033247,18,1200581,11,0,f,2013-03-30
100043455,20,1197502,7,0,f,2013-03-26
100051423,4,1197502,1,0,f,2013-03-26
100053952,15,1204821,9,0,f,2013-04-17
100072053,88,1197502,14,0,f,2013-04-07
100084808,20,1197502,7,0,f,2013-03-26
100166617,17,1197502,4,0,f,2013-03-27
100172712,95,1200581,39,0,f,2013-03-30
100200838,17,1208251,4,0,f,2013-04-24
100203970,17,1197502,4,0,f,2013-03-27
100230365,20,1197502,7,0,f,2013-03-30
100242632,18,1197502,11,0,f,2013-03-29
100245416,15,1208251,9,0,f,2013-04-23
100255631,15,1197502,9,0,f,2013-03-30
100258679,3,1208252,2,0,f,2013-04-25
100262437,18,1200581,11,0,f,2013-03-30
100295603,15,1197502,9,0,f,2013-03-28
100304002,88,1197502,14,0,f,2013-04-05
100336704,17,1208252,4,0,f,2013-04-26
100337236,3,1197502,2,0,f,2013-03-27
100388469,88,1208251,14,0,f,2013-04-22
100398864,4,1208251,1,0,f,2013-04-23
100409626,15,1197502,9,0,f,2013-03-28
100409941,15,1197502,9,0,f,2013-03-25
100432793,20,1197502,7,0,f,2013-03-30
100436813,20,1208251,7,0,f,2013-04-25
100436891,15,1197502,9,0,f,2013-04-04
100444554,15,1208251,9,1,t,2013-04-30
100453554,17,1197502,4,0,f,2013-03-28
100464937,14,1200581,8,0,f,2013-04-13
100470893,15,1204576,9,0,f,2013-04-07
100472970,4,1197502,1,0,f,2013-03-30
100541937,4,1200581,1,0,f,2013-04-02
100560096,4,1197502,1,0,f,2013-04-25
100568149,14,1197502,8,0,f,2013-04-16
100573433,15,1200581,9,0,f,2013-04-23
100630795,20,1197502,7,0,f,2013-03-27
100656827,4,1197502,1,0,f,2013-04-02
100662797,4,1197502,1,0,f,2013-03-25
100673476,15,1197502,9,0,f,2013-03-25
100697908,15,1197502,9,0,f,2013-03-25
100706175,4,1197502,1,0,f,2013-03-25
100740206,18,1197502,11,0,f,2013-03-25
100783010,15,1197502,9,0,f,2013-03-25
100787762,4,1208251,1,0,f,2013-04-23
100792444,15,1197502,9,0,f,2013-03-26
100842719,4,1208251,1,0,f,2013-04-24
100860899,15,1204576,9,0,f,2013-04-07
100869455,15,1197502,9,0,f,2013-03-25
100909917,17,1197502,4,0,f,2013-03-25
100910717,14,1197502,8,0,f,2013-04-08
100931022,15,1197502,9,1,t,2013-04-18
100987885,3,1197502,2,0,f,2013-03-25
101021750,18,1204822,11,1,t,2013-04-11
101042547,95,1204822,39,0,f,2013-04-18
101047128,15,1204821,9,2,t,2013-04-01
101059240,15,1204821,9,3,t,2013-04-15
101068336,17,1200581,4,0,f,2013-03-30
101132595,15,1197502,9,1,t,2013-03-26
101135633,4,1197502,1,1,t,2013-03-27
101138109,3,1208251,2,0,f,2013-04-23
101149630,88,1204576,14,0,f,2013-04-04
101155708,3,1197502,2,0,f,2013-04-06
101183396,88,1197502,14,2,t,2013-03-29
101189396,15,1204822,9,1,t,2013-04-05
101197224,15,1197502,9,0,f,2013-03-31
101201035,14,1200581,8,6,t,2013-04-01
101205665,15,1208251,9,0,f,2013-04-25
101236797,88,1197502,14,0,f,2013-03-26
101241099,15,1197502,9,0,f,2013-03-25
101259888,4,1204576,1,0,f,2013-04-06
101277904,4,1200581,1,0,f,2013-04-01
101319360,4,1197502,1,0,f,2013-04-21
101326517,15,1197502,9,0,f,2013-04-16
101351577,17,1208251,4,1,t,2013-04-23
101367043,14,1197502,8,0,f,2013-04-02
101379120,4,1197502,1,0,f,2013-04-17
101411031,3,1197502,2,1,t,2013-03-29
101437624,15,1197502,9,0,f,2013-04-07
101486048,14,1197502,8,1,t,2013-03-27
101505637,15,1197502,9,0,f,2013-03-30
101506864,4,1197502,1,0,f,2013-03-25
101515916,18,1200581,11,0,f,2013-03-30
101521428,88,1208251,14,1,t,2013-04-25
101525440,88,1208251,14,3,t,2013-04-23
101536950,88,1197502,14,0,f,2013-03-27
101549837,17,1197502,4,0,f,2013-03-27
101562262,17,1204576,4,0,f,2013-04-05
101590282,4,1197502,1,0,f,2013-03-25
101598981,88,1204576,14,0,f,2013-04-08
101600793,95,1197502,39,0,f,2013-03-29
101610544,4,1208252,1,0,f,2013-04-23
101612812,17,1208252,4,0,f,2013-04-27
101623425,88,1204576,14,0,f,2013-04-04
101637031,4,1197502,1,0,f,2013-04-21
101640346,14,1197502,8,0,f,2013-04-22
101655495,18,1197502,11,0,f,2013-03-30
101667297,95,1197502,39,0,f,2013-03-25
101669492,14,1204576,8,0,f,2013-04-04
101671193,18,1204821,11,1,t,2013-04-20
101715656,18,1204576,11,0,f,2013-04-05
101718823,15,1208251,9,1,t,2013-04-23
101735167,4,1197502,1,1,t,2013-03-29
101776473,4,1197502,1,1,t,2013-03-29
101795263,20,1200581,7,1,t,2013-03-30
101797290,14,1197502,8,0,f,2013-03-29
101814682,95,1197502,39,1,t,2013-03-27
101814795,17,1197502,4,0,f,2013-03-26
101817278,88,1197502,14,0,f,2013-03-25
101827329,18,1197502,11,0,f,2013-03-28
101845145,20,1197502,7,0,f,2013-03-29
101900901,4,1197502,1,0,f,2013-03-26
101910468,20,1197502,7,0,f,2013-04-02
101916427,15,1197502,9,0,f,2013-03-29
101956109,15,1197502,9,0,f,2013-03-26
101961875,15,1208251,9,0,f,2013-04-28
101973933,14,1208251,8,0,f,2013-04-28
101974103,18,1197502,11,0,f,2013-03-26
101988510,14,1197502,8,0,f,2013-04-20
101999309,88,1197502,14,0,f,2013-03-28
102010058,4,1208252,1,2,t,2013-04-25
102014805,88,1197502,14,0,f,2013-03-25
102015445,15,1197502,9,0,f,2013-03-25
102016613,4,1197502,1,0,f,2013-03-25
102036434,15,1204821,9,0,f,2013-04-05
102054128,4,1197502,1,0,f,2013-03-25
102058116,3,1197502,2,0,f,2013-03-25
102104939,88,1197502,14,0,f,2013-04-18
102107338,15,1197502,9,0,f,2013-03-26
102119207,15,1208251,9,0,f,2013-04-24
102130922,15,1200581,9,0,f,2013-03-31
102146923,20,1197502,7,0,f,2013-03-31
102218675,15,1208251,9,0,f,2013-04-28
102262420,15,1208251,9,0,f,2013-04-24
102265372,17,1197502,4,0,f,2013-03-29
102268011,3,1208251,2,1,t,2013-04-27
102352819,18,1197502,11,2,t,2013-03-28
102400323,4,1200582,1,1,t,2013-03-31
102419304,88,1197502,14,0,f,2013-03-25
102473695,18,1197502,11,0,f,2013-03-26
102476636,15,1197502,9,0,f,2013-03-31
102488572,95,1204576,39,4,t,2013-04-04
102510206,17,1197502,4,1,t,2013-03-27
102511948,95,1197502,39,0,f,2013-03-28
102554249,20,1197502,7,1,t,2013-03-28
102569751,20,1208251,7,1,t,2013-04-23
102580792,18,1200582,11,0,f,2013-03-31
102587259,3,1197502,2,0,f,2013-04-20
102587549,20,1208251,7,2,t,2013-04-24
102591842,20,1197502,7,3,t,2013-03-27
102592113,17,1197502,4,0,f,2013-03-28
102602473,88,1197502,14,0,f,2013-03-25
102605388,88,1197502,14,0,f,2013-03-27
102614466,15,1204576,9,0,f,2013-04-06
102625414,14,1204576,8,0,f,2013-04-23
102681338,20,1197502,7,0,f,2013-04-05
102682179,3,1208251,2,0,f,2013-04-26
102691699,17,1197502,4,1,t,2013-03-28
102730854,14,1197502,8,1,t,2013-04-16
102740282,15,1197502,9,0,f,2013-03-25
102745775,4,1197502,1,0,f,2013-03-26
102766968,15,1197502,9,0,f,2013-03-25
102767850,15,1208251,9,0,f,2013-04-25
102778941,4,1197502,1,0,f,2013-04-19
102782870,18,1208251,11,3,t,2013-04-25
102786301,15,1200581,9,0,f,2013-03-30
102793902,20,1197502,7,0,f,2013-03-30
102796996,14,1197502,8,0,f,2013-04-19
102801070,14,1204576,8,0,f,2013-04-06
102803307,20,1197502,7,1,t,2013-03-29
102817469,17,1197502,4,0,f,2013-04-16
102830216,15,1197502,9,0,f,2013-03-25
102833238,4,1208251,1,0,f,2013-04-24
102837856,4,1208251,1,4,t,2013-04-23
102850487,14,1197502,8,0,f,2013-03-26
102852076,95,1197502,39,0,f,2013-04-01
102871703,15,1197502,9,0,f,2013-04-16
102889477,4,1197502,1,0,f,2013-04-09
102891523,4,1197502,1,0,f,2013-04-01
102900714,4,1200988,1,0,f,2013-03-16
102912484,15,1197502,9,0,f,2013-03-28
102918075,15,1197502,9,0,f,2013-03-25
102923325,4,1204822,1,6,t,2013-04-17
102936060,15,1204822,9,0,f,2013-04-05
102945158,15,1204576,9,0,f,2013-04-04
102961021,4,1208251,1,2,t,2013-04-25
102970463,15,1197502,9,0,f,2013-04-20
102973230,88,1208252,14,1,t,2013-04-25
102973979,4,1208251,1,0,f,2013-04-26
102987840,17,1208252,4,0,f,2013-04-24
102999849,15,1204822,9,0,f,2013-04-01
103007086,18,1197502,11,0,f,2013-03-26
103008349,95,1197502,39,0,f,2013-03-25
103012299,15,1197502,9,0,f,2013-04-01
103014241,15,1197502,9,0,f,2013-03-25
103016635,15,1197502,9,0,f,2013-03-28
103018990,15,1197502,9,1,t,2013-04-20
103019549,95,1197502,39,0,f,2013-03-28
103024818,4,1197502,1,1,t,2013-03-29
103032915,15,1208251,9,1,t,2013-04-25
103036903,17,1197502,4,0,f,2013-03-28
103037388,3,1200581,2,0,f,2013-04-03
103039211,17,1197502,4,0,f,2013-03-28
103042254,14,1197502,8,0,f,2013-04-08
103055036,15,1208251,9,0,f,2013-04-25
103055051,4,1200581,1,1,t,2013-03-31
103070447,4,1197502,1,1,t,2013-03-27
103071558,20,1204822,7,0,f,2013-04-01
103079601,15,1197502,9,0,f,2013-03-26
103086878,4,1197502,1,0,f,2013-04-20
103099030,3,1208251,2,1,t,2013-04-27
103102526,18,1197502,11,1,t,2013-03-26
103104842,15,1204576,9,0,f,2013-04-04
103105001,15,1208251,9,0,f,2013-04-26
103110242,15,1204576,9,1,t,2013-04-04
103112926,20,1197502,7,0,f,2013-03-25
103128329,15,1197502,9,0,f,2013-03-31
103130069,20,1197502,7,0,f,2013-03-27
103132791,17,1197502,4,0,f,2013-03-29
103134281,3,1197502,2,0,f,2013-04-19
103157696,3,1197502,2,0,f,2013-03-29
103158552,17,1208251,4,1,t,2013-04-28
103168884,17,1197502,4,0,f,2013-04-03
103189653,14,1197502,8,1,t,2013-03-27
103209315,15,1204576,9,0,f,2013-04-06
103229418,17,1197502,4,0,f,2013-03-30
103233506,15,1200988,9,0,f,2013-04-09
103241253,15,1204576,9,1,t,2013-04-06
103247295,17,1200582,4,0,f,2013-04-01
103255324,18,1200581,11,0,f,2013-03-31
103259590,17,1197502,4,0,f,2013-03-31
103261699,15,1197502,9,0,f,2013-03-27
103270927,14,1197502,8,0,f,2013-03-29
103273049,88,1197502,14,0,f,2013-03-29
103308609,88,1197502,14,2,t,2013-03-26
103309444,18,1197502,11,0,f,2013-03-27
103311116,18,1197502,11,0,f,2013-03-27
103337749,15,1204576,9,0,f,2013-04-07
103339467,14,1200581,8,0,f,2013-03-30
103345257,17,1197502,4,1,t,2013-04-01
103352793,14,1208251,8,1,t,2013-04-23
103370612,14,1197502,8,0,f,2013-04-21
103380854,15,1197502,9,0,f,2013-04-05
103394300,14,1208251,8,1,t,2013-04-25
103396965,20,1197502,7,0,f,2013-03-30
103419700,14,1197502,8,0,f,2013-03-25
103429165,18,1197502,11,0,f,2013-03-25
103454436,15,1197502,9,0,f,2013-03-27
103463693,14,1208252,8,1,t,2013-04-24
103478015,15,1197502,9,0,f,2013-03-31
103480078,17,1197502,4,0,f,2013-03-29
103490413,88,1208252,14,0,f,2013-04-28
103493222,15,1197502,9,0,f,2013-03-27
103499190,3,1197502,2,0,f,2013-04-01
103500641,88,1197502,14,0,f,2013-03-31
103502921,18,1197502,11,0,f,2013-03-27
103525729,17,1197502,4,0,f,2013-03-25
103526202,95,1204576,39,1,t,2013-04-05
103561961,17,1197502,4,0,f,2013-03-25
103573386,17,1197502,4,0,f,2013-03-27
103581220,88,1197502,14,0,f,2013-03-25
103581228,3,1197502,2,1,t,2013-03-26
103581665,15,1197502,9,0,f,2013-03-25
103589374,15,1197502,9,2,t,2013-03-27
103592886,88,1197502,14,0,f,2013-04-02
103596335,3,1204576,2,0,f,2013-04-24
103607265,3,1208251,2,1,t,2013-04-23
103623524,15,1208251,9,0,f,2013-04-23
103627551,88,1204576,14,1,t,2013-04-06
103630385,4,1197502,1,1,t,2013-03-28
103635365,17,1197502,4,0,f,2013-04-05
103640493,15,1204822,9,4,t,2013-04-18
103643287,95,1197502,39,0,f,2013-03-25
103646762,3,1197502,2,1,t,2013-03-29
103648484,15,1197502,9,0,f,2013-03-31
103672492,4,1208251,1,0,f,2013-04-23
103676341,95,1208251,39,0,f,2013-04-27
103688681,14,1208251,8,0,f,2013-04-23
103743887,15,1197502,9,0,f,2013-03-30
103753737,88,1197502,14,0,f,2013-03-25
103754820,95,1197502,39,0,f,2013-04-01
103759429,3,1208252,2,0,f,2013-04-28
103767160,4,1204576,1,0,f,2013-04-05
103785036,4,1197502,1,0,f,2013-03-29
103813672,18,1197502,11,0,f,2013-03-26
103818908,4,1197502,1,0,f,2013-03-26
103836517,15,1208251,9,0,f,2013-04-26
103838814,4,1197502,1,0,f,2013-03-31
103843261,18,1197502,11,0,f,2013-04-03
103843619,15,1197502,9,2,t,2013-03-26
103844015,15,1197502,9,0,f,2013-03-28
103849513,95,1197502,39,0,f,2013-03-28
103850740,4,1197502,1,1,t,2013-03-30
103863090,3,1204576,2,0,f,2013-04-06
103875586,17,1208251,4,1,t,2013-04-30
103875829,15,1197502,9,0,f,2013-03-30
103877491,18,1197502,11,0,f,2013-04-16
103877944,17,1197502,4,0,f,2013-03-26
103878199,88,1208251,14,1,t,2013-04-26
103895607,17,1197502,4,1,t,2013-03-30
103906023,14,1208252,8,0,f,2013-04-24
103910697,4,1197502,1,0,f,2013-04-02
103933295,14,1197502,8,0,f,2013-03-27
103941632,17,1200581,4,0,f,2013-04-05
103943295,3,1197502,2,0,f,2013-04-02
103952257,3,1197502,2,0,f,2013-03-25
103976301,18,1197502,11,0,f,2013-03-29
103977533,15,1197502,9,1,t,2013-03-29
103991038,15,1197502,9,0,f,2013-03-30
103999868,15,1204576,9,0,f,2013-04-05
104000018,4,1197502,1,0,f,2013-03-31
104000348,18,1197502,11,0,f,2013-03-26
104017150,15,1197502,9,0,f,2013-03-27
104019697,17,1204576,4,0,f,2013-04-05
104045294,4,1197502,1,0,f,2013-03-29
104047938,15,1204821,9,5,t,2013-04-03
104051988,15,1208251,9,0,f,2013-04-26
104054173,95,1197502,39,0,f,2013-03-31
104062787,88,1197502,14,0,f,2013-04-03
104073612,20,1197502,7,0,f,2013-04-08
104079182,15,1208251,9,0,f,2013-04-23
104086387,15,1197502,9,0,f,2013-03-25
104094358,20,1197502,7,0,f,2013-03-31
104098232,15,1197502,9,0,f,2013-03-29
104103056,17,1197502,4,0,f,2013-03-26
104104386,15,1204821,9,0,f,2013-04-02
104106042,4,1197502,1,0,f,2013-03-31
104108151,95,1197502,39,0,f,2013-04-23
104112116,17,1197502,4,0,f,2013-04-18
104119249,4,1197502,1,0,f,2013-03-27
104210875,15,1208251,9,0,f,2013-04-23
104212180,15,1200581,9,0,f,2013-04-07
104212926,15,1204576,9,0,f,2013-04-05
104249839,15,1197502,9,0,f,2013-03-30
104258080,18,1197502,11,0,f,2013-03-25
104287452,88,1197502,14,1,t,2013-03-31
104299690,4,1197502,1,0,f,2013-03-25
104304368,4,1204576,1,0,f,2013-04-04
104305801,15,1197502,9,0,f,2013-03-29
104308389,15,1208251,9,0,f,2013-04-23
104308858,15,1208251,9,0,f,2013-04-26
104311303,4,1197502,1,1,t,2013-03-30
104316579,17,1204576,4,1,t,2013-04-04
104318866,15,1200581,9,0,f,2013-03-31
104320218,17,1197502,4,1,t,2013-03-31
104320658,17,1197502,4,1,t,2013-03-27
104323464,20,1208252,7,0,f,2013-04-23
104331355,17,1208252,4,1,t,2013-04-25
104349651,3,1208251,2,0,f,2013-04-28
104350522,4,1197502,1,1,t,2013-03-26
104354556,88,1197502,14,0,f,2013-04-05
104355192,15,1204821,9,6,t,2013-04-05
104356531,15,1204822,9,0,f,2013-04-19
104365459,4,1197502,1,0,f,2013-03-29
104376447,17,1197502,4,0,f,2013-03-26
104383486,4,1208251,1,1,t,2013-04-25
104395878,4,1204576,1,1,t,2013-04-06
104396467,18,1197502,11,0,f,2013-03-30
104401568,15,1197502,9,0,f,2013-03-25
104402069,4,1197502,1,0,f,2013-03-31
104405174,18,1197502,11,0,f,2013-03-26
104408535,3,1197502,2,0,f,2013-03-25
104413782,15,1204822,9,1,t,2013-04-18
104427553,20,1197502,7,0,f,2013-03-27
104436557,14,1197502,8,0,f,2013-04-23
104439048,15,1200581,9,0,f,2013-04-05
104447927,17,1197502,4,0,f,2013-03-26
104448235,4,1200581,1,0,f,2013-04-07
104459071,95,1204821,39,0,f,2013-04-04
104464756,17,1197502,4,0,f,2013-03-29
104477606,18,1204576,11,0,f,2013-04-05
104479321,15,1208251,9,1,t,2013-04-24
104479467,95,1197502,39,0,f,2013-03-27
104480050,15,1204822,9,0,f,2013-04-14
104495350,88,1204576,14,0,f,2013-04-04
104502672,4,1197502,1,1,t,2013-03-28
104502730,4,1197502,1,0,f,2013-04-02
104511801,17,1197502,4,0,f,2013-04-23
104515532,18,1197502,11,0,f,2013-03-26
104524820,95,1208252,39,0,f,2013-04-27
104535365,3,1208251,2,0,f,2013-04-24
104545961,14,1197502,8,0,f,2013-03-30
104554336,15,1197502,9,1,t,2013-03-25
104558657,4,1197502,1,0,f,2013-03-29
104559268,15,1208251,9,0,f,2013-04-27
104561525,88,1208251,14,1,t,2013-04-27
104562308,4,1204576,1,0,f,2013-04-07
104567136,4,1208251,1,1,t,2013-04-25
104574020,15,1208251,9,0,f,2013-04-23
104578545,88,1197502,14,0,f,2013-04-17
104579015,18,1197502,11,0,f,2013-04-17
104580142,15,1197502,9,0,f,2013-03-30
104585017,15,1197502,9,0,f,2013-03-25
104588333,88,1208251,14,1,t,2013-04-24
104591362,20,1197502,7,0,f,2013-03-27
104601809,4,1208252,1,1,t,2013-04-24
104602691,4,1208251,1,0,f,2013-04-29
104602694,4,1197502,1,1,t,2013-03-26
104610456,95,1204576,39,1,t,2013-04-05
104614700,4,1200582,1,0,f,2013-04-03
{
"metadata": {
"name": "",
"signature": "sha256:21717ed0651f42b12d0b5dd36a3b7e090bf1120500dfe5371978fdddf39e38cb"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## File 1: Data visualization.\n",
"### In this file, I import and visualize the data, looking for overall patterns and relationships."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### NOTE TO TEACHER: See progress so far summary at bottom of file. 06/04/14."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline\n",
"import pandas as pd\n",
"import statsmodels.api as sm\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## DATA: Initial data exploration\n",
"### Tables (CSV files)\n",
"<ul>\n",
"<li>history (160,067 rows): offer given to each customer and their behavioral response\n",
"<li>offers (37 rows): info about each offer type\n",
"<li>transactions (? rows, 20 GB): 1 year of transaction history for each customer\n",
"</ul>\n",
"\n",
"Source: The data is associated with a Kaggle competition to identify repeat shoppers based on their purchase history. CSVs and meta info about the data were obtained here. All data has been de-identified. https://www.kaggle.com/c/acquire-valued-shoppers-challenge/data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Table: history\n",
"#### Fields\n",
"<ul>\n",
"<li>id - A unique id representing a customer\n",
"<li>chain - An integer representing a store chain\n",
"<li>offer - An id representing a certain offer\n",
"<li>market - An id representing a geographical region\n",
"<li>repeattrips - The number of times the customer made a repeat purchase\n",
"<li>repeater - A boolean, equal to repeattrips > 0\n",
"<li>offerdate - The date a customer received the offer\n",
"</ul>"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hdata = pd.read_csv('history.csv')\n",
"hdata.head(3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
" id chain offer market repeattrips repeater offerdate\n",
"0 86246 205 1208251 34 5 t 2013-04-24\n",
"1 86252 205 1197502 34 16 t 2013-03-27\n",
"2 12682470 18 1197502 11 0 f 2013-03-28\n",
"\n",
"[3 rows x 7 columns]"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hdata.describe().T"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
" count mean std min 25% \\\n",
"id 160057 1.869324e+09 1.570833e+09 86246 498182177 \n",
"chain 160057 1.268103e+02 1.279343e+02 2 21 \n",
"offer 160057 1.201984e+06 4.705531e+03 1194044 1197502 \n",
"market 160057 1.995060e+01 1.909901e+01 1 10 \n",
"repeattrips 160057 6.563349e-01 6.786516e+00 0 0 \n",
"\n",
" 50% 75% max \n",
"id 767486408 3285612741 4809911000 \n",
"chain 96 165 526 \n",
"offer 1200581 1208251 1208503 \n",
"market 14 24 96 \n",
"repeattrips 0 1 2124 \n",
"\n",
"[5 rows x 8 columns]"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Number of repeat buyers\n",
"total_repeaters = hdata[hdata.repeater == 't'].count()['id']\n",
"total_nonrepeaters = hdata[hdata.repeater == 'f'].count()['id']\n",
"\n",
"print 'Total repeaters = ' + str(total_repeaters)\\\n",
" + ', total non-repeaters = ' + str(total_nonrepeaters)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Total repeaters = 43438, total non-repeaters = 116619\n"
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Number of unique values for each variable\n",
"num_ids = len(hdata.id.unique())\n",
"num_chains = len(hdata.chain.unique())\n",
"num_offers = len(hdata.offer.unique())\n",
"num_markets = len(hdata.market.unique())\n",
"\n",
"print('Total uniques')\n",
"print 'Ids: {0}, chains: {1}, offers: {2}, markets: {3}'.format(\n",
" num_ids, num_chains, num_offers, num_markets)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Total uniques\n",
"Ids: 160057, chains: 130, offers: 24, markets: 34\n"
]
}
],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Date range\n",
"print 'Date range: ', min(hdata.offerdate), max(hdata.offerdate)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Date range: 2013-03-01 2013-04-30\n"
]
}
],
"prompt_number": 27
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Distribution of number of repeat trips\n",
"hdata.repeattrips.hist(bins=range(11))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 37,
"text": [
"<matplotlib.axes.AxesSubplot at 0x1097c0e50>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x1097efe90>"
]
}
],
"prompt_number": 37
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Distribution of number of repeat trips for repeaters only (eliminating all the zeros)\n",
"hdata.repeattrips[hdata.repeattrips > 0].hist(bins=range(11))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 38,
"text": [
"<matplotlib.axes.AxesSubplot at 0x109b01610>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x109b03210>"
]
}
],
"prompt_number": 38
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"hdata.repeattrips[hdata.repeattrips >= 10].hist(bins=range(10,200,10))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 46,
"text": [
"<matplotlib.axes.AxesSubplot at 0x109b2ab90>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x10a641610>"
]
}
],
"prompt_number": 46
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"a = hdata.repeattrips[hdata.repeattrips > 30]\n",
"a.sort()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 94
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print(a)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"122255 31\n",
"117539 31\n",
"117160 31\n",
"152697 31\n",
"44429 32\n",
"80146 32\n",
"62482 32\n",
"153263 33\n",
"131431 33\n",
"142248 34\n",
"156743 34\n",
"59088 35\n",
"25865 35\n",
"157786 35\n",
"153313 36\n",
"68196 36\n",
"137762 37\n",
"21952 37\n",
"116429 38\n",
"141564 38\n",
"7549 40\n",
"158068 41\n",
"78607 42\n",
"68723 42\n",
"119639 42\n",
"140829 42\n",
"7417 44\n",
"74998 45\n",
"120137 57\n",
"140520 66\n",
"136700 70\n",
"148319 71\n",
"140490 72\n",
"160038 80\n",
"63002 82\n",
"7839 87\n",
"138102 104\n",
"140693 549\n",
"123678 1418\n",
"123859 2124\n",
"Name: repeattrips, dtype: int64\n"
]
}
],
"prompt_number": 95
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Above are the highest repeaters. Repeat trips over 100 are very suspect. Data points will be eliminated from the database as outliers if repeattrips > 50, because looking at the highest values in order, it's after 50 that they seem to really jump."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"bad_ids = hdata.id[hdata.repeattrips > 50]\n",
"bad_ids"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 96,
"text": [
"7839 239276354\n",
"63002 618764932\n",
"120137 3288731255\n",
"123678 3450535153\n",
"123859 3465135195\n",
"136700 4083461977\n",
"138102 4176323168\n",
"140490 4389020404\n",
"140520 4394329485\n",
"140693 4427711419\n",
"148319 4625744661\n",
"160038 4683851813\n",
"Name: id, dtype: int64"
]
}
],
"prompt_number": 96
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# TO DO: look up how to eliminate rows from a data frame based on value of a particular column\n",
"type(bad_ids)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 81,
"text": [
"pandas.core.series.Series"
]
}
],
"prompt_number": 81
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Further description of history\n",
"<ul>\n",
"<li>160057 shoppers\n",
"<li>date range: 2013-03-01 to 2013-04-30\n",
"<li>43438 repeaters, 116619 non-repeaters\n",
"<li>24 offers (types of offers), 34 markets, 130 chains\n",
"<li>high outliers in repeattrips (number of repeat trips) will be eliminated: users where repeattrips > 50 will be removed from the data\n",
"<ul>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Table: offers\n",
"#### Fields\n",
"<ul>\n",
"<li>offer - An id representing a certain offer\n",
"<li>category - The product category (e.g. sparkling water)\n",
"<li>quantity - The number of units one must purchase to get the discount\n",
"<li>company - An id of the company that sells the item\n",
"<li>offervalue - The dollar value of the offer\n",
"<li>brand - An id of the brand to which the item belongs\n",
"</ul>"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"odata = pd.read_csv('offers.csv')\n",
"odata.head(3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"
"metadata": {},
"output_type": "pyout",
"prompt_number": 82,
"text": [
" offer category quantity company offervalue brand\n",
"0 1190530 9115 1 108500080 5.00 93904\n",
"1 1194044 9909 1 107127979 1.00 6732\n",
"2 1197502 3203 1 106414464 0.75 13474\n",
"\n",
"[3 rows x 6 columns]"
]
}
],
"prompt_number": 82
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"odata.describe().T"
],
"language": "python",
"metadata": {},
"outputs": [
{
"
"metadata": {},
"output_type": "pyout",
"prompt_number": 83,
"text": [
" count mean std min 25% \\\n",
"offer 37 1.207324e+06 1.009963e+04 1.190530e+06 1199258.0 \n",
"category 37 4.775378e+03 2.492239e+03 7.060000e+02 2202.0 \n",
"quantity 37 1.027027e+00 1.643990e-01 1.000000e+00 1.0 \n",
"company 37 2.376693e+08 3.389608e+08 1.033200e+08 104460040.0 \n",
"offervalue 37 1.648649e+00 7.347039e-01 7.500000e-01 1.5 \n",
"brand 37 1.967514e+04 2.808474e+04 8.750000e+02 4294.0 \n",
"\n",
" 50% 75% max \n",
"offer 1204576.0 1219900.0 1230218 \n",
"category 5558.0 6202.0 9909 \n",
"quantity 1.0 1.0 2 \n",
"company 105450050.0 107127979.0 1089520383 \n",
"offervalue 1.5 1.5 5 \n",
"brand 7668.0 17286.0 102504 \n",
"\n",
"[6 rows x 8 columns]"
]
}
],
"prompt_number": 83
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Number of unique values for each variable\n",
"num_offer = len(odata.offer.unique())\n",
"num_category = len(odata.category.unique())\n",
"num_quantity = len(odata.quantity.unique())\n",
"num_company = len(odata.company.unique())\n",
"num_offervalue = len(odata.offervalue.unique())\n",
"num_brand = len(odata.brand.unique())\n",
"\n",
"print('Total uniques')\n",
"print 'Offers: {0}, categories: {1}, quantities: {2}, companies: {3}, offer values: {4}, brands: {5}'.format(\n",
" num_offer, num_category, num_quantity, num_company, num_offervalue, num_brand)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Total uniques\n",
"Offers: 37, categories: 20, quantities: 2, companies: 18, offer values: 7, brands: 19\n"
]
}
],
"prompt_number": 105
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"b = hdata.offer.unique()\n",
"b.sort()\n",
"print (b)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[1194044 1197502 1198271 1198272 1198273 1198274 1198275 1199256 1199258\n",
" 1200578 1200579 1200581 1200582 1200584 1200988 1203052 1204576 1204821\n",
" 1204822 1208251 1208252 1208329 1208501 1208503]\n"
]
}
],
"prompt_number": 101
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"c = odata.offer.unique()\n",
"c.sort()\n",
"print (c)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[1190530 1194044 1197502 1198271 1198272 1198273 1198274 1198275 1199256\n",
" 1199258 1200578 1200579 1200581 1200582 1200584 1200988 1203052 1203439\n",
" 1204576 1204821 1204822 1208251 1208252 1208329 1208501 1208503 1213242\n",
" 1219900 1219903 1220502 1220503 1221658 1221663 1221665 1221666 1221667\n",
" 1230218]\n"
]
}
],
"prompt_number": 102
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### There are 24 unique offer ids in history but 37 unique offer ids in offers: the offers table contains some offers that aren't used in this data set. That's fine. Just wanted to make sure there wasn't a data integrity issue."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"odata.offervalue.hist(bins=20)\n",
"plt.title('Distribution of offer values')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 106,
"text": [
"<matplotlib.text.Text at 0x10a7bac10>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x10a7dcb90>"
]
}
],
"prompt_number": 106
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Further description of offers\n",
"add something here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Table: transactions\n",
"#### Fields\n",
"<ul>\n",
"<li>id - A unique id representing a customer\n",
"<li>chain - An integer representing a store chain\n",
"<li>dept - An aggregate grouping of the category (e.g. water)\n",
"<li>category - The product category (e.g. sparkling water)\n",
"<li>company - An id of the company that sells the item\n",
"<li>brand - An id of the brand to which the item belongs\n",
"<li>date - The date of purchase\n",
"<li>productsize - The amount of the product purchase (e.g. 16 oz of water)\n",
"<li>productmeasure - The units of the product purchase (e.g. ounces)\n",
"<li>purchasequantity - The number of units purchased\n",
"<li>purchaseamount - The dollar amount of the purchase\n",
"</ul>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### NOTE: transactions is too big to load in memory, will need to import/handle data a different way."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Importing data to DB\n",
"#### Importing transactions into a database. Importing other tables as well. First let's look at the data in transactions."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"f = open('transactions.csv', 'r')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"f.readline()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 2,
"text": [
"'id,chain,dept,category,company,brand,date,productsize,productmeasure,purchasequantity,purchaseamount\\n'"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"f.readline()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
"'86246,205,7,707,1078778070,12564,2012-03-02,12,OZ,1,7.59\\n'"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"f.readline()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
"'86246,205,63,6319,107654575,17876,2012-03-02,64,OZ,1,1.59\\n'"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"f.close()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Now import data from CSVs to database tables"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import sqlite3"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"conn = sqlite3.connect('shopping.db')\n",
"c = conn.cursor()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Creating offers table\n",
"c.execute('''CREATE TABLE offers (\n",
" offer INTEGER unique,\n",
" category INTEGER,\n",
" quantity INTEGER,\n",
" company INTEGER,\n",
" offervalue DECIMAL(5,2),\n",
" brand INTEGER)''')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 8,
"text": [
"<sqlite3.Cursor at 0x1039cba40>"
]
}
],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#### After creating the table, I imported the CSV at the command line:\n",
"#### sqlite3 '/Users/crista/Desktop/gads2014course/DAT6_clb/Final_Project/shopping.db'\n",
"#### .separator ','\n",
"#### .import '/Users/crista/Desktop/gads2014course/DAT6_clb/Final_Project/offers.csv' offers"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"c.execute('SELECT * FROM offers LIMIT 10')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 110,
"text": [
"<sqlite3.Cursor at 0x102906a40>"
]
}
],
"prompt_number": 110
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print c.fetchone()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"(u'offer', u'category', u'quantity', u'company', u'offervalue', u'brand')\n"
]
}
],
"prompt_number": 111
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"c.fetchmany(10)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 112,
"text": [
"[(1190530, 9115, 1, 108500080, 5, 93904),\n",
" (1194044, 9909, 1, 107127979, 1, 6732),\n",
" (1197502, 3203, 1, 106414464, 0.75, 13474),\n",
" (1198271, 5558, 1, 107120272, 1.5, 5072),\n",
" (1198272, 5558, 1, 107120272, 1.5, 5072),\n",
" (1198273, 5558, 1, 107120272, 1.5, 5072),\n",
" (1198274, 5558, 1, 107120272, 1.5, 5072),\n",
" (1198275, 5558, 1, 107120272, 1.5, 5072),\n",
" (1199256, 4401, 1, 105100050, 2, 13791)]"
]
}
],
"prompt_number": 112
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Creating history table\n",
"c.execute('''CREATE TABLE history (\n",
" id INTEGER unique,\n",
" chain INTEGER,\n",
" offer INTEGER,\n",
" market INTEGER,\n",
" repeattrips INTEGER,\n",
" repeater BOOL,\n",
" offerdate DATE)''')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 26,
"text": [
"<sqlite3.Cursor at 0x104ac6880>"
]
}
],
"prompt_number": 26
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#### sqlite3 '/Users/crista/Desktop/gads2014course/DAT6_clb/Final_Project/shopping.db'\n",
"#### .separator ','\n",
"#### .import '/Users/crista/Desktop/gads2014course/DAT6_clb/Final_Project/history.csv' history"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"c.execute('SELECT * FROM history LIMIT 100')\n",
"c.fetchmany(15)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 113,
"text": [
"[(u'id',\n",
" u'chain',\n",
" u'offer',\n",
" u'market',\n",
" u'repeattrips',\n",
" u'repeater',\n",
" u'offerdate'),\n",
" (86246, 205, 1208251, 34, 5, u't', u'2013-04-24'),\n",
" (86252, 205, 1197502, 34, 16, u't', u'2013-03-27'),\n",
" (12682470, 18, 1197502, 11, 0, u'f', u'2013-03-28'),\n",
" (12996040, 15, 1197502, 9, 0, u'f', u'2013-03-25'),\n",
" (13089312, 15, 1204821, 9, 0, u'f', u'2013-04-01'),\n",
" (13179265, 14, 1197502, 8, 0, u'f', u'2013-03-29'),\n",
" (13251776, 15, 1200581, 9, 0, u'f', u'2013-03-30'),\n",
" (13540129, 14, 1200581, 8, 0, u'f', u'2013-03-30'),\n",
" (13807224, 4, 1204576, 1, 0, u'f', u'2013-04-05'),\n",
" (13873775, 4, 1197502, 1, 0, u'f', u'2013-03-26'),\n",
" (13974451, 4, 1197502, 1, 0, u'f', u'2013-03-26'),\n",
" (14088807, 3, 1200581, 2, 1, u't', u'2013-04-17'),\n",
" (14381137, 4, 1197502, 1, 0, u'f', u'2013-04-04'),\n",
" (14576147, 18, 1197502, 11, 0, u'f', u'2013-04-02')]"
]
}
],
"prompt_number": 113
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Creating transactions table\n",
"# Column names: id,chain,dept,category,company,brand,date,\n",
"# productsize,productmeasure,purchasequantity,purchaseamount\n",
"\n",
"c.execute('''CREATE TABLE transactions (\n",
" id INTEGER,\n",
" chain INTEGER,\n",
" dept INTEGER,\n",
" category INTEGER,\n",
" company INTEGER,\n",
" brand INTEGER,\n",
" date DATE,\n",
" productsize INTEGER,\n",
" productmeasure CHAR(10),\n",
" purchasequantity INTEGER,\n",
" purchaseamount INTEGER)''')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 42,
"text": [
"<sqlite3.Cursor at 0x104ad0340>"
]
}
],
"prompt_number": 42
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#### sqlite3 '/Users/crista/Desktop/gads2014course/DAT6_clb/Final_Project/shopping.db'\n",
"#### .separator ','\n",
"#### .import '/Users/crista/Desktop/gads2014course/DAT6_clb/Final_Project/transactions.csv' transactions"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"c.execute('SELECT * FROM transactions LIMIT 100')\n",
"c.fetchmany(10)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 114,
"text": [
"[(u'id',\n",
" u'chain',\n",
" u'dept',\n",
" u'category',\n",
" u'company',\n",
" u'brand',\n",
" u'date',\n",
" u'productsize',\n",
" u'productmeasure',\n",
" u'purchasequantity',\n",
" u'purchaseamount'),\n",
" (86246, 205, 7, 707, 1078778070, 12564, u'2012-03-02', 12, u'OZ', 1, 7.59),\n",
" (86246, 205, 63, 6319, 107654575, 17876, u'2012-03-02', 64, u'OZ', 1, 1.59),\n",
" (86246, 205, 97, 9753, 1022027929, 0, u'2012-03-02', 1, u'CT', 1, 5.99),\n",
" (86246, 205, 25, 2509, 107996777, 31373, u'2012-03-02', 16, u'OZ', 1, 1.99),\n",
" (86246, 205, 55, 5555, 107684070, 32094, u'2012-03-02', 16, u'OZ', 2, 10.38),\n",
" (86246, 205, 97, 9753, 1021015020, 0, u'2012-03-02', 1, u'CT', 1, 7.8),\n",
" (86246, 205, 99, 9909, 104538848, 15343, u'2012-03-02', 16, u'OZ', 1, 2.49),\n",
" (86246, 205, 59, 5907, 102900020, 2012, u'2012-03-02', 16, u'OZ', 1, 1.39),\n",
" (86246, 205, 9, 921, 101128414, 9209, u'2012-03-02', 4, u'OZ', 2, 1.5)]"
]
}
],
"prompt_number": 114
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"conn.close()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 78
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### All tables imported. Next, continue data exploration and extraction of variables."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%load_ext sql"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%bash\n",
"sqlite3 shopping.db .tables"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"history history_offers offers transactions \n"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT * FROM transactions LIMIT 5"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
"[(u'id', u'chain', u'dept', u'category', u'company', u'brand', u'date', u'productsize', u'productmeasure', u'purchasequantity', u'purchaseamount'),\n",
" (86246, 205, 7, 707, 1078778070, 12564, u'2012-03-02', 12, u'OZ', 1, 7.59),\n",
" (86246, 205, 63, 6319, 107654575, 17876, u'2012-03-02', 64, u'OZ', 1, 1.59),\n",
" (86246, 205, 97, 9753, 1022027929, 0, u'2012-03-02', 1, u'CT', 1, 5.99),\n",
" (86246, 205, 25, 2509, 107996777, 31373, u'2012-03-02', 16, u'OZ', 1, 1.99)]"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# %%sql sqlite:///shopping.db\n",
"# SELECT COUNT(1) AS num_rows FROM transactions"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 121
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT * FROM offers LIMIT 5"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
"[(u'offer', u'category', u'quantity', u'company', u'offervalue', u'brand'),\n",
" (1190530, 9115, 1, 108500080, 5, 93904),\n",
" (1194044, 9909, 1, 107127979, 1, 6732),\n",
" (1197502, 3203, 1, 106414464, 0.75, 13474),\n",
" (1198271, 5558, 1, 107120272, 1.5, 5072)]"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT * FROM history LIMIT 5"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 6,
"text": [
"[(u'id', u'chain', u'offer', u'market', u'repeattrips', u'repeater', u'offerdate'),\n",
" (86246, 205, 1208251, 34, 5, u't', u'2013-04-24'),\n",
" (86252, 205, 1197502, 34, 16, u't', u'2013-03-27'),\n",
" (12682470, 18, 1197502, 11, 0, u'f', u'2013-03-28'),\n",
" (12996040, 15, 1197502, 9, 0, u'f', u'2013-03-25')]"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT ht.id, offerdate, ht.offer, chain, market\n",
" , repeattrips, category, quantity, company, offervalue, brand \n",
"FROM history ht\n",
"JOIN offers ot\n",
"ON ht.offer = ot.offer\n",
"LIMIT 10"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 8,
"text": [
"[(u'id', u'offerdate', u'offer', u'chain', u'market', u'repeattrips', u'category', u'quantity', u'company', u'offervalue', u'brand'),\n",
" (86246, u'2013-04-24', 1208251, 205, 34, 5, 2202, 1, 104460040, 2, 3718),\n",
" (86252, u'2013-03-27', 1197502, 205, 34, 16, 3203, 1, 106414464, 0.75, 13474),\n",
" (12682470, u'2013-03-28', 1197502, 18, 11, 0, 3203, 1, 106414464, 0.75, 13474),\n",
" (12996040, u'2013-03-25', 1197502, 15, 9, 0, 3203, 1, 106414464, 0.75, 13474),\n",
" (13089312, u'2013-04-01', 1204821, 15, 9, 0, 5619, 1, 107717272, 1.5, 102504),\n",
" (13179265, u'2013-03-29', 1197502, 14, 8, 0, 3203, 1, 106414464, 0.75, 13474),\n",
" (13251776, u'2013-03-30', 1200581, 15, 9, 0, 1726, 1, 104460040, 1.25, 7668),\n",
" (13540129, u'2013-03-30', 1200581, 14, 8, 0, 1726, 1, 104460040, 1.25, 7668),\n",
" (13807224, u'2013-04-05', 1204576, 4, 1, 0, 5616, 1, 104610040, 1, 15889)]"
]
}
],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"CREATE TABLE history_offers AS\n",
"SELECT ht.id, offerdate, ht.offer, chain, market\n",
" , repeattrips, category, quantity, company, offervalue, brand \n",
"FROM history ht\n",
"JOIN offers ot\n",
"ON ht.offer = ot.offer"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 9,
"text": [
"[]"
]
}
],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT * FROM history_offers LIMIT 10"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 7,
"text": [
"[(u'id', u'offerdate', u'offer', u'chain', u'market', u'repeattrips', u'category', u'quantity', u'company', u'offervalue', u'brand'),\n",
" (86246, u'2013-04-24', 1208251, 205, 34, 5, 2202, 1, 104460040, 2, 3718),\n",
" (86252, u'2013-03-27', 1197502, 205, 34, 16, 3203, 1, 106414464, 0.75, 13474),\n",
" (12682470, u'2013-03-28', 1197502, 18, 11, 0, 3203, 1, 106414464, 0.75, 13474),\n",
" (12996040, u'2013-03-25', 1197502, 15, 9, 0, 3203, 1, 106414464, 0.75, 13474),\n",
" (13089312, u'2013-04-01', 1204821, 15, 9, 0, 5619, 1, 107717272, 1.5, 102504),\n",
" (13179265, u'2013-03-29', 1197502, 14, 8, 0, 3203, 1, 106414464, 0.75, 13474),\n",
" (13251776, u'2013-03-30', 1200581, 15, 9, 0, 1726, 1, 104460040, 1.25, 7668),\n",
" (13540129, u'2013-03-30', 1200581, 14, 8, 0, 1726, 1, 104460040, 1.25, 7668),\n",
" (13807224, u'2013-04-05', 1204576, 4, 1, 0, 5616, 1, 104610040, 1, 15889)]"
]
}
],
"prompt_number": 7
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### PROBLEM: Creating an index of shopper ids is failing to complete. Taking more than 2 hours and returning an error. Will continue to debug this but in the meantime will take subsample of transactions table to build first iteration of model."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# THIS TAKES FOREVER AND THROWS AN ERROR\n",
"# %%sql sqlite:///shopping.db\n",
"# CREATE INDEX id_idx\n",
"# ON transactions (id)\n",
"\n",
"CREATE TABLE t1(a, b);\n",
"CREATE UNIQUE INDEX t1b ON t1(b);\n",
"\n",
"SELECT * FROM transactions\n",
"ORDER BY RANDOM() LIMIT 10000"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# %%sql sqlite:///shopping.db\n",
"# CREATE VIEW trans_small\n",
"# AS\n",
"# SELECT *\n",
"# FROM transactions\n",
"# LIMIT 100"
],
"language": "python",
"metadata": {},
"outputs": [
{
"ename": "SyntaxError",
"evalue": "invalid syntax (<ipython-input-131-c331a25f0efd>, line 2)",
"output_type": "pyerr",
"traceback": [
"\u001b[0;36m File \u001b[0;32m\"<ipython-input-131-c331a25f0efd>\"\u001b[0;36m, line \u001b[0;32m2\u001b[0m\n\u001b[0;31m %%sql sqlite:///shopping.db\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n"
]
}
],
"prompt_number": 131
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"CREATE TABLE trans_temp1 AS\n",
"SELECT * FROM transactions LIMIT 10000000"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 22,
"text": [
"[]"
]
}
],
"prompt_number": 22
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%bash\n",
"sqlite3 shopping.db .tables"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"history history_offers offers trans_temp1 transactions \n"
]
}
],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"DROP TABLE offers"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"(OperationalError) database is locked u'DROP TABLE offers' ()\n"
]
}
],
"prompt_number": 79
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT * FROM trans_temp1 LIMIT 5"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 24,
"text": [
"[(u'id', u'chain', u'dept', u'category', u'company', u'brand', u'date', u'productsize', u'productmeasure', u'purchasequantity', u'purchaseamount'),\n",
" (86246, 205, 7, 707, 1078778070, 12564, u'2012-03-02', 12, u'OZ', 1, 7.59),\n",
" (86246, 205, 63, 6319, 107654575, 17876, u'2012-03-02', 64, u'OZ', 1, 1.59),\n",
" (86246, 205, 97, 9753, 1022027929, 0, u'2012-03-02', 1, u'CT', 1, 5.99),\n",
" (86246, 205, 25, 2509, 107996777, 31373, u'2012-03-02', 16, u'OZ', 1, 1.99)]"
]
}
],
"prompt_number": 24
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Extracting variables to use in model"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT COUNT(DISTINCT id) AS num_shoppers\n",
"FROM trans_temp1\n",
"LIMIT 5"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 25,
"text": [
"[(9607,)]"
]
}
],
"prompt_number": 25
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT\n",
" (CASE WHEN prev_chain IS NOT NULL THEN 1 ELSE 0 END) AS chain_match\n",
" , COUNT(DISTINCT id) AS num_shoppers\n",
"FROM\n",
" (\n",
" SELECT tab_ho.id, tab_ho.chain AS offer_chain, tab_tt.chain AS prev_chain\n",
" FROM history_offers tab_ho\n",
" LEFT JOIN trans_temp1 tab_tt\n",
" ON tab_ho.id = tab_tt.id\n",
" AND tab_ho.chain = tab_tt.chain\n",
" GROUP BY 1, 2, 3\n",
" ) m\n",
"GROUP BY 1"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 28,
"text": [
"[(0, 156591), (1, 3467)]"
]
}
],
"prompt_number": 28
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT (CASE WHEN trans_id IS NOT NULL THEN 1 ELSE 0 END) AS trans_id\n",
" , (CASE WHEN chain IS NOT NULL THEN 1 ELSE 0 END) AS chain\n",
" , COUNT(offer_id) AS num_ids\n",
"FROM\n",
" (\n",
" SELECT ho.id AS offer_id, trans.id AS trans_id, trans.chain\n",
" FROM\n",
" (\n",
" SELECT DISTINCT id, chain\n",
" FROM history_offers\n",
" ) ho\n",
" LEFT JOIN\n",
" (\n",
" SELECT DISTINCT id, chain\n",
" FROM trans_temp1\n",
" ) trans\n",
" ON ho.id = trans.id\n",
" AND ho.chain = trans.chain\n",
" ) m\n",
"GROUP BY 1, 2\n",
"ORDER BY 1 DESC, 2 DESC\n",
"\n",
"LIMIT 10"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 34,
"text": [
"[(1, 1, 3467), (0, 0, 156591)]"
]
}
],
"prompt_number": 34
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### All shoppers in this subsample of transactions purchased something from the same chain as the offer they received."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT offer_id, num_purchases\n",
"FROM\n",
" (\n",
" SELECT ho.id AS offer_id, trans.id AS trans_id\n",
" , trans.chain AS chain, trans.num_purchases\n",
" FROM\n",
" (\n",
" SELECT DISTINCT id, chain\n",
" FROM history_offers\n",
" ) ho\n",
" LEFT JOIN\n",
" (\n",
" SELECT id, chain, COUNT(category) AS num_purchases\n",
" FROM trans_temp1\n",
" GROUP BY 1, 2\n",
" ) trans\n",
" ON ho.id = trans.id\n",
" AND ho.chain = trans.chain\n",
" ) m\n",
"WHERE trans_id IS NOT NULL\n",
"AND chain IS NOT NULL\n",
"LIMIT 10"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 37,
"text": [
"[(u'id', 1),\n",
" (86246, 12609),\n",
" (86252, 12087),\n",
" (12682470, 806),\n",
" (12996040, 326),\n",
" (13089312, 1218),\n",
" (13179265, 903),\n",
" (13251776, 2391),\n",
" (13540129, 1139),\n",
" (13807224, 1304)]"
]
}
],
"prompt_number": 37
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT offer_id, num_purchases\n",
"FROM\n",
" (\n",
" SELECT ho.id AS offer_id, trans.id AS trans_id\n",
" , trans.category AS category, trans.num_purchases\n",
" FROM\n",
" (\n",
" SELECT DISTINCT id, category\n",
" FROM history_offers\n",
" ) ho\n",
" LEFT JOIN\n",
" (\n",
" SELECT id, category, COUNT(*) AS num_purchases\n",
" FROM trans_temp1\n",
" GROUP BY 1, 2\n",
" ) trans\n",
" ON ho.id = trans.id\n",
" AND ho.category = trans.category\n",
" ) m\n",
"WHERE trans_id IS NOT NULL\n",
"AND category IS NOT NULL\n",
"LIMIT 10"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 38,
"text": [
"[(u'id', 1),\n",
" (86252, 6),\n",
" (12682470, 1),\n",
" (13251776, 10),\n",
" (13540129, 3),\n",
" (13807224, 16),\n",
" (14088807, 5),\n",
" (16203579, 1),\n",
" (16238376, 5),\n",
" (16691816, 6)]"
]
}
],
"prompt_number": 38
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT id, COUNT(*) AS num_purchases\n",
"FROM trans_temp1\n",
"GROUP BY 1\n",
"LIMIT 10"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 39,
"text": [
"[(86246, 12609),\n",
" (86252, 12087),\n",
" (12262064, 1101),\n",
" (12277270, 1361),\n",
" (12332190, 684),\n",
" (12524696, 985),\n",
" (12682470, 806),\n",
" (12996040, 326),\n",
" (13074629, 1374),\n",
" (13089312, 1218)]"
]
}
],
"prompt_number": 39
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT id, COUNT(DISTINCT date) AS num_trips\n",
"FROM trans_temp1\n",
"GROUP BY 1\n",
"LIMIT 10"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 40,
"text": [
"[(86246, 381),\n",
" (86252, 368),\n",
" (12262064, 237),\n",
" (12277270, 184),\n",
" (12332190, 113),\n",
" (12524696, 161),\n",
" (12682470, 141),\n",
" (12996040, 39),\n",
" (13074629, 147),\n",
" (13089312, 132)]"
]
}
],
"prompt_number": 40
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from pandas.io import sql\n",
"conn = sqlite3.connect('shopping.db')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 72
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sql.frame_query(\"\"\"SELECT id, category, date \n",
" FROM trans_temp1 LIMIT 5\"\"\", conn, \"id\")"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 76,
"text": [
" category date\n",
"id \n",
"id category date\n",
"86246 707 2012-03-02\n",
"86246 6319 2012-03-02\n",
"86246 9753 2012-03-02\n",
"86246 2509 2012-03-02\n",
"\n",
"[5 rows x 2 columns]"
]
}
],
"prompt_number": 76
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%sql sqlite:///shopping.db\n",
"SELECT id, (strftime('%s',ho_date) - strftime('%s',trans_date))/(3600*24) AS delay_days\n",
"FROM\n",
" (\n",
" SELECT trans.id, MAX(trans.date) AS trans_date, MAX(ho.date) AS ho_date\n",
" FROM\n",
" (\n",
" SELECT DISTINCT id, date\n",
" FROM trans_temp1\n",
" ) trans\n",
" INNER JOIN\n",
" (\n",
" SELECT DISTINCT id, offerdate AS date\n",
" FROM history_offers\n",
" ) ho\n",
" ON trans.id = ho.id\n",
" AND trans.date <= ho.date\n",
" GROUP BY 1\n",
" ) m\n",
"LIMIT 10"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Done.\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 63,
"text": [
"[(86246, 1),\n",
" (86252, 1),\n",
" (12682470, 7),\n",
" (12996040, 5),\n",
" (13089312, 1),\n",
" (13179265, 5),\n",
" (13251776, 6),\n",
" (13540129, 1),\n",
" (13807224, 2),\n",
" (13873775, 3)]"
]
}
],
"prompt_number": 63
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 63
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Things that might have predictive power (brainstorm)\n",
"#### First pass variables\n",
"<ul>\n",
"<li> Total purchase volume: number of shopping trips, number of items\n",
"<li> Recency of last purchase\n",
"<li> Match between (variable) of offer and shopper's previous purchases: category, chain, brand, company\n",
"<li> Offer parameters: offer value\n",
"<li> ...\n",
"</ul>\n",
"\n",
"#### Second pass variables\n",
"<ul>\n",
"<li> Frequency of purchases\n",
"<li> Previous repeat purchases\n",
"<li> ...\n",
"</ul>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Operationalization of variables to test\n",
"<ul>\n",
"<li> volume1: [Purchase volume] total number of shopping trips, defined as number of distinct dates\n",
"<li> volume2: [Purchase volume] total number of items shopper has purchased\n",
"<li> timing1: [Recency of last purchase] number of days between offer date and date of previous purchase\n",
"<li> match1: [Offer match] number of previous purchases of same category as offer\n",
"<li> match2: [Offer match] number of previous purchases of same brand as offer\n",
"<li> offer1: [Offer parameters] offer value, given by history_offers.offervalue\n",
"</ul>\n",
"\n",
"Note that category and brand are related, so for brand use same brand-different category so as not to be redundant with offer category."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### NOTE TO TEACHER: Progress so far, 06/04/14.\n",
"I put the data into a database, visualized and explored metaparameters of the smaller tables, and am currently working on handling the large table (\"transactions\"), which is 20 GB. I've extracted some of the variables I would start with in a model. After I resolve how to handle data volume, I will start with a logistic regression model, using some of the simplest variables (aka features), and see what my baseline model performance is (precision, recall, ROC). Then I will explore the feature space, details of the model, and different types of models.\n",
"\n",
"I'll try to get a minimum of one working model handed in as soon as I can. I'm aware that this will be past the due date."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
offer,category,quantity,company,offervalue,brand
1190530,9115,1,108500080,5,93904
1194044,9909,1,107127979,1,6732
1197502,3203,1,106414464,0.75,13474
1198271,5558,1,107120272,1.5,5072
1198272,5558,1,107120272,1.5,5072
1198273,5558,1,107120272,1.5,5072
1198274,5558,1,107120272,1.5,5072
1198275,5558,1,107120272,1.5,5072
1199256,4401,1,105100050,2,13791
1199258,4401,1,105100050,2,13791
1200578,1703,1,104460040,1.5,7668
1200579,1703,1,104460040,1.5,7668
1200581,1726,1,104460040,1.25,7668
1200582,1726,1,104460040,1.25,7668
1200584,3504,1,104460040,1.25,7668
1200988,3509,1,103320030,2,875
1203052,9909,1,1089520383,1,28840
1203439,5122,1,107106878,1.5,17311
1204576,5616,1,104610040,1,15889
1204821,5619,1,107717272,1.5,102504
1204822,5619,1,107717272,1.5,102504
1208251,2202,1,104460040,2,3718
1208252,2202,1,104460040,3,3718
1208329,2119,1,108079383,1,6926
1208501,6202,1,1087744888,1.5,64486
1208503,6202,1,1087744888,1.5,64486
1213242,5824,1,105190050,2,26456
1219900,799,1,1076211171,1.5,17286
1219903,799,1,1076211171,1.5,17286
1220502,4517,1,105450050,1.5,1322
1220503,4517,1,105450050,1.5,1322
1221658,7205,2,103700030,3,4294
1221663,7205,1,103700030,1.5,4294
1221665,7205,1,103700030,1.5,4294
1221666,7205,1,103700030,1.5,4294
1221667,7205,1,103700030,2,4294
1230218,706,1,104127141,1,26189
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment