diff --git a/data/US_MX_native_interests.json b/data/US_MX_native_interests.json deleted file mode 100644 index f99f2a0..0000000 --- a/data/US_MX_native_interests.json +++ /dev/null @@ -1,1364 +0,0 @@ -{ - "ages_ranges": [ - { - "max": 65, - "min": 18 - } - ], - "behavior": [ - { - "name": "Not Expats and close friends of expats", - "not": [ - 6015559470583, 6025978286383 - ] - } - ], - "genders": [ - 0 - ], - "geo_locations": [ - { - "location_types": [ - "home" - ], - "name": "countries", - "values": [ - "US" - ] - }, - { - "location_types": [ - "home" - ], - "name": "countries", - "values": [ - "MX" - ] - } - ], - "interests": [ - { - "or": [6002839660079], - "name": ["Cosmetics"] - }, - { - "or": [6002866718622], - "name": ["Science"] - }, - { - "or": [6002867432822], - "name": ["Beauty"] - }, - { - "or": [6002868021822], - "name": ["Adventure travel"] - }, - { - "or": [6002868910910], - "name": ["Organic food"] - }, - { - "or": [6002884511422], - "name": ["Small business"] - }, - { - "or": [6002920953955], - "name": ["Interior design"] - }, - { - "or": [6002925538921], - "name": ["Acting"] - }, - { - "or": [6002926108721], - "name": ["Vacations"] - }, - { - "or": [6002929380259], - "name": ["Volleyball"] - }, - { - "or": [6002936693259], - "name": ["Soft drinks"] - }, - { - "or": [6002951587955], - "name": ["Classical music"] - }, - { - "or": [6002957026250], - "name": ["Theatre"] - }, - { - "or": [6002960574320], - "name": ["Tablet computers"] - }, - { - "or": [6002963523717], - "name": ["Aviation"] - }, - { - "or": [6002964239317], - "name": ["Mexican cuisine"] - }, - { - "or": [6002964500317], - "name": ["Word games"] - }, - { - "or": [6002970406974], - "name": ["Concerts"] - }, - { - "or": [6002971085794], - "name": ["Mobile phones"] - }, - { - "or": [6002971095994], - "name": ["Action games"] - }, - { - "or": [6002979499920], - "name": ["Fishing"] - }, - { - "or": [6002984573619], - "name": ["Surfing"] - }, - { - "or": [6002985584323], - "name": ["Outdoor recreation"] - }, - { - "or": [6002986104968], - "name": ["Mystery fiction"] - }, - { - "or": [6002991239659], - "name": ["Motherhood"] - }, - { - "or": [6002991736368], - "name": ["Reading"] - }, - { - "or": [6002997799844], - "name": ["Singing"] - }, - { - "or": [6002998078382], - "name": ["Military"] - }, - { - "or": [6002998123892], - "name": ["Japanese cuisine"] - }, - { - "or": [6002998517244], - "name": ["Camcorders"] - }, - { - "or": [6003012185129], - "name": ["Meditation"] - }, - { - "or": [6003012317397], - "name": ["Gambling"] - }, - { - "or": [6003012461997], - "name": ["Beer"] - }, - { - "or": [6003020834693], - "name": ["Music"] - }, - { - "or": [6003025268985], - "name": ["Tattoos"] - }, - { - "or": [6003029869785], - "name": ["Arts and music"] - }, - { - "or": [6003030029655], - "name": ["Chinese cuisine"] - }, - { - "or": [6003030519207], - "name": ["Online poker"] - }, - { - "or": [6003049202156], - "name": ["Community issues"] - }, - { - "or": [6003053056644], - "name": ["Gardening"] - }, - { - "or": [6003054884732], - "name": ["Coupons"] - }, - { - "or": [6003059385128], - "name": ["Ecotourism"] - }, - { - "or": [6003059733932], - "name": ["First-person shooter games"] - }, - { - "or": [6003062205328], - "name": ["Retail banking"] - }, - { - "or": [6003063638807], - "name": ["Investment banking"] - }, - { - "or": [6003064649070], - "name": ["Mountains"] - }, - { - "or": [6003070122382], - "name": ["Toys"] - }, - { - "or": [6003070856229], - "name": ["Games"] - }, - { - "or": [6003071094715], - "name": ["Gospel music"] - }, - { - "or": [6003074487739], - "name": ["E-books"] - }, - { - "or": [6003074954515], - "name": ["Sales"] - }, - { - "or": [6003076016339], - "name": ["Email marketing"] - }, - { - "or": [6003083357650], - "name": ["Manga"] - }, - { - "or": [6003087413192], - "name": ["Baseball"] - }, - { - "or": [6003088846792], - "name": ["Beauty salons"] - }, - { - "or": [6003090714101], - "name": ["Car rentals"] - }, - { - "or": [6003092330156], - "name": ["Mountain biking"] - }, - { - "or": [6003092882217], - "name": ["Trucks"] - }, - { - "or": [6003096002658], - "name": ["Graphic design"] - }, - { - "or": [6003101323797], - "name": ["Fatherhood"] - }, - { - "or": [6003102729234], - "name": ["Italian cuisine"] - }, - { - "or": [6003102988840], - "name": ["Latin American cuisine"] - }, - { - "or": [6003103108917], - "name": ["Boutiques"] - }, - { - "or": [6003105618835], - "name": ["Crafts"] - }, - { - "or": [6003106813190], - "name": ["Hunting"] - }, - { - "or": [6003107699532], - "name": ["Soul music"] - }, - { - "or": [6003107902433], - "name": ["Association football (Soccer)"] - }, - { - "or": [6003108411433], - "name": ["Rabbits"] - }, - { - "or": [6003108649035], - "name": ["Spanish cuisine"] - }, - { - "or": [6003108826384], - "name": ["Music festivals"] - }, - { - "or": [6003115804542], - "name": ["Desktop computers"] - }, - { - "or": [6003116038942], - "name": ["Computer monitors"] - }, - { - "or": [6003120620858], - "name": ["Coffeehouses"] - }, - { - "or": [6003122958658], - "name": ["Boating"] - }, - { - "or": [6003125064949], - "name": ["Electric vehicle"] - }, - { - "or": [6003125948045], - "name": ["Desserts"] - }, - { - "or": [6003126215349], - "name": ["Comics"] - }, - { - "or": [6003126358188], - "name": ["TV game shows"] - }, - { - "or": [6003127206524], - "name": ["Digital marketing"] - }, - { - "or": [6003129926917], - "name": ["Animated movies"] - }, - { - "or": [6003132926214], - "name": ["Furniture"] - }, - { - "or": [6003133486214], - "name": ["Vehicles"] - }, - { - "or": [6003133978408], - "name": ["Chocolate"] - }, - { - "or": [6003134986700], - "name": ["Baking"] - }, - { - "or": [6003137105590], - "name": ["Volunteering"] - }, - { - "or": [6003139266461], - "name": ["Movies"] - }, - { - "or": [6003141785766], - "name": ["Mortgage loans"] - }, - { - "or": [6003142705949], - "name": ["Computer processors"] - }, - { - "or": [6003142974961], - "name": ["Painting"] - }, - { - "or": [6003143720966], - "name": ["Personal finance"] - }, - { - "or": [6003146442552], - "name": ["Jazz music"] - }, - { - "or": [6003146718552], - "name": ["Auto racing"] - }, - { - "or": [6003146729229], - "name": ["Distilled beverage"] - }, - { - "or": [6003147868152], - "name": ["Parties"] - }, - { - "or": [6003148544265], - "name": ["Wine"] - }, - { - "or": [6003151951349], - "name": ["Computer servers"] - }, - { - "or": [6003153672865], - "name": ["Online games"] - }, - { - "or": [6003154043305], - "name": ["Performing arts"] - }, - { - "or": [6003155333705], - "name": ["Vegetarianism"] - }, - { - "or": [6003156321008], - "name": ["Bars"] - }, - { - "or": [6003157824284], - "name": ["Bollywood movies"] - }, - { - "or": [6003159378782], - "name": ["Cats"] - }, - { - "or": [6003159413034], - "name": ["Fish"] - }, - { - "or": [6003161475030], - "name": ["Comedy movies"] - }, - { - "or": [6003162931434], - "name": ["College football"] - }, - { - "or": [6003166397215], - "name": ["Swimming"] - }, - { - "or": [6003167425934], - "name": ["Shopping and fashion"] - }, - { - "or": [6003172273055], - "name": ["Sustainability"] - }, - { - "or": [6003172448161], - "name": ["TV talkshows"] - }, - { - "or": [6003172932634], - "name": ["TV"] - }, - { - "or": [6003176101552], - "name": ["Massively multiplayer online games"] - }, - { - "or": [6003176678152], - "name": ["Automobiles"] - }, - { - "or": [6003178374133], - "name": ["Fantasy movies"] - }, - { - "or": [6003179515414], - "name": ["Dance music"] - }, - { - "or": [6003120620858], - "name": ["Coffeehouses"] - }, - { - "or": [6003188355978], - "name": ["Dresses"] - }, - { - "or": [6003194056672], - "name": ["Fine art"] - }, - { - "or": [6003195554098], - "name": ["Rhythm and blues music"] - }, - { - "or": [6003195797498], - "name": ["Cuisine"] - }, - { - "or": [6003198370967], - "name": ["Massively multiplayer online role-playing games"] - }, - { - "or": [6003198476967], - "name": ["Handbags"] - }, - { - "or": [6003198851865], - "name": ["Dating"] - }, - { - "or": [6003200340482], - "name": ["Middle Eastern cuisine"] - }, - { - "or": [6003206216430], - "name": ["Magazines"] - }, - { - "or": [6003206308286], - "name": ["Science fiction movies"] - }, - { - "or": [6003207605030], - "name": ["Minivans"] - }, - { - "or": [6003210799924], - "name": ["Romance novels"] - }, - { - "or": [6003211401886], - "name": ["Air travel"] - }, - { - "or": [6003217093576], - "name": ["Insurance"] - }, - { - "or": [6003220634758], - "name": ["Discount stores"] - }, - { - "or": [6003224441249], - "name": ["Televisions"] - }, - { - "or": [6003225325061], - "name": ["Thriller movies"] - }, - { - "or": [6003225556345], - "name": ["Hip hop music"] - }, - { - "or": [6003225930699], - "name": ["Cruises"] - }, - { - "or": [6003232518610], - "name": ["Parenting"] - }, - { - "or": [6003234413249], - "name": ["Home improvement"] - }, - { - "or": [6003240742699], - "name": ["Seafood"] - }, - { - "or": [6003243058188], - "name": ["Diners"] - }, - { - "or": [6003243604899], - "name": ["Action movies"] - }, - { - "or": [6003246168013], - "name": ["Simulation games"] - }, - { - "or": [6003247127613], - "name": ["Ballet"] - }, - { - "or": [6003247790075], - "name": ["Literature"] - }, - { - "or": [6003247890613], - "name": ["Dancehalls"] - }, - { - "or": [6003248338072], - "name": ["Casino games"] - }, - { - "or": [6003252179711], - "name": ["Engineering"] - }, - { - "or": [6003254590688], - "name": ["Spas"] - }, - { - "or": [6003255640088], - "name": ["Sunglasses"] - }, - { - "or": [6003257757682], - "name": ["Blues music"] - }, - { - "or": [6003263791114], - "name": ["Shopping"] - }, - { - "or": [6003266061909], - "name": ["Food"] - }, - { - "or": [6003266225248], - "name": ["Jewelry"] - }, - { - "or": [6003266266843], - "name": ["Fashion design"] - }, - { - "or": [6003268182136], - "name": ["TV reality shows"] - }, - { - "or": [6003269553527], - "name": ["Sports"] - }, - { - "or": [6003270811593], - "name": ["Higher education"] - }, - { - "or": [6003274262708], - "name": ["Fiction books"] - }, - { - "or": [6003277229371], - "name": ["Physical fitness"] - }, - { - "or": [6003279598823], - "name": ["Marketing"] - }, - { - "or": [6003280676501], - "name": ["GPS devices"] - }, - { - "or": [6003280740901], - "name": ["Veterans"] - }, - { - "or": [6003283801502], - "name": ["Thai cuisine"] - }, - { - "or": [6003286289697], - "name": ["Birds"] - }, - { - "or": [6003288647527], - "name": ["Projectors"] - }, - { - "or": [6003289911338], - "name": ["Smartphones"] - }, - { - "or": [6003290005325], - "name": ["Web development"] - }, - { - "or": [6003290811111], - "name": ["Current events"] - }, - { - "or": [6003297396138], - "name": ["Banking"] - }, - { - "or": [6003299204611], - "name": ["Beverages"] - }, - { - "or": [6003302121228], - "name": ["Guitar"] - }, - { - "or": [6003304473660], - "name": ["SUVs"] - }, - { - "or": [6003305361460], - "name": ["TV comedies"] - }, - { - "or": [6003306084421], - "name": ["Yoga"] - }, - { - "or": [6003306415421], - "name": ["Greek cuisine"] - }, - { - "or": [6003324287371], - "name": ["Skiing"] - }, - { - "or": [6003324917336], - "name": ["Nutrition"] - }, - { - "or": [6003325186571], - "name": ["Cameras"] - }, - { - "or": [6003327856180], - "name": ["Dieting"] - }, - { - "or": [6003332344237], - "name": ["Dogs"] - }, - { - "or": [6003332483177], - "name": ["Music videos"] - }, - { - "or": [6003341579196], - "name": ["Pop music"] - }, - { - "or": [6003342470823], - "name": ["Board games"] - }, - { - "or": [6003343485089], - "name": ["Korean cuisine"] - }, - { - "or": [6003343997689], - "name": ["Home Appliances"] - }, - { - "or": [6003346311730], - "name": ["Vietnamese cuisine"] - }, - { - "or": [6003346592981], - "name": ["Online shopping"] - }, - { - "or": [6003348453981], - "name": ["Shoes"] - }, - { - "or": [6003348604581], - "name": ["Fashion accessories"] - }, - { - "or": [6003348662930], - "name": ["Camping"] - }, - { - "or": [6003349175527], - "name": ["Computer memory"] - }, - { - "or": [6003349442621], - "name": ["Entertainment"] - }, - { - "or": [6003351312828], - "name": ["Musical theatre"] - }, - { - "or": [6003351764757], - "name": ["Triathlons"] - }, - { - "or": [6003353550130], - "name": ["Motorcycles"] - }, - { - "or": [6003355530237], - "name": ["Gyms"] - }, - { - "or": [6003359996821], - "name": ["Nature"] - }, - { - "or": [6003361714600], - "name": ["Nightclubs"] - }, - { - "or": [6003369240775], - "name": ["Basketball"] - }, - { - "or": [6003369521274], - "name": ["Zumba"] - }, - { - "or": [6003369782940], - "name": ["Credit cards"] - }, - { - "or": [6003370636074], - "name": ["Search engine optimization"] - }, - { - "or": [6003371567474], - "name": ["Entrepreneurship"] - }, - { - "or": [6003372667195], - "name": ["Fast food restaurants"] - }, - { - "or": [6003373175581], - "name": ["Documentary movies"] - }, - { - "or": [6003375422677], - "name": ["Drama movies"] - }, - { - "or": [6003376089674], - "name": ["American football"] - }, - { - "or": [6003380576181], - "name": ["Role-playing games"] - }, - { - "or": [6003381994165], - "name": ["Portable media players"] - }, - { - "or": [6003382151137], - "name": ["Reptiles"] - }, - { - "or": [6003384248805], - "name": ["Fitness and wellness"] - }, - { - "or": [6003385141743], - "name": ["Racing games"] - }, - { - "or": [6003385609165], - "name": ["Recipes"] - }, - { - "or": [6003387418453], - "name": ["Web hosting"] - }, - { - "or": [6003387633593], - "name": ["Drums"] - }, - { - "or": [6003388314512], - "name": ["Investment"] - }, - { - "or": [6003389760112], - "name": ["Social media marketing"] - }, - { - "or": [6003390752144], - "name": ["Shopping malls"] - }, - { - "or": [6003392512725], - "name": ["Energy drinks"] - }, - { - "or": [6003394580331], - "name": ["RVs"] - }, - { - "or": [6003395353671], - "name": ["Religion"] - }, - { - "or": [6003395414271], - "name": ["Construction"] - }, - { - "or": [6003397425735], - "name": ["Tennis"] - }, - { - "or": [6003397496347], - "name": ["Running"] - }, - { - "or": [6003398056603], - "name": ["Fast casual restaurants"] - }, - { - "or": [6003402305839], - "name": ["Business"] - }, - { - "or": [6003402518839], - "name": ["Web design"] - }, - { - "or": [6003404634364], - "name": ["Computers"] - }, - { - "or": [6003409043877], - "name": ["Alcoholic beverages"] - }, - { - "or": [6003409392877], - "name": ["Weddings"] - }, - { - "or": [6003415393053], - "name": ["Children's clothing"] - }, - { - "or": [6003416777039], - "name": ["Horses"] - }, - { - "or": [6003417378239], - "name": ["Plays"] - }, - { - "or": [6003420024431], - "name": ["French cuisine"] - }, - { - "or": [6003420644631], - "name": ["Non-fiction books"] - }, - { - "or": [6003422719241], - "name": ["Charity and causes"] - }, - { - "or": [6003423342191], - "name": ["Dance"] - }, - { - "or": [6003423416540], - "name": ["Free software"] - }, - { - "or": [6003424404140], - "name": ["Marathons"] - }, - { - "or": [6003430600057], - "name": ["Lakes"] - }, - { - "or": [6003430696269], - "name": ["Tourism"] - }, - { - "or": [6003431201869], - "name": ["Beaches"] - }, - { - "or": [6003434373937], - "name": ["Browser games"] - }, - { - "or": [6003435096731], - "name": ["Barbecue"] - }, - { - "or": [6003436950375], - "name": ["Restaurants"] - }, - { - "or": [6003443805331], - "name": ["Fragrances"] - }, - { - "or": [6003445506042], - "name": ["Marriage"] - }, - { - "or": [6003446055283], - "name": ["Scooters"] - }, - { - "or": [6003456330903], - "name": ["Hair products"] - }, - { - "or": [6003456388203], - "name": ["Clothing"] - }, - { - "or": [6003461162225], - "name": ["Pet food"] - }, - { - "or": [6003462707303], - "name": ["Books"] - }, - { - "or": [6003464109203], - "name": ["Health care"] - }, - { - "or": [6003466585319], - "name": ["Online banking"] - }, - { - "or": [6003470511564], - "name": ["Do it yourself (DIY)"] - }, - { - "or": [6003471508663], - "name": ["Shooter games"] - }, - { - "or": [6003473077165], - "name": ["Weight training"] - }, - { - "or": [6003476182657], - "name": ["Family"] - }, - { - "or": [6003481391264], - "name": ["Display advertising"] - }, - { - "or": [6003491283786], - "name": ["Tea"] - }, - { - "or": [6003493980595], - "name": ["Country music"] - }, - { - "or": [6003494675627], - "name": ["Indian cuisine"] - }, - { - "or": [6003509171264], - "name": ["Hiking"] - }, - { - "or": [6003510075864], - "name": ["Golf"] - }, - { - "or": [6003512053894], - "name": ["Snowboarding"] - }, - { - "or": [6003526234370], - "name": ["Online advertising"] - }, - { - "or": [6003540150873], - "name": ["Sports games"] - }, - { - "or": [6003572379887], - "name": ["Hotels"] - }, - { - "or": [6003578086487], - "name": ["Real estate"] - }, - { - "or": [6003582500438], - "name": ["Strategy games"] - }, - { - "or": [6003582732907], - "name": ["Rock music"] - }, - { - "or": [6003584163107], - "name": ["Advertising"] - }, - { - "or": [6003586608473], - "name": ["Writing"] - }, - { - "or": [6003605717820], - "name": ["Anime movies"] - }, - { - "or": [6003626773307], - "name": ["Coffee"] - }, - { - "or": [6003629266583], - "name": ["Hard drives"] - }, - { - "or": [6003633122583], - "name": ["Heavy metal music"] - }, - { - "or": [6003641846820], - "name": ["Veganism"] - }, - { - "or": [6003647522546], - "name": ["Card games"] - }, - { - "or": [6003648059946], - "name": ["Bodybuilding"] - }, - { - "or": [6003649983713], - "name": ["Design"] - }, - { - "or": [6003654559478], - "name": ["Politics"] - }, - { - "or": [6003656063078], - "name": ["Nursing"] - }, - { - "or": [6003656112304], - "name": ["Economics"] - }, - { - "or": [6003656296104], - "name": ["Network storage"] - }, - { - "or": [6003656922020], - "name": ["Horror movies"] - }, - { - "or": [6003659420716], - "name": ["Cooking"] - }, - { - "or": [6003668857118], - "name": ["Pizza"] - }, - { - "or": [6003668975718], - "name": ["Puzzle video games"] - }, - { - "or": [6003703762913], - "name": ["Law"] - }, - { - "or": [6003703931713], - "name": ["Juice"] - }, - { - "or": [6003716669862], - "name": ["Consumer electronics"] - }, - { - "or": [6003717247746], - "name": ["Sculpture"] - }, - { - "or": [6003717914546], - "name": ["Hybrids"] - }, - { - "or": [6003729124262], - "name": ["Audio equipment"] - }, - { - "or": [6003778400853], - "name": ["Retail"] - }, - { - "or": [6003779859852], - "name": ["Horseback riding"] - }, - { - "or": [6003780008652], - "name": ["Online"] - }, - { - "or": [6003780025252], - "name": ["Drawing"] - }, - { - "or": [6003840140052], - "name": ["Agriculture"] - }, - { - "or": [6003899195666], - "name": ["Photography"] - }, - { - "or": [6003902397066], - "name": ["Electronic music"] - }, - { - "or": [6003902462066], - "name": ["Theme parks"] - }, - { - "or": [6003940339466], - "name": ["Video games"] - }, - { - "or": [6003943667466], - "name": ["Game consoles"] - }, - { - "or": [6003970975896], - "name": ["Environmentalism"] - }, - { - "or": [6003985771306], - "name": ["Technology"] - }, - { - "or": [6004030160948], - "name": ["Social media"] - }, - { - "or": [6004037107009], - "name": ["Boats"] - }, - { - "or": [6004037400009], - "name": ["Fast food"] - }, - { - "or": [6004037726009], - "name": ["Pets"] - }, - { - "or": [6004037932409], - "name": ["Management"] - }, - { - "or": [6004043913548], - "name": ["Newspapers"] - }, - { - "or": [6004094205989], - "name": ["German cuisine"] - }, - { - "or": [6004100985609], - "name": ["Friendship"] - }, - { - "or": [6004115167424], - "name": ["Physical exercise"] - }, - { - "or": [6004140335706], - "name": ["Architecture"] - }, - { - "or": [6004160395895], - "name": ["Travel"] - }, - { - "or": [6005609368513], - "name": ["Software"] - }, - { - "or": [6007828099136], - "name": ["Luxury goods"] - }, - { - "or": [6008740787350], - "name": ["Business and industry"] - }, - { - "or": [6008803895164], - "name": ["Sports and outdoors"] - }, - { - "or": [6008832464480], - "name": ["E-book readers"] - }, - { - "or": [6009248606271], - "name": ["Food and drink"] - }, - { - "or": [6009422452499], - "name": ["Home and garden"] - }, - { - "or": [6010924093432], - "name": ["Live events"] - }, - { - "or": [6011366104268], - "name": ["Women's clothing"] - }, - { - "or": [6011515350975], - "name": ["Politics and social issues"] - }, - { - "or": [6011994253127], - "name": ["Men's clothing"] - }, - { - "or": [6012547807252], - "name": ["Hobbies and activities"] - }, - { - "or": [6012684376438], - "name": ["Family and relationships"] - } - ], - "languages": [ - null - ], - "name": "Broad list of interest per country", - "publisher_platforms": [ - "facebook" - ] -} \ No newline at end of file diff --git a/data/hispanic_expat_lang_age.json b/data/hispanic_expat_lang_age.json deleted file mode 100644 index 8621f85..0000000 --- a/data/hispanic_expat_lang_age.json +++ /dev/null @@ -1,426 +0,0 @@ -{ "name": "Hispanic ex-pats", - "behavior": [ - {"or" : [6009609033583], "and" : [6023676072183], "name" : "Hispanic (Spanish-dominant) AND Ex-pats (Mexico)"}, - {"or" : [6009609054383], "and" : [6023676072183], "name" : "Hispanic (Bilingual) AND Ex-pats (Mexico)"}, - {"or" : [6009609045383], "and" : [6023676072183], "name" : "Hispanic (English-dominant) AND Ex-pats (Mexico)"} - ], - "geo_locations" : - [ - { - "name" : "regions", - "values" : [ - {"key" : "3843"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3844"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3845"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3846"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3847"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3848"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3849"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3850"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3852"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "4221"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3853"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3854"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3855"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3856"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3857"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3858"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3859"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3860"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3861"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3862"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3863"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3864"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3865"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3866"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3867"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3868"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3869"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3870"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3871"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3872"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3873"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3874"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3875"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3876"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3877"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3878"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3879"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3880"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3881"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3882"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3883"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3884"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3885"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3886"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3887"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3888"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3889"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3890"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3891"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3892"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3893"} - ], - "location_types" : ["home"], - "country" : "US" - } - ], - "ages_ranges": [ - {"min":13, "max":17}, - {"min":18, "max":28}, - {"min":29, "max":38}, - {"min":39, "max":48}, - {"min":13, "max":65} - ], - "genders": [0] -} \ No newline at end of file diff --git a/data/hispanic_expats.json b/data/hispanic_expats.json deleted file mode 100644 index fb00dde..0000000 --- a/data/hispanic_expats.json +++ /dev/null @@ -1,421 +0,0 @@ -{ "name": "Hispanic Expats", - "behavior": [ - {"or" : [6003133212372], "name" : "Hispanic (US - All)"}, - {"not" : [6003133212372], "name" : "Non-Hispanic"} - ], - "geo_locations" : - [ - { - "name" : "regions", - "values" : [ - {"key" : "3843"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3844"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3845"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3846"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3847"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3848"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3849"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3850"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3852"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "4221"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3853"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3854"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3855"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3856"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3857"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3858"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3859"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3860"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3861"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3862"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3863"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3864"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3865"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3866"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3867"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3868"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3869"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3870"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3871"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3872"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3873"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3874"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3875"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3876"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3877"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3878"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3879"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3880"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3881"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3882"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3883"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3884"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3885"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3886"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3887"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3888"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3889"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3890"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3891"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3892"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3893"} - ], - "location_types" : ["home"], - "country" : "US" - } - ], - "ages_ranges": [ - {"min":18} - ], - "genders": [0] -} \ No newline at end of file diff --git a/data/hispanic_lang_age.json b/data/hispanic_lang_age.json deleted file mode 100644 index c825365..0000000 --- a/data/hispanic_lang_age.json +++ /dev/null @@ -1,426 +0,0 @@ -{ "name": "Hispanic language distributions by age and location", - "behavior": [ - {"or" : [6009609054383], "name" : "Hispanic (US - Bilingual)"}, - {"or" : [6009609033583], "name" : "Hispanic (US - Spanish dominant)"}, - {"or" : [6009609045383], "name" : "Hispanic (US - English dominant)"} - ], - "geo_locations" : - [ - { - "name" : "regions", - "values" : [ - {"key" : "3843"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3844"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3845"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3846"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3847"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3848"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3849"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3850"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3852"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "4221"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3853"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3854"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3855"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3856"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3857"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3858"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3859"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3860"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3861"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3862"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3863"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3864"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3865"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3866"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3867"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3868"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3869"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3870"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3871"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3872"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3873"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3874"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3875"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3876"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3877"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3878"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3879"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3880"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3881"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3882"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3883"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3884"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3885"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3886"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3887"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3888"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3889"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3890"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3891"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3892"} - ], - "location_types" : ["home"], - "country" : "US" - }, - { - "name" : "regions", - "values" : [ - {"key" : "3893"} - ], - "location_types" : ["home"], - "country" : "US" - } - ], - "ages_ranges": [ - {"min":13, "max":17}, - {"min":18, "max":28}, - {"min":29, "max":38}, - {"min":39, "max":48}, - {"min":13, "max":65} - ], - "genders": [0] -} \ No newline at end of file diff --git a/data/newyork_expats.json b/data/newyork_expats.json deleted file mode 100644 index 5dbb9e1..0000000 --- a/data/newyork_expats.json +++ /dev/null @@ -1,25 +0,0 @@ -{ "name": "Expats Distribution in New York", - "geo_locations": [ - { - "name": "cities", - "values": [{"key":"2490299"}], - "location_types": ["home"] - } - ], - "behavior": [ - {"or" : [6019673233983], "name" : "Expats (Zimbabwe)"}, - {"or" : [6027149006383], "name" : "Expats (Vietnam)"}, - {"or" : [6026404871583], "name" : "Expats (Venezuela)"}, - {"or" : [6023620475783], "name" : "Expats (US)"}, - {"or" : [6019396649183], "name" : "Expats (United States)"}, - {"or" : [6021354152983], "name" : "Expats (UK)"}, - {"or" : [6019673501783], "name" : "Expats (Uganda)"}, - {"or" : [6023516430783], "name" : "Expats (UAE)"}, - {"or" : [6019366994183], "name" : "Expats (Turkey)"} - ], - "ages_ranges": [ - {"min":18} - ], - "genders": [0] -} - diff --git a/data/ny_subregions.json b/data/ny_subregions.json deleted file mode 100644 index 7e2af27..0000000 --- a/data/ny_subregions.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "New York Zip Codes", - "publisher_platforms": ["facebook"], - "geo_locations": [ - {"name":"zips","values":[{"key":"US:10075"}],"location_types":["home"],"pySocialWatcherReference" :"10075"}, - {"name":"zips","values":[{"key":"US:10065"}],"location_types":["home"],"pySocialWatcherReference" :"10065"}, - {"name":"zips","values":[{"key":"US:10453"}],"location_types":["home"],"pySocialWatcherReference" :"10453"}, - {"name":"zips","values":[{"key":"US:10457"}],"location_types":["home"],"pySocialWatcherReference" :"10457"}, - {"name":"zips","values":[{"key":"US:10460"}],"location_types":["home"],"pySocialWatcherReference" :"10460"}, - {"name":"zips","values":[{"key":"US:10458"}],"location_types":["home"],"pySocialWatcherReference" :"10458"}, - {"name":"zips","values":[{"key":"US:10467"}],"location_types":["home"],"pySocialWatcherReference" :"10467"}, - {"name":"zips","values":[{"key":"US:10468"}],"location_types":["home"],"pySocialWatcherReference" :"10468"}, - {"name":"zips","values":[{"key":"US:10451"}],"location_types":["home"],"pySocialWatcherReference" :"10451"}, - {"name":"zips","values":[{"key":"US:10452"}],"location_types":["home"],"pySocialWatcherReference" :"10452"} - - ], - "behavior": { - "access_device": [{ - "or": [6004384041172], - "name": "iOS" - }] - }, - "ages_ranges": [{ - "min": 18, - "max": 24 - } - ], - "genders": [1, 2], - "interests": [null] -} \ No newline at end of file diff --git a/data/top_interests_complete_names.csv b/data/top_interests_complete_names.csv new file mode 100644 index 0000000..44b4dae --- /dev/null +++ b/data/top_interests_complete_names.csv @@ -0,0 +1,1776 @@ +interest_id,interest_name +6003349442621,Entertainment +6003142505790,Facebook +6003342621987,Social network +6003167425934,Shopping and fashion +6003985771306,Technology +6012547807252,Hobbies and activities +6003045600844,Instant messaging +6009177290315,Facebook Messenger +6008803895164,Sports and outdoors +6003269553527,Sports +6008740787350,Business and industry +6003716669862,Consumer electronics +6003263791114,Shopping +6012684376438,Family and relationships +6003188427578,Facebook for Android +6009248606271,Food and drink +6003020834693,Music +6003070856229,Games +6003266061909,Food +6003139266461,Movies +6004160395895,Travel +6003476182657,Family +6002991736368,Reading +6003186556105,Love +6003224441249,Televisions +6003404634364,Computers +6003940339466,Video games +6002971085794,Mobile phones +6003029869785,Arts and music +6003456388203,Clothing +6003327060545,Education +6002867432822,Beauty +6004100985609,Friendship +6003346592981,Online shopping +6003133486214,Vehicles +6003670602220,Instagram +6003384248805,Fitness and wellness +6003117496988,NA +6003343846195,Life +6003176678152,Automobiles +6003329354837,Time +6003402305839,Business +6003107902433,Association football (Soccer) +6003130044117,Finance +6002932652762,World +6003172932634,TV +6003649983713,Design +6003299204611,Beverages +6003539884903,Android (operating system) +6010924093432,Live events +6003899195666,Photography +6003074954515,Sales +6003780008652,Online +6003348604581,Fashion accessories +6011515350975,Politics and social issues +6003582492638,Happiness +6002839660079,Cosmetics +6003115458342,Google Play +6003332483177,Music videos +6003348453981,Shoes +6003345696474,Child +6004037726009,Pets +6003423416540,Free software +6003243461213,Human +6003513539242,Price +6003462707303,Books +6003525810694,Video +6003290811111,Current events +6003231864010,Photograph +6021349682746,Mobile app +6003341579196,Pop music +6005609368513,Software +6002880533372,Chang'e +6003582732907,Rock music +6003289911338,Smartphones +6003188098201,Woman +6004110675424,Day +6003423342191,Dance +6003318587288,Image +6004043913548,Newspapers +6003280762643,Country +6003143720966,Personal finance +6003371616940,Brand +6003215957745,Application software +6003702989291,Website +6003430696269,Tourism +6003393912731,People +6003584283289,WhatsApp +6003659420716,Cooking +6003696621690,Gratitude +6003436950375,Restaurants +6003359996821,Nature +6009422452499,Home and garden +6002986908368,House +6003248297213,Product (business) +6002991239659,Motherhood +6011366104268,Women's clothing +6003373017775,United States +6003753105091,Email +6003418314031,Home +6003246361542,Download +6003573036687,Electronics +6003902907066,Li Ke +6003054884732,Coupons +6003201804413,Color +6003188355978,Dresses +6003425313775,Emotion +6003245465167,Journalism +6003540542827,Water +6003456330903,Hair products +6003266225248,Jewelry +6003000774850,Eating +6003088846792,Beauty salons +6003270811593,Higher education +6003077008693,God +6011451224265,Imagem +6003236484449,Learning +6003290348256,Telecommunication +6003168601235,Week +6002985584323,Outdoor recreation +6004180881895,Information +6003140995966,Company +6003390752144,Shopping malls +6007828099136,Luxury goods +6003279598823,Marketing +6003626773307,Coffee +6003369240775,Basketball +6003155348505,Sibling +6003772121522,Telephone +6003254590688,Spas +6003325662688,Sales promotion +6003324338179,City +6003161475030,Comedy movies +6003409043877,Alcoholic beverages +6003100693640,Money +6003452098986,Rings of Saturn +6003137935900,NA +6003589919518,COM file +6003145979068,School +6003572379887,Hotels +6004036173148,Medicine +6004158316095,YouTube +6003737549104,Homo sapiens +6003377622944,Skin +6011994253127,Men's clothing +6003200630082,Society +6003223339834,Culture +6003225556345,Hip hop music +6003146344026,Facebook for Iphone +6003068366382,Trousers +6003480600464,Earth +6002944044446,IPhone +6003852888852,Heart +6003323844497,Infant +6003145168352,Victory +6003277229371,Physical fitness +6003019539929,Gift +6003089918015,University +6004115167424,Physical exercise +6003385609165,Recipes +6003089164592,Year +6003059733932,First-person shooter games +6003902397066,Electronic music +6003110046272,Aesthetics +6003717890746,Research +6003464102003,Twitter +6002866718622,Science +6003206216430,Magazines +6003567719718,Gold +6003103108917,Boutiques +6003153672865,Online games +6003379167743,Europe +6002885002822,Sun +6003369782940,Credit cards +6003332344237,Dogs +6003324917336,Footwear +6003256793569,Community issues +6003049202156,Humour +6003582690707,Religion +6003395353671,Fan (person) +6003666664220,Delivery (commerce) +6003481146564,Flower +6003259120909,Student +6003342188930,Cuisine +6003195797498,Furniture +6003132926214,Rhythm and blues music +6003195554098,Chocolate +6003133978408,Law +6003703762913,Blog +6003092582417,Soul music +6003107699532,Philosophy +6003082070797,T-shirt +6003372784175,Gardening +6003053056644,Tea +6003491283786,Wonder (emotion) +6003152979349,Theatre +6002957026250,Beaches +6003431201869,Eye +6003336334689,Flatline +6.00321528994e+12, +6003198476967,Handbags +6004034455409,Freight transport +6003397496403,Biology +6003306457180,Mind +6002840139279,Mass media +6003012317397,Gambling +6003025268985,Tattoos +6003242077675,Shirt +6003243604899,Action movies +6003778400853,Retail +6003256946482,Sound +6002968738492,Freeware +6003297396138,Banking +6003729063753,Watch +6002998047244,Blouse +6003070122382,Toys +6004003708061,India +6003125948045,Desserts +6002869022910,Light +6003310766888,Valentine's Day +6003015569173,Samsung +6003314163591,Face +6003543199827,Textile +6002883962822,Play (activity) +6003120620858,Coffeehouses +6003394307931,Member states of the United Nations +6003114870517,Fruit +6003199742665,Song +6003305507369,Cake +6002997799844,Singing +6012271491130,Mountains +6003064649070,China +6002984938923,Interior design +6002920953955,Knowledge +6003392099943,Baseball +6003087413192,Cats +6003159378782,Nightclubs +6003361714600,Family (biology) +6003190413105,Language +6003162946655,Actor +6003417013277,Artist +6002911421772,Bollywood movies +6003355530237,Fatherhood +6003157824284,Cameras +6003101323797,Leisure +6003325186571,Employment +6003249531267,Parties +6003142845761,Animal +6.00314786815e+12, +6.0033583282e+12, +6004107986809,NA +6003165927235,Career +6004025401589,Teacher +6003211401886,Air travel +6003181031933,Discounts and allowances +6003395414271,Construction +6003255640088,Sunglasses +6002970406974,Concerts +6003681763690,Wife +6003779917452,Puffy AmiYumi +6003668857118,Pizza +6003659729907,Celebrity +6004140335706,Architecture +6002988344794,Cricket +6003509853804,IOS +6003061614928,Touchscreen +6003207207886,Brazil +6003196574924,History +6003249578667,Psychology +6003224104145,Customer +6003446282480,Fragrances +6003443805331,Stock +6003317542854,Beer +6.00763563775e+12, +6.003012462e+12, +6003417378239,Plays +6003254603288,Privately held company +6002897751962,Kitchen +6003043027845,Energy +6003705887546,Fatigue (medical) +6003217093576,Insurance +6003180715102,Contemporary R&B +6003277932171,Musical ensemble +6002989570768,Industry +6003142974961,Painting +6002926036121,Italy +6003255496088,Hairstyle +6003586608473,Writing +6003734280753,Communication +6003654559478,Politics +6003208762486,Leather +6003943667466,Game consoles +6003268182136,TV reality shows +6003657281638,Album +6002971095994,Action games +6003384877565,Transport +6003142844668,Martial arts +6002989170450,Sleep +6003154828549,Product (chemistry) +6002969794329,Spotify +6003156321008,Bars +6003336656596,Chicken +6003332406177,Organization +6003578086487,Real estate +6004034262609,Reality +6002949965174,Motorcycles +6003353550130,Yoga +6003306084421,Bible +6003424400354,Husband +6003185207265,Puzzle video games +6003668975718,Thought +6003154784305,Universe +6003291452511,Heavy metal music +6003633122583,First Epistle to the Thessalonians +6003224999345,Spain +6003260221557,Thriller movies +6003225325061,Weddings +6003409392877,Smile +6003091387658,Idea +6003116716468,Pregnancy +6003448254625,Bitly +6003823241507,Animated movies +6003129926917,Village +6003279515476,Advertising +6.00358416311e+12, +6014749604832,Investment +6003388314512,Dating +6003198851865,American football +6003376089674,Japan +6003700426513,Personal computer +6003582533838,NA +6002964065372,Therapy +6003382115337,Star +6003132914528,Angel +6003101646240,Glass +6002979844520,Birds +6003289482743,Training +6003286289697,Cotton +6003270631848,Soul +6003495140827,Team +6003124454658,Viber +6002868741910,Wine +6003435386246,Broadcasting +6003148544265,Management +6003107202901,Selfie +6004037932409,Taste +6012627188055,Physics +6003417207151,Hospital +6.00307229583e+12, +6.00296434612e+12, +6003141631026,Girl +6003840140052,Agriculture +6003220634758,Discount stores +6003159413034,Fish +6003016637329,Viral video +6003109774500,NA +6003390457803,Dream +6003651811316,Government +6003257757682,Blues music +6003493980595,Country music +6003108481633,Satellite television +6003445506042,Marriage +6003147885126,Jeans +6003397425735,Tennis +6003049405985,Romance film +6003332764437,Parent +6003342572223,Adolescence +6004114510624,Physician +6003134986700,Baking +6002989694968,Visual arts +6003163552515,Laughter +6002968506768,Online chat +6003462661944,Trade +6003374398954,Manufacturing +6003130700636,Police +6003107626192,Wholesale +6003074487739,E-books +6003261031309,Cloud computing +6003703021091,Web page +6003401304747,Tree +6003371567474,Entrepreneurship +6003384251605,Astronomy +6002963523717,Aviation +6004030160948,Social media +6002926108721,Vacations +6003357271404,France +6003975956748,Wood +6003239941142,Short Message Service +6003201119412,Poetry +6003349726605,Sugar +6003190679284,Streaming media +6003399993763,Silver +6002960574320,Tablet computers +6003403706343,Promotion (marketing) +6003115387268,Asia +6003314955799,Alternative rock +6003333353828,Skill +6003265203542,Breakfast +6003442322883,Apple Inc. +6004025434189,Plant +6003397496347,Running +6003508467842,Meat +6003369970935,Hour +6002868021822,Adventure travel +6003484343998,Music download +6004122805409,Magic (paranormal) +6003146718552,Auto racing +6003414169991,Being +6002929380259,Volleyball +6003146442552,Jazz music +6003653599438,Wish +6002936693259,Soft drinks +6002956937323,Mexico +6003252179711,Engineering +6003375214796,Female +6004099944209,Jesus +6003415393053,Children's clothing +6002927958659,Forward (association football) +6003209344533,Candy +6003011899481,Milk +6003341902545,Behavior +6003174252855,Community (TV series) +6003375422677,Drama movies +6003654257078,Model (people) +6003751277867,Pinterest +6003554961063,NA +6003334179351,Adventure +6003901761466,Thailand +6003512040864,Wealth +6003325857888,Record producer +6004037400009,Fast food +6003314443610,LOL +6003026294594,Paris +6003143596040,Justin Bieber +6003656922020,Horror movies +6003073168739,Spirituality +6003323586688,English language +6003589410638,Order (biology) +6003175366702,College +6003515247231,Electricity +6003352001930,Canada +6016388157921,Information technology +6003164535634,Short film +6003139342776,Market (economics) +6003393771563,Renting +6003328429697,Sovereign state +6002998096382,Literature +6003247790075,Tuxedo +6003899506652,Flavor +6.00313766218e+12, +6003002193982,Amazon.com +6003159994808,Hobby +6003351859930,Concept +6003400200763,Germany +6003373175581,Documentary movies +6003376763805,Chef +6003947290466,Bicycle +6003146658152,Reason +6014357938152,LG Optimus L4 II +6003232518610,Parenting +6003976528496,URL shortening +6003225930699,Cruises +6003012185129,Meditation +6002866906422,Skirt +6003320013018,Garden +6003071732829,Australia +6003152263430,Birthday +6003150915833,Sound recording and reproduction +6003207154776,Prayer +6003272351010,Apartment +6003103732434,Fantasy movies +6003178374133,Exhibition game +6003506472664,Childbirth +6003370795474,Memory +6.00302892182e+12, +6003096411016,Perfection +6003029973385,Computer network +6003414224689,Planet +6003384587151,Sneakers (footwear) +6003480609264,Google +6002968406892,Moon +6003599757633,Social science +6003470511564,Do it yourself (DIY) +6003201728013,Television network +6003342807051,Adult +6003071094715,Gospel music +6003331735894,Monarch +6003433300354,Love (John Lennon song) +6003372516775,Phil Spector +6003703931713,Juice +6003087106192,NA +6004180279295,Photographer +6003382150737,Dinner +6003480578469,Battery (electricity) +6003318557654,Adidas +6003207495534,World Wide Web +6003471970063,Paper +6003004236219,Present +6003090714101,Car rentals +6003276721810,Metal +6003378723965,Netflix +6003179515414,Dance music +6003287993741,Musical film +6003117680388,Property +6003435096731,Barbecue +6003067474007,Republic +6002998078382,Military +6003656112304,Economics +6003176714152,Nail (anatomy) +6002998254982,Television channel +6003647529746,Africa +6003102728434,Casual game +6002985004720,Tradition +6003902462066,Theme parks +6003280701823,Random-access memory +6003430600057,Lakes +6002890650510,Muscle +6003185579408,Cheese +6003450241842,Motorsport +6003284406579,Conversation +6003221189867,Swimming pool +6003219311958,Cream +6003064305615,Coca-Cola +6003362483697,Awe +6.00320683343e+12, +6003147911926,Mammal +6003654962420,Honey +6003135108190,Indonesia +6003416777039,Horses +6003127174924,Friday +1056164911066006,Wide Open West +6003301698460,Hero +6003089951815,McDonald's +6003285790897,Latin America +6003713596753,Turkey +6003392754754,"Nike, Inc." +6003464109203,Health care +6003514121042,War +6003430977869,Meme +6003111344645,Bus +6003370765074,Bracelet +6003278094599,Ice cream +6003116800826,Christian music +6003605717820,Anime movies +6003205949286,Youth +6003176282445,NA +6003059385128,Ecotourism +6003473371887,Laptop +6003129670317,Road +6003527958598,Romance (love) +6002867416222,Ethnic groups +6003311232399,Lifestyle (sociology) +6015012055186,Facebook for Every Phone +6003108826384,Music festivals +6003104445629,Rock and roll +6004675264764,Uber (company) +6003092882217,Trucks +6003043300715,Summer +6003327856180,Cable television +6003326336406,Brain +6003490534631,Social group +6003384052032,Hunting +6003434692170,Automotive industry +6003106813190,Fiction books +6003304550260,NA +6003274262708,Word +6003393938731,Vegetable +6003124841258,World music +6003142860247,Power (social and political) +6003226755338,High school +6003209938872,FC Barcelona +6003232228485,Paradise +6003147437665,Gadget +6.00316135048e+12, +6.00356739512e+12, +6003309820509,Reggae +6003031487607,Ship commissioning +6003116939014,Holiday +6003126215349,Comics +6005152232190,Samsung Galaxy +6003202447322,IPad +6003487236586,Data +6003232334885,Airport +6003146729229,Distilled beverage +6003311493199,Town +6002964038517,International +6003343520028,Wi-Fi +6003281049823,Jacket +6003106820190,Open-source software +6003348031541,Pro-Ject +6003317881341,Tool +6003133351739,Hindi +6003279717423,Geography +6003266266843,Fashion design +6002989257394,Lunch +6003528059395,Rock (geology) +6003535157273,Adventure film +6002990245194,Professional +6003423445340,Mobile device +6003377455004,London +6003481546864,Track and field +6003704710113,Real-time strategy +6003324427177,Space +6002951587955,Classical music +6003402532547,Cycling +6002868910910,Organic food +6003270522085,The Walt Disney Company +6003711607516,Metre +6002976437521,Payment +6003136385750,Nation +6003061708328,Supermarket +6003472562487,Plastic +6003147505126,Leadership +6003351956032,United States dollar +6003308361514,Mathematics +6004145239209,Spanish language +6003342589130,Natural environment +6003239791342,Academia +6003412999357,Virus +6002963678117,Massage +6003365065851,Easter +6003515142242,Movie theater +6003122704124,Dentistry +6003421719912,North America +6003110325672,Cristiano Ronaldo +6003316471791,Cognition +6003389754796,Comedian +6002925538921,Acting +6003290597769,Rice +6003472391176,App Store (iOS) +6003096002658,Graphic design +6003355520832,Egg (food) +6003307753494,Cancer awareness +6003149202149,Month +6002840040679,Music industry +6002970955594,Fantasy film +6003251221661,Good (economics) +6003531402198,Snack food +6003443512671,Tax +6003108404190,Real Madrid C.F. +6003258041942,Bread +6003482844986,Personal life +6003376937196,Airline +6003502020625,Anthropology +6003226517738,Organism +6003468086725,Dubai +6003211063124,Meal +6003286190202,Downloadable content +6003490831231,Saturday +6003172468561,Motivation +6003182920234,House (TV series) +6003218509498,Kiss +6003343997689,Home Appliances +6003111957392,Engine +6003176440445,Petroleum +6003237395810,Microsoft Windows +6003373838525,Globalization +6003352755432,Joke +6003050433416,Social networking service +6003037157929,Waterproofing +6003304560260,African-American music +6003012400881,Factory +6003118816922,Diamond +6003162296178,Sweetness +6004048615096,Luxury vehicle +6003695629090,Job +6003472413487,Farm +6003398511803,Bathing +6003901992266,Political freedom +6003510075864,Golf +6003198642601,Creativity +6003436196370,Island +6003042239115,President of the United States +6004042690789,Light-emitting diode +6003223513358,Solution +6003382383154,Euro +6003327272745,Sweater +6003423248519,Hair care +6003717991560,Sarcasm +6003104790578,Sense +6003648059946,Bodybuilding +6003285531511,French fries +6003629083995,Clinic +6003299640199,Infinity +6003023855850,Home (2009 film) +6003154043305,Performing arts +6003329518637,Truth +6003240742699,Seafood +6003371057540,Multinational corporation +6003178322166,Travel agency +6003388549418,Ice hockey +6002951487650,Weight loss (Fitness And wellness) +6009451534708,Candy Crush Saga +6003791981304,Day school +6003184610752,User (computing) +6004092484989,Odor +6003718107316,Korea +6003464630111,Spring (season) +6003473077165,Weight training +6003149474865,Festival +6003424136954,Web browser +6003206308286,Science fiction movies +6003428424540,Snow +6003531090263,Boxing +6003083357650,Manga +6002987148194,Pharmacy +6003415125551,Printing +6003719177983,Fishing +6002979499920,Latin pop +6003213034178,Mediterranean Sea +6003091232616,Steel +6003256380667,Human sexuality +6003339134779,Chemical substance +6002997865244,Hyperlink +6003109348433,Headphones +6003146200326,Seed +6003717851560,Bedroom +6002839147879,Beyin +6003369521274,Chemistry +6004043330548,Handicraft +6014659938226,Season +6003472575663,Swimming +6.00310253084e+12, +6.00331993121e+12, +6.00316639722e+12, +6003142694349,Matter +6003605617220,Studio +6003348662930,Camping +6003445266271,Live television +6003198788367,Bluetooth +6003313116980,Resort +6003673102262,Breaking news +6003234940285,Flight +6003509315531,Professor +6003269530527,Sunday +6002957368923,Belief +6003126383749,Single (music) +6003347115474,Industrial design +6003413138406,Very Important Person +6003096045858,Veganism +6003641846820,Toyota +6003481743064,Lemon +6003971117548,Machine +6002932536373,Sociology +6003345866074,Orange (fruit) +6003236350098,South America +6003041581773,House music +6003479860669,Fun +6003153229058,Drawing +6.00378002525e+12, +6003070550582,Pool (cue sports) +6003320057206,Addiction +6002985334920,Street +6003711009918,Air conditioning +6004131394706,Minute +6002966195446,Cookie +6003500299025,Wheel +6004025301989,Gemstone +6003325727945,Hamburger +6003137125700,Hoodie +6003105618835,Crafts +6003402319418,Wedding dress +6003175578350,Philippines +6003234103485,Bathroom +6003339140579,K-pop +6003697803783,Pop rock +6004046800696,TripAdvisor +6003246227167,Middle East +6003320931941,Disco +6003047962244,Peace +6003697330690,South Korea +6003713691560,Corporation +6002968386892,Tire +6003166733615,Man +6003257325686,Buffet +6003431193312,Sea +6003509767931,Argentina +6003326323180,Grandparent +6003290346256,Social class +6003427897919,Stress (biology) +6003420915231,Health club +6003111800835,Graphics Interchange Format +6003392101554,Lawyer +6003126358188,TV game shows +6003155333705,Vegetarianism +6002991799459,Partnership +6003717913546,Gamer +6003331700032,Economy +6003424576006,Hand +6003455291283,People's Liberation Army Navy +6003062447007,Lionel Messi +6006699626760,truecaller +6003324287371,Skiing +6003432917335,Institution +6003773449891,Refrigerator +6003352297632,Leaf +6003293721530,Mercedes-Benz +6003280181159,Japanese language +6003290644311,Hollywood +6003089364392,United Kingdom +6003441138025,Rain +6003647522546,Card games +6003165936034,Lion +6003478011165,ITunes Store +6003425148554,Iron +6003349752805,Banana +6003106487434,Source code +6003059339132,Musician +6003159021475,Lace +6003509171264,Gender +6002893875879,Carnival +6003469874764,States of Brazil +6003674257262,Chevrolet +6003093132817,Laser +6003153940305,New York City +6003979578348,Russia +6003025016493,Innovation +6003539594463,Recreation +6003540904386,National Basketball Association +6003108220790,Computer processors +6003142705949,Surfing +6002984573619,Switzerland +6003118988445,Designer +6003375718196,Loan +6.00339516514e+12, +6003197718872,Singapore +6003326186941,Malaysia +6003902444066,Funk +6003252882882,Symptom +6003389276196,Male +6003642141746,Faith +6003143776728,Mythology +6003209609415,Bikini +6003442924883,England +6003523612570,Temperature +6003210792176,Donald Trump +6003242691188,Park +6003257785488,BMW +6003540150873,Sports games +6002967370492,Silk +6003473842964,8 Ball Pool +6003044596915,Vitis +6003278772979,Queen (band) +6003075810185,Heat +6002932283773,Goal +6003523300998,BBC +6003716202583,Glasses +6003335384228,Embroidery +6003291970911,Nursing +6.00365606308e+12, +6003976361296,Cover version +6004037870609,Import +6002868254622,Abdomen +6003469834063,Driving +6003234413249,Home improvement +6003578431907,Soil +6003649920113,Stainless steel +6003273890908,U.S. state +6002979677320,Organ (anatomy) +6003380577877,UC Browser +6003059496932,Herb +6002991667568,Adventure game +6003481531469,Protein +6003258058088,Radio +6003331937771,Cheque +6003412667391,Personal message +6003376269196,Inch +6003353178251,Boredom +6003439009080,Fire +6003655111478,Christmas +6003692907916,Saudi Arabia +6003200641126,Patient +6002984879819,Trailer (promotion) +6.00327084985e+12, +6.00372687785e+12, +6003042182515,Make-up artist +6003118097814,Spirit +6003715234862,Egypt +6003107616035,Tooth +6003210728924,News broadcasting +6004055064548,Mattress +6003266168709,European Union +6003099527416,Excite +6003113514268,Heaven +6003089525070,Cap (sport) +6003054664785,Bakery +6003012404681,Massively multiplayer online role-playing games +6003198370967,Radio (2003 film) +6002999212259,Bed +6003378810565,Excited state +6003106439590,Billboard Hot 100 +6003716887262,Sauce +6003220019055,Hinduism +6002943340646,Citizenship +6003445428280,Massively multiplayer online games +6003329537779,Forest +6003176101552,Honda +6003041643573,Punk rock +6.00319695092e+12, +6.00328077282e+12, +6003719975462,American rock +6003198354465,Backpack +6003746006353,People (magazine) +6003370208274,Cinema of India +6003395267871,BuzzFeed +6003467486537,Suit (clothing) +6003142193961,Rugby union +6003385621565,Academic degree +6003429321269,Mumbai +6003266586709,Pleasure +6002926675372,Scholarship +6002892294422,Art museum +6003154780305,Symbol +6003275719927,Pakistan +6003398522803,Comic book +6003101233034,Bone +6003180202133,Internet meme +6003719384062,Income +6004773319873,Amor (film) +6003712367146,Salt +6007585111964,Don-E +6003389734396,Evolution +6003096132258,Liquid +6003176348835,Record label +6003385611765,Huawei +6003493787494,IPod +6003211559976,Puberty +6003029978985,Korean language +6003325965709,Grilling +6003656307304,Cattle +6003708639146,Paint +6003402194039,Sandal +6003024627293,Lingerie +6003375351677,Atmosphere of Earth +6002998123892,Japanese cuisine +6003648201038,Professional wrestling +6003270568048,Expert +6003424404140,Marathons +6002896260510,Soap +6003191313105,XXL (magazine) +6003466817119,Swimsuit +6003132791339,Sandwich +6003419041839,California +6003451861671,Radio broadcasting +6003284616927,Social psychology +6003058652481,Stomach +6003257021709,New York +6003220112465,Pin (professional wrestling) +6002839050079,Potato +6004054723348,Son +6003398199727,Synthpop +1413021132323869,IPhone 6 +6002992656594,Tasty +6003123489949,Time (magazine) +6002934110162,Lens (optics) +6003012046619,President +6003270512102,Marvel Comics +6003030421007,Yahoo! News +6003306828599,Rapping +6003376894381,Crystal +6003260155357,Power (physics) +6003115761792,Film director +6003387138841,Verizon Wireless +6003360272580,Ethics +6003497303225,TV talkshows +6003172448161,Visual perception +6003358061395,EBay +6003319307848,USB +6003453710072,Skin care +664130153728886,Taxicab +6003298861011,Chile +6003235740388,Hacker (computer security) +6002990365459,Hair (film) +6002986707768,UEFA Champions League +6.00299571044e+12, +6003899365666,Discounting +6003274944951,Metaphysics +6003350240127,Colombia +6003102729234,Italian cuisine +6004045863896,Developmental psychology +6003673812662,Hard rock +6003172273055,Sustainability +6003386351253,Lip +6003392776977,Digital data +6003374850325,Denim +6003136862950,Decorative arts +6003061254185,WWE +6003233286875,Cod +6003174283049,Miracle +6003229365388,Raffle +6003289808943,NA +6003429223857,Sleeve +6002969371568,Cupcake +6003165841322,Distribution (business) +6003394869731,National Football League +6002956863250,United Arab Emirates +6003052975444,Salad +6003088431470,Perspiration +6003200410682,3D computer graphics +6.00326743911e+12, +6003021658693,Catholic Church +6003447346053,Member states of NATO +6003445970680,Anatomy +6003122929658,Academy Awards +6003511879064,Vin Diesel +6003202738612,Legend +6003137808261,Lipstick +6002986104968,Mystery fiction +6003030312785,Indian Premier League +6003584269707,Physical therapy +6003028599807,Bride +6003346497541,Chic +6003246168013,Simulation games +6003406689405,Democratic Party (United States) +6003174240952,Portugal +6003304473660,SUVs +6005513373229,Snapchat +6003602594303,Nissan +613888752076538,Hu Ge +6003714873062,Master's degree +6003313450363,Brassiere +6003101445184,romantic comedies +6003121857934,Morning +6003324831006,Rechargeable battery +6003340141919,Rose +6003287195497,Hell +6003497325227,Hong Kong +6003102718234,Shorts +6003149526665,Fiber +6003397581535,River +6003302121228,Guitar +6003374717274,Thursday +6003703269583,Novel +6003401661796,Visa (document) +6003255335688,Waze +6003730072316,Cream (pharmaceutical) +6003058745932,Apple +6003714043353,Physical attractiveness +6003380970205,Software engineering +6003472043663,Weather +6003128232376,Strawberry +6003291573330,Boy +6003626772107,Customer service +6002931949762,Cocktail +6003736364491,Mania +6003397032483,Childhood +6003115804542,Desktop computers +6003135809808,Livestock +6003190695201,Ceramic +6003840137852,Astrology +6003649084438,Gourmet +6003135174808,Public company +6003203316686,Fever +6003169809749,Character (arts) +6003418569877,State (polity) +6003496274386,Million +6003108255633,Universal Studios +6003577151307,nbc today show +6002933117646,Speech +6003390486603,Ticket (admission) +6003143540247,Closed-circuit television +6003216268430,Audio mixing (recorded music) +6003119249658,Onion +6003280329043,Battery charger +6003113919700,Window +6009440347189,Amour (2012 film) +6003203829486,Kids (film) +6003315082714,Deity +6002998202573,Rainbow +6003198298967,Lightweight +6004139436106,New wave music +6003116226668,Web portal +6003421976057,Intelligence +6003195136898,Major League Baseball +6002933902373,Roman Empire +6003303922621,DVD +6003353143251,Flour +6003297442330,Fruit preserves +6003289497538,Pasta +6003490944765,Natural rubber +6003108268433,Quality of life +6003270072102,Monarchy +6003111066792,Ski +6003512053894,Snowboarding +6003392228954,Computer keyboard +6003243058188,Diners +6003221485467,E-commerce +6003450445242,Cartoon +6003120646134,Coconut +6003526234370,Online advertising +6003144341584,Volkswagen +6005094588412,Genre +6003396513823,Organic compound +6003207177086,The Fast and the Furious +6003146077426,Role-playing games +6003380576181,Mouth +6003385232005,Lebanon +6003106348635,NA +6003393828163,College football +6.00316293143e+12, +6003699184313,Extended essay +6003006885619,Digital media +6003397432935,Audi +6003543366227,Necklace +6003241936675,Foot +6003655477278,Municipality +6003126148139,Taiwan +6003351312828,Musical theatre +6003581959473,Comedy-drama +6003120721217,Auction +6003574273118,Neymar +6003323322443,Bean +6003442346642,Football +6003653766438,Human eye +6003067583093,Soap opera +6003162345778,Mini +6003097326332,Shampoo +6003269067099,Point and click +6003496889025,Competition +6003282028041,Tumblr +6003493479631,Sports club +6003030144055,Ear +6003396635837,KFC +6003065814670,Publishing +6003402722239,CNN +6003322051738,Dish (food) +6002972639121,Loudspeaker +6003402855039,Oil +6003714080553,Theology +6003667359704,Ford Motor Company +6003159582134,Eyebrow +6003169719685,Sand +6002951379317,Mineral +6003106968233,Beef +6002999401092,Door +6002943230446,Positive psychology +6003260652542,Sexual attraction +6002964263329,MTV +6003288112051,Boyfriend +6003737056353,Western Europe +6003288269743,Audience +6003263238393,Food Network +6003252484486,Aluminium +6003220643158,Manchester United F.C. +6003030200185,Programming language +6003132944214,Gel +6003245694249,Delaware's at-large congressional district +6003158660615,Vine +6002984551320,Acid +6003142100447,Pastry +6003395486343,Vietnam +6003714246353,Filmmaking +6003249811486,Departments of Burkina Faso +6003229493388,Hope +6003423585540,Oven +6002985449320,Superhero +6003135449040,Personal care +6003717247746,Sculpture +6003257632086,Microsoft +6003011564597,Author +6002910116972,Crime film +6003158198275,Mobile game +6004112003989,Pigment +6003197177326,Yes (band) +6003149907149,Israel +6003145957236,Steak +6003182816166,Barack Obama +6004878261361,Digital distribution +6002961994646,Portuguese language +6003420573231,Authority +6003116038942,Computer monitors +6003751930608,picsart photo studio +6003199800465,Popular culture +6003150335245,Profit (accounting) +6003299001101,Women's rights +6003344138028,Gift card +6003839322452,Buddhism +6003141785766,Mortgage loans +6003102839317,Ink +6003155038105,Peru +6003253526111,SoundCloud +6003098643915,Morocco +6002887717822,Troll +6003174867249,Financial services +6003375269441,Lighting +6003108411433,Rabbits +6003207521430,Couch +6003207265286,Tokyo +6003902087066,Emoji +6003116231268,Consultant +6003164297958,Istanbul +6003969213096,Computer programming +6003717078560,NA +6003236109649,Digital camera +6003253072911,Jordan +6003339458179,Internal combustion engine +6003174972414,Alternative medicine +6003198836601,Save (baseball) +6003189507750,Coach (sport) +6.00296715069e+12, +6003151951349,Computer servers +6003048378985,Los Angeles +6003252229111,Soup +6003385141743,Racing games +6003343542656,Wallet +6003159887958,Dragon +6004144358409,Pub +6003361984200,First baseman +6004206444789,Cereal +6003234436767,Capital city +6003291570251,Coin +6008342038661,Vine (service) +6003428693340,Castle +6003540753986,Girlfriend +6004443725572,Kawaii +6003154704584,Ocean +6002923510121,Fictional film +6002967020846,New Year's Day +6003485071480,Sony +6003451498071,Human voice +6003680743490,Human body +6003736476953,Safety +6002956844323,Bee +6003605762620,Epic film +6003148275045,Pound (mass) +6003240620810,Short story +6003199871665,Popular music +6003979695548,Cash +6003293328579,Living room +6003253278111,Warehouse +6003325725288,Mango +6003092330156,Mountain biking +6003342679656,Republican Party (United States) +6003283449854,Fandom +6002934241659,Dog breed +6004122851389,Pig +6003273248243,Latin +6003112839826,Wisdom +6003263293793,Ecology +6003179686750,Wind +6003472561087,Tomato +6003341936945,MP3 +6003143689026,Winter +6003709468383,Clock +6003291551711,Quiz +6004108670409,Ship +6002966340368,Humanities +6003313500180,Butter +6003195961868,Neighbourhood +6003328793606,Metabolism +6003434636451,Reggaeton +6003319357759,Chelsea F.C. +6003398332083,Contract +6002997573982,Horoscope +6003284076256,Tank +6003420024431,French cuisine +6003264746114,Debit card +6003215675545,Texas +6003174913249,Consumer +6003445201083,Walmart +6003389297871,Market (place) +6003308555580,Icon +6003395917803,Mother's Day +6003484205469,Carpet +6003042998915,Museum +6007711860133,Workweek and weekend +6002951225774,Premier League +6003306191253,Presenter +6003178296815,Continent +6003523320570,Political party +6003230358588,Miami +6003169943361,Atmosphere +6003268938000,Universal Music Group +6003288077551,Brazil national football team +6.00321818878e+12, +6003398059387,Hug +6003717871360,Rio de Janeiro +6003180839533,Florida +6003042996515,Zipper +6003466585319,Online banking +6003227936099,Yahoo! +6003283769854,Fresh water +6003049224044,Supernatural +6004110377224,Consciousness +6003445990480,Harry Potter +6003490937165,The Sims +6003645198116,PayPal +6003372820995,Fasting +6002977089859,Man (Middle-earth) +6003125622382,Don (honorific) +6003141133561,NA +6003375770477,Artificial intelligence +6002898176962,Cheering +6003088999470,Taxonomy (biology) +6003382815363,Neck +6003188101001,Lenovo +6003287187711,Samsung Galaxy S III +6005610151815,Operating system +6003136349840,Toilet +6.00315920268e+12, +6003240158210,Logic +6003327695448,Peso +6003443838931,Mama (2013 film) +6003443805131,Real Madrid Baloncesto +6003413243781,Diabetes mellitus awareness +6003179640150,Urban area +6003433887943,Telenovela +6003719417262,Perception +6003138746139,Invoice +6003473404287,Americas +6003227894499,Barcelona +6004037107009,Boats +6003143763128,Passport +6003232036485,Credit (finance) +6003030602207,International Women's Day +6003184482902,Olive oil +6003198322265,Pepsi +6003512587694,Record chart +6003091763017,Gram +6003902490266,Wet season +6004037894009,Global Positioning System +6003345669874,Security +6003501724231,Real estate broker +6003338108889,Warner Bros. +6003117938668,Pre-order +6003478942057,Leggings +6003445262919,National Football League on television +6003119467458,Turbocharger +6003471508663,Shooter games +6003396751777,Voucher +6003198802865,Film producer +6003274874610,Season (sports) +6003194336065,Monkey +6003226516138,Rum +6003585235438,Weapon +6003123100858,Engineer +6003294064851,Wireless +6003593591887,Democracy +6003484127669,Casino +6003236462049,Eternity +6003374311125,Sushi +6003050186616,Deposit account +6003291295743,Sock +6003237213010,Invention +6003121984934,Computing +6003255228369,Zodiac +6002868278822,Chili pepper +6003145128952,Destiny +6003193633966,Ring (jewellery) +6003345796076,Microsoft Word +6003206382686,family planning +6003733581504,Bangkok +6003050377616,Walt Disney Pictures +6002955242155,1080p +6003271038593,Strategy video game +6003127905724,Syria +6003147121328,Magic (illusion) +6003493205765,Federal government of the United States +6003175194449,FIFA World Cup +6003195838455,Justice +6003247462099,Television station +6003114359100,Farmer +6003030687807,Manual transmission +6003152894305,Fox +6003110979645,Earring +6003141713226,Elephant +6003289081451,Future +6003087486444,Sheep +6003197184767,Vodafone +6003075937185,Butterfly +6003402692547,DOS +6003257267301,F.C. Porto +6003106632034,Horror fiction +6003233117498,Intel +6003339423379,Beauty and the Beast (1991 film) +6003541771042,Cell (biology) +6003281707010,Red Bull +6003378873765,Hardcore punk +6003182172884,Mass +6003901787666,Digital television +6010963648309,Minions (film) +6003365661451,Bazaar +6003268381336,Music recording sales certification +6003451027786,Pixel +6003133762008,Pearl +6003243959401,Graduation +6003190733601,Obesity awareness +6003048790156,Sari +6003242238524,Top (clothing) +6003227064538,Southeast Asia +6002986451123,County (United States) +6003376088977,Noodle +6002971652194,OMG (song) +6003392421977,Videotelephony +6003401495747,Twin +6003253641688,Risk +6003188537201,Franchising +6003421934889,Calorie +6002969730994,Middle Ages +6.00308679062e+12, +6003225914249,Hip +6003346995957,Adhesive +6003326194341,Communist Party USA +6002984725019,Hijab +6002976730121,Irony +6003417781439,Tequila +6003418227431,Fuel +6003136156150,Zombie +6003116403826,Port +6003401159964,Galaxy +6003243657142,Computer security +6003773483237,Tabloid (newspaper format) +6003394243531,Maize +6003315103314,Night +6003500146427,NA +6003161203633,Herbalism +6003280175843,Workshop +6003111483235,Personal trainer +6003647000838,Grocery store +6003174128015,Independent film +6003346725381,Rapid transit +6003101110997,Editing +6003223643876,Try +6.00332085669e+12, +6.00331090211e+12, +6003270678393,Ownership +6003976363896,Computer data storage +6003701101183,Diploma +6003431352069,Villa +6003110688645,MasterCard +6003656248904,Train +6002933846973,Pillow +6003159393934,Judge +6003415019460,Gastronomy +6003237331810,Wax +6003484601998,Shakira +6003946464666,Network (film) +6003273904571,Stand-up comedy +6002894507479,Laboratory +6003102614434,Toe +6003121371534,Jimmy Page +6003030029655,Chinese cuisine +6003395826177,Bass guitar +6015755959702,Fast & Furious (2009 film) +6003144466384,Lady Gaga +6003068853982,Musical instrument +6003236917075,H&M +6003227872499,Wrestling +6003761051678,Collagen +6003210799924,Romance novels +6003397042735,Interpersonal relationship +6003354444043,Flipkart +6003372667195,Fast food restaurants +6003254097682,Playground +6003100893640,Soldier +6003169816561,Futsal +6003389316271,Circus +6003226631485,Netherlands +6002985859168,Visa Inc. +6003398347489,Educational technology +6003285403725,Dance-pop +6003336556256,United States Army +6003319858536,Canvas +6002947930974,Nutella +6003369251402,NA +6003397640947,Gasoline +6003448899186,Keyboard instrument +6003309319853,Arab world +6003287282400,Inflammation +6003773683878,Theory +6003397602147,Region +6003336394448,Outer space +6003060357556,Rihanna +6003715378746,Karaoke +6.00334724647e+12, +6003258544357,Health & wellness +6003508189464,Eyelash +6003198303952,Optics +6003434451039,Heel (shoe) +6012069536245,tinder +6003111588035,Time Warner +6003181649552,Pink (singer) +6003645803020,Como +6003288181951,Computer file +6002990070723,Chicken (food) +6003345504221,Adobe Flash +6003124005549,Academy +6004282889266,Black (2005 film) +6003716580862,Shrimp +6003143154566,Dwayne Johnson +6003103779434,Electric car +6004107864209,Haute couture +6003320058418,Las Vegas +6003111310445,FC Barcelona Handbol +6003101269301,Gray wolf +6003712761753,Starbucks +6003392691331,Face (professional wrestling) +6003346088248,Fad +6003389626671,Climate +6.00309946022e+12, +6003259137867,Rome +6003309339653,Duck +6003243582567,National Geographic Channel +6003980199948,Bacteria +6003432760175,Tile +6003194466634,Test (assessment) +6003326098406,Ice +6004144253409,Diaper +6003737887104,Breastfeeding +6003266719443,Friends +6003655135020,Washing machine +6003142482861,Silent film +6003157909075,Cars (film) +6009731802624,PlayStation 4 +6003511765664,Vodka +6003070982597,Grass +6003159209475,Computing platform +6003392512725,Energy drinks +6003656330504,20th Century Fox +6003285132911,Egg +6015508302841,Value-added tax +6003155198634,Bachelor's degree +6003748928462,Personal development +6003279451780,Chanel +6003435503331,Currency +6003138589139,Accounting +6003352962957,Hat +6003102594040,British rock +6003376733802,Botany +6002959150120,Scar +6003155409305,Electronic dance music +6003246897567,Mirror +6003460397503,Privacy +6003377779460,Spring (hydrology) +6003220329558,Library +6003293965251,Quebec +6003318738018,Colored gold +6003988602106,Manicure +6003154066105,Satire +6003198823767,Sweden +6002955443050,Chairman +6003381045377,Automatic transmission +6003121077322,Caribbean +6003334734097,Witchcraft +6003293626130,Journalist +6003111546435,Undergarment +6014497201104,Caridea +6002969480492,Bear +6003348680381,Garlic +6003703015491,Pacific Ocean +6003221610867,Supporters of FC Barcelona +6003545471303,Sportswear (activewear) +6003377448196,Recording studio +6003330679432,Fly +6003291084143,State school +6003012600081,Bestseller +6003233470261,Dreams (1990 film) +6003339778593,Candle +6003332991545,Narendra Modi +6003124811349,Monster +6003341612987,Individual +6003541322280,Prophet +6003342709787,Limited liability company +6003194056672,Fine art +6003184482284,Vanilla +6003582500438,Strategy games +6003384841565,Concrete +6003143446668,Nobility +6003430693469,Lyrics +6003242910699,Waterfall +6003358281200,Natural gas +6003252231836,Airbnb +6003583831273,South Asia +6003446278080,Mare +6003579275918,Bacon +6003719026713,Nut (fruit) +6003785005478,Snake +6003653054113,Hit record +6003316211163,Pizza Hut +6003089469992,Non-governmental organization +6003004329092,Nutrient +6003116224858,Infection +6003222044676,Charitable organization +6002896611310,The arts +6003221234467,Mexico City +6003192584967,Export +6003397760241,Coat (clothing) +6003243462342,Private school +6003450511786,Fox Broadcasting Company +6003075824815,Greece +6003287461400,Jeep +6002963504517,Arte +6003361478000,Dye +6003108362033,Wire transfer +6003414321689,Sensor +6006763751502,criminal case +6003672256662,FC Barcelona Rugby +6003221185267,Pottery +6003056710444,Nonprofit organization +6003170901161,Sunscreen +6003535061073,Species +6002920671555,Electronica +6003108259190,Seoul +6003305660260,Goat +6003332261828,Alcohol +6005216285654,Mega (Chilean television channel) +6003021121129,Harmony +6003223938647,Capital (economics) +6003136364550,Romanticism +6003523733442,County seat +6003175214014,Allergy +6002967519574,Frying +6003155349105,High-definition television +6004042831789,Olfaction +6003330116999,FC Barcelona C +6002912211710,Digital subchannel +6003273836708,Franco De Vita +6003308776853,Fee +6003142972761,Feather +6003142329161,Sewing +6003208054847,Pancake +6002900697910,Immigration +6003198870201,South Africa +6003110158472,Display resolution +6003004027892,Funny Videos +6003446491731,Sequence +6003349313805,Convenience store +6003454444103,roots +6002933925173,Progressive rock +6003108391633,Types of business entity +6003293813028,Tempo +6002923615921,Pie +6003102688634,Knitting +6002957291250,All-news radio +6003446608680,MAC Cosmetics +6003291074802,Voluntary association +6003283801502,Thai cuisine +6003122583524,Beat (music) +6003513578537,Pickup truck +6003025566093,Call centre +6003219000085,Play (telecommunications) +6003251532661,Preschool +6003106276829,Gastropod shell +6003111807440,Tamil language +6003468780719,Tiger +6003232863885,Volunteering +6003137105590,Formula One +6003734220353,Glamour (presentation) +6004054986748,Pressure +6.00344887539e+12, +6003303044799,Remix +6003382102565,Healthy diet +6003247127613,Ballet +6003278088199,Political philosophy +6003487946631,Bella (film) +6003397243535,Wool +6003200340482,Middle Eastern cuisine +6002985641123,Tissue (biology) +6003204875612,New Zealand +6003383075804,"Sale, Greater Manchester" +6004842060768,IPhone 5 +6003292012138,NA +6003393564563,Artisan +6003201043978,Architect +6004160526895,Stroke Awareness +6002929003973,Temple +6003030811407,Grey +6003276403610,What If (comics) +6003278637610,Indie pop +6003107515429,Code +6003093651293,Mini (marque) +6011835987633,Clean Master +6003290182925,Folk music +6003110460645,Mixed martial arts +6003064535670,Mask +6003244121001,Doughnut +6004947688373,Smartwatch +6003224062672,Taco +6002950124574,Term of endearment +6003024214956,Profession +6003733160753,Daughter +6003693537583,Real property +6003102858978,Silicone +6003287531876,Kindergarten +6003051822645,Coaching +6002927951459,Robot +6003445225483,Primary school +6003160002408,Team sport +6003280695643,Qatar +6004139401706,Superstar +6003297981875,Chief executive officer +6003066202070,La Liga +6003183742812,Sanskrit +6003114849468,General officer +6003584725838,Acre +6002969123368,Poet +6003391476003,Folklore +6003377998144,Imagination +6014662392245,My Talking Tom +6003315663791,LGBT community +6003331478694,Wildlife +6003390954344,J. K. Rowling +6003377378804,Spain national under-21 football team +6003247404867,Ageing +6003227124899,Bangladesh +6003315592991,Limited company +6003720444062,Star Wars +6003146899190,Specialty (medicine) +6003679977307,Value (personal and cultural) +6002985278723,ITunes +6003204411326,IPod Touch +6003258965702,Buenos Aires +6003025911093,DirecTV +6003182861722,Pay television +6003287341856,Paul Walker +6003344996239,Central Europe +6002964239317,Mexican cuisine +6003539067673,Luck +6003481765669,Essential oil +6002998003644,Video hosting service +6003315633191,Lead +6003605456820,The Simpsons +6019962101463,Condominio +6003703032091,The Jacka +6003081890715,Knot (unit) +6003142218961,Recycling +6003110209472,J-pop +6003268171536,RCD Espanyol +6003133189139,Monday +6003401788347,Oppo Electronics +6003160584208,Judaism +6003468776474,Zara (retailer) +6003398056603,Fast casual restaurants +6003584848038,War film +6003293938428,Arrangement +6003531058863,Logistics +6005173031630,Yogurt +6003944875560,China Central Television +6002884511422,Small business +6003326768054,Internet access +6002986710368,Die (musician) +6002921098355,Eastern Time Zone +6003048901881,Harry Potter (film series) +6003901825066,4G +6003377031074,Atlantic Ocean +6003583283907,Platform game +6003174897414,Korean cuisine +6003146688552,Customer relationship management +6.00334348509e+12, +6.00320699209e+12, +6003357436441,Oreo +6003227608499,Natural product +6003147733845,H.E.A.R. +6003108711435,Pineapple +6003382822804,Hero (2002 film) +6003420121712,Peach +6002973933974,Copper +6003584356438,Chemical compound +6003146013026,Linen +6003260285957,Coast +6003225581249,Jakarta +6004100125009,Linguistics +6003650017890,Blue (English band) +6003144257790,CrossFit +6003092532417,Ancient Greece +6004037932209,Telephone number +6003181606012,Discovery (observation) +6003387677993,Nike Air Max +6003242854988,Natural resource +6003209452861,Drums +6003387633593,Sony Pictures Entertainment +6002933324059,Audio mastering +6003398379883,Online poker +6003030519207,Variety show +6.00324785547e+12, diff --git a/src/data_processing/check_interest_id_valid.py b/src/data_processing/check_interest_id_valid.py new file mode 100644 index 0000000..ab4f04b --- /dev/null +++ b/src/data_processing/check_interest_id_valid.py @@ -0,0 +1,234 @@ +# -*- coding: utf-8 -*- +""" +Query Facebook for top interest IDs to determine if/how they have changed. + +@author: stewart +""" +import json +from argparse import ArgumentParser +from src.data_processing.utils import load_facebook_auth +import requests +from time import sleep +import pandas as pd +import logging +import os +import math + +## suppress request INFO messages +logging.getLogger("requests").setLevel(logging.WARNING) + +MAX_QUERIES=10 +SLEEP_TIME=1 +RATE_LIMIT_SLEEP_TIME=300 +def interest_name_query(access_token, user_id, interest_id): + """ + Query FB for name of interest given the ID. + + access_token :: FB access token + user_id :: FB user ID + interest_id :: interest ID number + + interest_name :: name of interest + """ + header_url = 'https://graph.facebook.com/v2.11/act_%s/targetingsentencelines'%(user_id) + targeting_spec={ + "geo_locations" : + { + "countries":["US"], + "location_types":["home"] + }, + "flexible_spec": + [ + { + "interests": + [ + { + "id" : interest_id + } + ] + } + ] + } + params = { + 'access_token' : access_token, + 'optimize_for' : 'NONE', + 'targeting_spec' : json.dumps(targeting_spec) + } + full_header_url = 'https://graph.facebook.com/v2.11/act_%s/targetingsentencelines?access_token=%s&_reqName=adaccount/targetingsentencelines&method=get&targeting_spec={"geo_locations":{"countries":["US"],"location_types":["home"]},"flexible_spec":[{"interests":[{"id":"%s"}]}],"targeting_optimization":"none"}'%(user_id, access_token, interest_id) + success = False + query_ctr = 0 + interest_name = '' + while(not success and query_ctr < MAX_QUERIES): + try: + # the official way to call the API +# response = requests.get(header_url, params=params) + # the hacky way to call the API (might get around rate limits) + response = requests.get(full_header_url) + response_json = json.loads(response.text) + if('error' in response_json): + error_code = response_json['error']['code'] + ## rate limit error + if(error_code == 17): + print('rate limit reached at id=%d, sleeping for %d seconds'%(interest_id, RATE_LIMIT_SLEEP_TIME)) + sleep(RATE_LIMIT_SLEEP_TIME) + success = True + else: + response_data = response_json['targetingsentencelines'] + if(len(response_data) > 3): + interest_data = response_data[3]['children'] + interest_name = interest_data[0] + interest_name = interest_name.replace('Interests: ', '') + success = True + sleep(SLEEP_TIME*.25) + except Exception, e: + + print(response_json) + print('bad params:%s'%(json.dumps(params, indent=4))) + print(e) + query_ctr += 1 + sleep(SLEEP_TIME) + return interest_name + +def interest_name_query_batch(access_token, user_id, interest_ids): + """ + Query batch of interest IDs for more efficient access. + + access_token :: FB access token + user_id :: FB user ID + interest_ids :: FB interest IDs + + interest_names :: FB interest names + """ + targeting_spec={ + "geo_locations" : + { + "countries":["US"], + "location_types":["home"] + }, + "flexible_spec": + [ + { + "interests": + [ + { + "id" : interest_id + } + ] + } + for interest_id in interest_ids + ] + } + params = { + 'access_token' : access_token, + 'optimize_for' : 'NONE', + 'targeting_spec' : json.dumps(targeting_spec) + } + header_url = 'https://graph.facebook.com/v2.11/act_%s/targetingsentencelines'%(user_id) + success = False + query_ctr = 0 + interest_names = [] + while(not success and query_ctr < MAX_QUERIES): + try: + # the official way to call the API + response = requests.get(header_url, params=params) + response_json = json.loads(response.text) + if('error' in response_json): + error_code = response_json['error']['code'] + ## rate limit error + if(error_code == 17): + print('rate limit reached at id=%d, sleeping for %d seconds'%(interest_id, RATE_LIMIT_SLEEP_TIME)) + sleep(RATE_LIMIT_SLEEP_TIME) + success = True + else: + response_data = response_json['targetingsentencelines'] + response_data_matches = filter(lambda x: x['content']=='People Who Match:' or x['content']=='And Must Also Match:', + response_data) + interest_names = [m['children'][0].replace('Interests: ','') + for m in response_data_matches] + success = True + sleep(SLEEP_TIME*.25) + except Exception, e: + print(response_json) + print('bad params:%s'%(json.dumps(params, indent=4))) + print(e) + query_ctr += 1 + sleep(SLEEP_TIME) + return interest_names + +def query_test(): + """ + Unit test for interest ID queries. + """ + access_token, user_id = load_facebook_auth('data/facebook_auth_ingmar.csv') + interest_id_1 = 6003221234467 # Mexico City + interest_name_1 = interest_name_query(access_token, user_id, interest_id_1) + print(interest_name_1) + assert interest_name_1 == 'Mexico City' + interest_id_2 = 6002964065372 # Lewis and Clark-class dry cargo ship => ID doesn't work + interest_name_2 = interest_name_query(access_token, user_id, interest_id_2) + print(interest_name_2) + assert interest_name_2 == 'Off' or interest_name_2 == '' + print('query test success') + +def main(): + parser = ArgumentParser() + parser.add_argument('--interest_file', default='data/top_interests_complete.json') + args = parser.parse_args() + interest_file = args.interest_file + interest_ids, interest_names = zip(*[(long(i['id']), i['name']) + for i in json.load(open(interest_file))['data']]) + access_token, user_id = load_facebook_auth() +# interest_ids = interest_ids[:10] +# query_test() + + ## old approach: collect names for all IDs + ## collect name data +# interest_data = pd.DataFrame() +# out_file = interest_file.replace('.json', '_names.csv') +# if(os.path.exists(out_file)): +# interest_data = pd.read_csv(out_file, sep=',', index_col=False) +# interest_ids = filter(lambda x: x not in interest_data.loc[:, 'interest_id'].values, interest_ids) +# write_out_count = 10 +# for i, interest_id in enumerate(interest_ids): +# interest_name = interest_name_query(access_token, user_id, interest_id) +# interest_data = interest_data.append([[interest_id, interest_name]]) +# if(interest_data.shape[0] == 1): +# interest_data.columns = ['interest_name', 'interest_id'] +# if(i % write_out_count == 0): +# interest_data.to_csv(out_file, sep=',', index=False, encoding='utf-8') +# if(i % 100 == 0): +# print('processed %d interests'%(i)) + + ## new approach: collect all ids and names but + ## mark the invalid ones based on whether + ## their names are missing from results + batch_size = 25 +# cutoff = 75 +# interest_ids = interest_ids[:cutoff] +# interest_names = interest_names[:cutoff] + interest_data = pd.DataFrame() + out_file = interest_file.replace('.json', '_names.csv') + if(os.path.exists(out_file)): + interest_data = pd.read_csv(out_file, sep=',', index_col=False) + interest_id_names = zip(interest_ids, interest_names) + interest_ids, interest_names = zip(*filter(lambda x: x[0] not in interest_data.loc[:, 'interest_id'].values, interest_id_names)) + interest_data_cols = ['interest_id', 'interest_name'] + batches = int(math.ceil(len(interest_ids) / batch_size)) + write_ctr = 5 + for i in range(batches): + interest_ids_i = interest_ids[i*batch_size:(i+1)*batch_size] + interest_names_i = interest_names[i*batch_size:(i+1)*batch_size] + response_names_i = interest_name_query_batch(access_token, user_id, interest_ids_i) + fixed_names_i = ['NA' if x not in set(interest_names_i) else x for x in response_names_i] + interest_data_i = pd.DataFrame([interest_ids_i, fixed_names_i], index=interest_data_cols).transpose() + interest_data = interest_data.append(interest_data_i) + if(i % write_ctr == 0): + interest_data.to_csv(out_file, sep=',', index=False, encoding='utf-8') + if(i % 10 == 0): + print('processed %d interests'%(batch_size*(i+1))) + + ## write to file + interest_data.to_csv(out_file, sep=',', index=False, encoding='utf-8') + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/src/data_processing/compare_top_interests.ipynb b/src/data_processing/compare_top_interests.ipynb index cc11772..a295b6d 100644 --- a/src/data_processing/compare_top_interests.ipynb +++ b/src/data_processing/compare_top_interests.ipynb @@ -5,7 +5,9 @@ "metadata": {}, "source": [ "# Compare top interests\n", - "In which we compare the top interests according to some old audience counts to determine the right cutoff for an initial interest analysis of US versus Mexico." + "In which we compare the top interests according to some old audience counts to determine the right cutoff for an initial interest analysis of US versus Mexico.\n", + "\n", + "TODO: repeat analysis with clean data" ] }, { @@ -14,7 +16,12 @@ "metadata": {}, "outputs": [], "source": [ - "import pandas as pd" + "import pandas as pd\n", + "import json\n", + "from ast import literal_eval\n", + "import matplotlib\n", + "%matplotlib inline\n", + "import matplotlib.pyplot as plt" ] }, { @@ -29,6 +36,32 @@ "execution_count": 2, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "original data has 10834 rows\n", + "clean data has 6033 rows\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\stewart\\AppData\\Local\\Continuum\\miniconda3\\envs\\assimilation_py27\\lib\\site-packages\\pandas\\core\\indexing.py:476: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " self.obj[item] = s\n", + "C:\\Users\\stewart\\AppData\\Local\\Continuum\\miniconda3\\envs\\assimilation_py27\\lib\\site-packages\\pandas\\core\\indexing.py:296: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", + " self.obj[key] = _infer_fill_value(value)\n" + ] + }, { "data": { "text/html": [ @@ -37,199 +70,91 @@ " \n", " \n", " \n", - " name\n", - " interests\n", + " interest_id\n", + " interest_name\n", + " location\n", " ages_ranges\n", - " genders\n", " behavior\n", - " scholarities\n", - " languages\n", - " family_statuses\n", - " relationship_statuses\n", - " geo_locations\n", - " household_composition\n", - " all_fields\n", - " targeting\n", - " response\n", " dau_audience\n", " mau_audience\n", - " timestamp\n", - " publisher_platforms\n", " \n", " \n", " \n", " \n", " 0\n", - " Broad list of interest per country\n", - " {\"or\": [6002839660079], \"name\": [\"Cosmetics\"]}\n", - " {\"max\": 65, \"min\": 18}\n", - " 0.0\n", - " {\"not\": [6015559470583, 6025978286383], \"name\"...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " {\"values\": [\"US\"], \"location_types\": [\"home\"],...\n", - " NaN\n", - " (('interests', {u'or': [6002839660079L], u'nam...\n", - " {\"flexible_spec\": [{\"interests\": [{\"id\": 60028...\n", - " {\"data\":[{\"bid_estimate\":{\"min_bid\":186,\"media...\n", - " 36476999\n", - " 42000000\n", - " 1527244172\n", - " [\"facebook\"]\n", + " 6003142505790\n", + " Facebook\n", + " US\n", + " {u'max': 65, u'min': 18}\n", + " {u'not': [6015559470583, 6025978286383], u'nam...\n", + " 68950999\n", + " 95000000\n", " \n", " \n", " 1\n", - " Broad list of interest per country\n", - " {\"or\": [6002839660079], \"name\": [\"Cosmetics\"]}\n", - " {\"max\": 65, \"min\": 18}\n", - " 0.0\n", - " {\"not\": [6015559470583, 6025978286383], \"name\"...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " {\"values\": [\"MX\"], \"location_types\": [\"home\"],...\n", - " NaN\n", - " (('interests', {u'or': [6002839660079L], u'nam...\n", - " {\"flexible_spec\": [{\"interests\": [{\"id\": 60028...\n", - " {\"data\":[{\"bid_estimate\":{\"min_bid\":24,\"median...\n", - " 12341999\n", - " 15000000\n", - " 1527244172\n", - " [\"facebook\"]\n", + " 6003142505790\n", + " Facebook\n", + " MX\n", + " {u'max': 65, u'min': 18}\n", + " {u'not': [6015559470583, 6025978286383], u'nam...\n", + " 25690599\n", + " 41000000\n", " \n", " \n", " 2\n", - " Broad list of interest per country\n", - " {\"or\": [6002866718622], \"name\": [\"Science\"]}\n", - " {\"max\": 65, \"min\": 18}\n", - " 0.0\n", - " {\"not\": [6015559470583, 6025978286383], \"name\"...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " {\"values\": [\"US\"], \"location_types\": [\"home\"],...\n", - " NaN\n", - " (('interests', {u'or': [6002866718622L], u'nam...\n", - " {\"flexible_spec\": [{\"interests\": [{\"id\": 60028...\n", - " {\"data\":[{\"bid_estimate\":{\"min_bid\":181,\"media...\n", - " 33333599\n", - " 38000000\n", - " 1527244172\n", - " [\"facebook\"]\n", + " 6003985771306\n", + " Technology\n", + " US\n", + " {u'max': 65, u'min': 18}\n", + " {u'not': [6015559470583, 6025978286383], u'nam...\n", + " 85469999\n", + " 111000000\n", " \n", " \n", " 3\n", - " Broad list of interest per country\n", - " {\"or\": [6002866718622], \"name\": [\"Science\"]}\n", - " {\"max\": 65, \"min\": 18}\n", - " 0.0\n", - " {\"not\": [6015559470583, 6025978286383], \"name\"...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " {\"values\": [\"MX\"], \"location_types\": [\"home\"],...\n", - " NaN\n", - " (('interests', {u'or': [6002866718622L], u'nam...\n", - " {\"flexible_spec\": [{\"interests\": [{\"id\": 60028...\n", - " {\"data\":[{\"bid_estimate\":{\"min_bid\":25,\"median...\n", - " 9114599\n", - " 11000000\n", - " 1527244172\n", - " [\"facebook\"]\n", + " 6003985771306\n", + " Technology\n", + " MX\n", + " {u'max': 65, u'min': 18}\n", + " {u'not': [6015559470583, 6025978286383], u'nam...\n", + " 27557599\n", + " 38000000\n", " \n", " \n", " 4\n", - " Broad list of interest per country\n", - " {\"or\": [6002867432822], \"name\": [\"Beauty\"]}\n", - " {\"max\": 65, \"min\": 18}\n", - " 0.0\n", - " {\"not\": [6015559470583, 6025978286383], \"name\"...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " {\"values\": [\"US\"], \"location_types\": [\"home\"],...\n", - " NaN\n", - " (('interests', {u'or': [6002867432822L], u'nam...\n", - " {\"flexible_spec\": [{\"interests\": [{\"id\": 60028...\n", - " {\"data\":[{\"bid_estimate\":{\"min_bid\":181,\"media...\n", - " 64280799\n", - " 76000000\n", - " 1527244172\n", - " [\"facebook\"]\n", + " 6003349442621\n", + " Entertainment\n", + " US\n", + " {u'max': 65, u'min': 18}\n", + " {u'not': [6015559470583, 6025978286383], u'nam...\n", + " 89765399\n", + " 123000000\n", " \n", " \n", "\n", "" ], "text/plain": [ - " name \\\n", - "0 Broad list of interest per country \n", - "1 Broad list of interest per country \n", - "2 Broad list of interest per country \n", - "3 Broad list of interest per country \n", - "4 Broad list of interest per country \n", - "\n", - " interests ages_ranges \\\n", - "0 {\"or\": [6002839660079], \"name\": [\"Cosmetics\"]} {\"max\": 65, \"min\": 18} \n", - "1 {\"or\": [6002839660079], \"name\": [\"Cosmetics\"]} {\"max\": 65, \"min\": 18} \n", - "2 {\"or\": [6002866718622], \"name\": [\"Science\"]} {\"max\": 65, \"min\": 18} \n", - "3 {\"or\": [6002866718622], \"name\": [\"Science\"]} {\"max\": 65, \"min\": 18} \n", - "4 {\"or\": [6002867432822], \"name\": [\"Beauty\"]} {\"max\": 65, \"min\": 18} \n", - "\n", - " genders behavior scholarities \\\n", - "0 0.0 {\"not\": [6015559470583, 6025978286383], \"name\"... NaN \n", - "1 0.0 {\"not\": [6015559470583, 6025978286383], \"name\"... NaN \n", - "2 0.0 {\"not\": [6015559470583, 6025978286383], \"name\"... NaN \n", - "3 0.0 {\"not\": [6015559470583, 6025978286383], \"name\"... NaN \n", - "4 0.0 {\"not\": [6015559470583, 6025978286383], \"name\"... NaN \n", - "\n", - " languages family_statuses relationship_statuses \\\n", - "0 NaN NaN NaN \n", - "1 NaN NaN NaN \n", - "2 NaN NaN NaN \n", - "3 NaN NaN NaN \n", - "4 NaN NaN NaN \n", - "\n", - " geo_locations household_composition \\\n", - "0 {\"values\": [\"US\"], \"location_types\": [\"home\"],... NaN \n", - "1 {\"values\": [\"MX\"], \"location_types\": [\"home\"],... NaN \n", - "2 {\"values\": [\"US\"], \"location_types\": [\"home\"],... NaN \n", - "3 {\"values\": [\"MX\"], \"location_types\": [\"home\"],... NaN \n", - "4 {\"values\": [\"US\"], \"location_types\": [\"home\"],... NaN \n", + " interest_id interest_name location ages_ranges \\\n", + "0 6003142505790 Facebook US {u'max': 65, u'min': 18} \n", + "1 6003142505790 Facebook MX {u'max': 65, u'min': 18} \n", + "2 6003985771306 Technology US {u'max': 65, u'min': 18} \n", + "3 6003985771306 Technology MX {u'max': 65, u'min': 18} \n", + "4 6003349442621 Entertainment US {u'max': 65, u'min': 18} \n", "\n", - " all_fields \\\n", - "0 (('interests', {u'or': [6002839660079L], u'nam... \n", - "1 (('interests', {u'or': [6002839660079L], u'nam... \n", - "2 (('interests', {u'or': [6002866718622L], u'nam... \n", - "3 (('interests', {u'or': [6002866718622L], u'nam... \n", - "4 (('interests', {u'or': [6002867432822L], u'nam... \n", + " behavior dau_audience \\\n", + "0 {u'not': [6015559470583, 6025978286383], u'nam... 68950999 \n", + "1 {u'not': [6015559470583, 6025978286383], u'nam... 25690599 \n", + "2 {u'not': [6015559470583, 6025978286383], u'nam... 85469999 \n", + "3 {u'not': [6015559470583, 6025978286383], u'nam... 27557599 \n", + "4 {u'not': [6015559470583, 6025978286383], u'nam... 89765399 \n", "\n", - " targeting \\\n", - "0 {\"flexible_spec\": [{\"interests\": [{\"id\": 60028... \n", - "1 {\"flexible_spec\": [{\"interests\": [{\"id\": 60028... \n", - "2 {\"flexible_spec\": [{\"interests\": [{\"id\": 60028... \n", - "3 {\"flexible_spec\": [{\"interests\": [{\"id\": 60028... \n", - "4 {\"flexible_spec\": [{\"interests\": [{\"id\": 60028... \n", - "\n", - " response dau_audience \\\n", - "0 {\"data\":[{\"bid_estimate\":{\"min_bid\":186,\"media... 36476999 \n", - "1 {\"data\":[{\"bid_estimate\":{\"min_bid\":24,\"median... 12341999 \n", - "2 {\"data\":[{\"bid_estimate\":{\"min_bid\":181,\"media... 33333599 \n", - "3 {\"data\":[{\"bid_estimate\":{\"min_bid\":25,\"median... 9114599 \n", - "4 {\"data\":[{\"bid_estimate\":{\"min_bid\":181,\"media... 64280799 \n", - "\n", - " mau_audience timestamp publisher_platforms \n", - "0 42000000 1527244172 [\"facebook\"] \n", - "1 15000000 1527244172 [\"facebook\"] \n", - "2 38000000 1527244172 [\"facebook\"] \n", - "3 11000000 1527244172 [\"facebook\"] \n", - "4 76000000 1527244172 [\"facebook\"] " + " mau_audience \n", + "0 95000000 \n", + "1 41000000 \n", + "2 111000000 \n", + "3 38000000 \n", + "4 123000000 " ] }, "execution_count": 2, @@ -238,16 +163,799 @@ } ], "source": [ - "interest_data = pd.read_csv('../../data/query_results/US_MX_native_interests_top_300.tsv', sep='\\t', index_col=False)\n", - "interest_data.head()\n" + "# collection was interrupted so we have to load the data in two parts\n", + "interest_data_old = pd.read_csv('../../data/query_results/US_MX_native_interests_top_3000_interest_old.csv', index_col=0)\n", + "interest_data_new = pd.read_csv('../../data/query_results/US_MX_native_interests_top_3000_interest_new_tmp.tsv', sep='\\t', index_col=0)\n", + "all_interests = json.load(open('../../data/queries/US_MX_native_interests_top_3000_interest_new.json'))\n", + "all_interests = pd.DataFrame([{k : v[0] for k,v in i.iteritems()} for i in all_interests['interests']])\n", + "all_interests.rename(columns={'or' : 'id'}, inplace=True)\n", + "all_interests.loc[:, 'id'] = all_interests.loc[:, 'id'].astype(long)\n", + "# clean up\n", + "def clean_interest_data(data):\n", + " data.fillna(0, inplace=True)\n", + " print('original data has %d rows'%(data.shape[0]))\n", + " data = data[data.loc[:, 'response'] != 0]\n", + " print('clean data has %d rows'%(data.shape[0]))\n", + " json_cols = ['interests', 'ages_ranges', 'behavior', 'geo_locations']\n", + " for c in json_cols:\n", + " data.loc[:, c] = data.loc[:, c].apply(literal_eval)\n", + " ## if audience hasn't been computed, figure that out\n", + " data.loc[:, 'response'] = data.loc[:, 'response'].apply(json.loads)\n", + " audience_vars = ['dau_audience', 'mau_audience']\n", + " for v in audience_vars:\n", + " v_stem = v.split('_')[0]\n", + " data.loc[:, v] = data.loc[:, 'response'].apply(lambda x: x['data'][0]['estimate_%s'%(v_stem)])\n", + " # assume one interest/location per query\n", + " data.loc[:, 'interest_id'] = data.loc[:, 'interests'].apply(lambda x: long(x['or'][0]))\n", + " data.loc[:, 'interest_name']= data.loc[:, 'interests'].apply(lambda x: x['name'][0])\n", + " data.loc[:, 'location'] = data.loc[:, 'geo_locations'].apply(lambda x: x['values'][0])\n", + " final_cols = ['interest_id', 'interest_name', 'location', 'ages_ranges', 'behavior'] + audience_vars\n", + " data = data.loc[:, final_cols]\n", + " return data\n", + "interest_data_combined = pd.concat([interest_data_old, interest_data_new], axis=0)\n", + "interest_data_combined = clean_interest_data(interest_data_combined)\n", + "interest_data_combined.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Some of these numbers seem abnormally low, e.g. `dau_audience=769` for US `Business and Industry`. \n", + "\n", + "What does the overall distribution look like?" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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NTU154wvXLiQ2tpaamtrmTFjBgD19fVUVlZSV1dHTU0N9957Lx0dHXR0dHDfffexefNm6uvrWb9+PfX19ZF/NyIiErLY7iaYOHEiTU1NQS2sqqqKgoIC4uLiGD58OHa7nd27dwNgt9tJTk4GoKCggKqqKkaOHBl6chERiaiQjyGsWLECh8NBcXEx7e3tAHi9XoYOHRqYxmaz4fV6uxwXEZHoEVIhlJaWsn//fmpra7FarSxatAgAY8w501osli7Hu+JyuXA6nTidTlpbW0OJKCIiPRRSISQkJBATE8NFF13E/PnzA7uFbDYbzc3NgelaWlpITEzscrwrJSUluN1u3G43gwcPDiWiiIj0UEiF4PP5Al9v3LgxcAZSfn4+lZWVHD9+nMbGRjweD+PGjSM7OxuPx0NjYyNff/01lZWV5OfnR+YdiIhIRHR7UHnu3Lls376dtrY2bDYbZWVlbN++ndraWiwWC0lJSTzzzDMApKenM2fOHEaOHElsbCwrV64kJiYGOH3MYerUqXR0dFBcXEx6evr5fWciItIjFtPZDv4o4nQ6cbvdIc2btPjlwNdN5TdGKpKISFQL9XNTVyqLiAigQhARET8VgoiIACoEERHxUyGIiAigQhARET8VgoiIACoEERHxUyGIiAigQhARET8VgoiIACoEERHxUyGIiAigQhARET8VgoiIACoEERHx67YQiouLiY+PDzwmE+A3v/kNV199NQ6Hg1mzZnH48GEAmpqauPjii8nMzCQzM5N77rknMM+ePXsYNWoUdrudBQsWEOXP5RER+d7pthDmzZtHTU3NWWN5eXns27eP999/n6uuuorly5cHXktJSaG2tpba2lpWr14dGC8tLcXlcuHxePB4POcsU0RE+la3hTBx4kQGDRp01tiUKVOIjT39OOacnBxaWlq+dRk+n48jR44wYcIELBYLhYWFbNq0KYzYIiISaWEfQ/jzn//M9OnTA983NjYyZswYJk2axFtvvQWA1+vFZrMFprHZbHi93nBXLSIiERQbzswPP/wwsbGx3HnnnQBYrVY+/fRTLr/8cvbs2cPNN99MXV1dp8cLLBZLl8t1uVy4XC4AWltbw4koIiJBCrkQKioqeOmll9i2bVvgwz0uLo64uDgAsrKySElJoaGhAZvNdtZupZaWFhITE7tcdklJCSUlJQA4nc5QI4qISA+E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VauMMaf/3917770mOTnZZGRk9PrPtrt8d911l7n00ksDvxtZWVlRk+1MfVEIweR77LHHTFpamklPTzd/+MMfglqurlQWERHgO3CWkYiIRIYKQUREABWCiIj4qRBERARQIYiIRJVgb6wHkb95os4yEhGJIm+++SY//vGPKSwsZN++fd86bUlJCWPGjKG0tJT6+npmzJgR1t2ctYUgIhJFOrtx3f79+5k2bRpZWVlce+21fPjhh0Dkb56oLQQRkSjT1NTETTfdFNhCyM3NZfXq1aSmprJr1y5++9vf8tprr+Hz+ZgyZQrt7e0cO3aMV199NazHe17w9zISEfkuO3r0KP/617+47bbbAmPHjx8HIn/zRBWCiEgUO3XqFJdeeim1tbXnvBbpmyfqGIKISBQbMGAAw4cPZ8OGDcDp25Z/8zjRYcOGsW3bNgA++OADvvrqKwYPHhzyunQMQUQkisydO5ft27fT1tZGQkICZWVlXH/99ZSWluLz+Thx4gQFBQUsXbqU+vp65s+fz9GjR7FYLDz22GNMmTIl5HWrEEREBNAuIxER8VMhiIgIoEIQERE/FYKIiAAqBBER8VMhiIgIoEIQERE/FYKIiADw/wGcerLI1HPt8wAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(interest_data_combined.loc[:, 'dau_audience'], bins=100)\n", + "plt.show()\n", + "plt.hist(interest_data_combined.loc[:, 'mau_audience'], bins=100)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Most interests have a low count. Understandable! How about the log transformation?" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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LW9940hdkl5++WWtW7dOknTkyBFNmjRJDz/8sIqKinzbHDhwwPeykgsXLigvL09Tp07V5MmTff2+/vrrysrK0uzZszV27Fj94he/8O1fXl6u1NRUTZo0Senp6bfsB+gpgh5h6ciRIyotLVV1dbX+9Kc/6fDhw5KkrKwsHT582Pfyi+Li4tvu+95779WuXbt09OhR7d+/X2vWrOlyNdQbPfHEE3rllVdu+Wall156STNnztThw4e1f/9+/fznP/ct51tTU6O33npLn3zyid566y01NDSoublZy5cv19tvv61jx45px44dfvsBeoKpG4Slv/71r5o3b54GDx4sSb4F6z799FM9//zzam1t1fnz5zVr1qzb7tvr9eqXv/ylPv74Yw0YMEAej0cnT57sdvuzZ8+qtbVVP/zhDyVJS5Ys0d69eztt98EHH+idd97xXUu4fPmy/vOf/0iS0tPTFRUVJUmaMGGCvvrqK7W0tGj69OkaPXq0JGnEiBG37CecFslC/0LQI2x19X6BpUuXavfu3Zo0aZJef/11HThwQNL1Re6uXbsm6XqQX716tdt+33zzTTU3N+vIkSMaOHCgEhISdPny5Zv6kOR756fX6w3oXQder1dvv/22xo0bd1P7oUOHNGjQIN/vERERam9v77bf7voBeoqpG4Sl6dOna9euXbp06ZLOnTunP//5z5Kkc+fOyWq1qq2tTW+++aZv+4SEBB05ckSSVFZWpra2tm77Pnv2rGJiYjRw4EDt379fX331lSQpNjZWp06d0jfffKMrV67o3XfflSQNGzZMUVFR+tvf/iZJN33ujWbNmqVXX33VNw1UXV19y2N8+OGH9Ze//EV1dXWSpDNnzvSoH8AfRvQIS6mpqVqwYIFSUlL04IMP6gc/+IEk6Te/+Y3S0tL04IMPauLEiTp37pwkafny5Zo7d66mTZum9PR03Xfffd32vXjxYv3kJz+R0+lUSkqKxo8fL0kaOHCgfv3rXystLU2jR4/2tUvS1q1blZeXp8GDB3c7XfSrX/1KzzzzjJKTk+X1epWQkOD7suhKdHS0XC6XsrKydO3aNcXExOjDDz+87X4Af1imGAAMx9QNABiOqRsY65NPPtGSJUtuahs0aJAOHToUooqA0GDqBgAMx9QNABiOoAcAwxH0AGA4gh4ADEfQA4Dh/g+guD4+SlWLzQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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VqtGjhypkpKSWJclKc6DPiEhQU1NTWppaZHT6dTf/va3WJcUca+99pqSk5M1efLkWJdyTxw9elTHjx/X/v37VVtbqyNHjsS6pKjo7OzU8ePHVV1drRMnTuj+++9XTU1NrMuKqhs3bujVV1/VV7/61ViXEhXt7e1qaGjQmTNn9NFHH+nKlSv69a9/HeuyJMV50H9q1KhRevTRR3XgwIFYlxJxR48e1auvviq73a7FixfrD3/4g77+9a/Huqyo+fStbnJysubPny+n0xnjiqLDZrPJZrMF3oUuWrRIx48fj3FV0bV//34VFBQoJSUl1qVExcGDBzV27FglJSXpM5/5jBYsWKC33nor1mVJiuOgb2tr04ULFyRJ165d08GDBzVhwoQYVxV5GzduVEtLizwej+rr6/WVr3xlwHQJkXblyhVdunQp8LixsVHZ2dkxrio6vvjFLyotLU0ffPCBpFtz1/G6jHeodu7caey0jSSlp6fr2LFjunr1qvx+vw4dOqTMzMxYlyUpjr9K0OfzqaKiQl1dXbp586bKy8uNv/TQdK2trZo/f76kW1MbS5cu1RNPPBHjqqLnF7/4hZYtW6YbN25o3Lhx2r59e6xLipqrV6/qzTff1NatW2NdStRMmzZNixYtUkFBgRITE5Wfnz9g7pCN28srAQChidupGwBAaAh6ADAcQQ8AhiPoAcBwBD0AGI6gBwDDEfRAP9jtdp07d06SNGPGjBhXA/SMoAciZKDc7g78L4IeA47H49GECRO0cuVKZWdna9myZTp48KBmzpyp8ePHy+l0yul0asaMGcrPz9eMGTMCSwn86le/0re+9a3AvubOnavDhw/3eqzq6moVFhZ2+/Ka2zt1l8ulRx99VJL0n//8RyUlJcrPz9fTTz+t2+83/HTZbEn68Y9/rClTpig3NzewX4/Ho8zMTK1atUpZWVkqKSnRtWvXJEkffvihHnvsMU2aNEkFBQU6ffp0r/sB+oqgx4D04Ycfas2aNTp58qTef/99/fa3v9Wf//xnvfzyy9qwYYMmTJigI0eO6MSJE/rBD36g733ve2Ed54c//KFcLpdOnjypP/3pTzp58uRdt1+/fr1mzZqlEydOqKysTP/617+6bdPY2Ci32y2n06mmpia98847gVU43W63Vq9erffee0+jRo3S7373O0nSsmXLtHr1ar377rt66623ZLVa77ofoC/idq0bmG3s2LHKycmRJGVlZamoqEgWi0U5OTnyeDz6+OOPVVFRIbfbLYvFoo6OjrCOs2vXLjkcDnV2dsrn8+nUqVPKzc3tdfsjR47o97//vSTpySef1OjRo7tt09jYqMbGRuXn50uSLl++LLfbrfT0dI0dO1Z5eXmSpMmTJ8vj8ejSpUvyer2BdX4+97nP3XU/s2fPDutcMXgR9BiQhg4dGng8ZMiQwM9DhgxRZ2envv/972vOnDnas2ePPB5PYGolMTFRN2/eDDz3bt/ZeebMGb388sv661//qtGjR2v58uWB7W/fz//uI9g3mfn9fj3//PN6+umn7xj3eDx3nFdCQoKuXbum3pab6m0/QF8xdYO49PHHH2vMmDGSbs3Lf8put6upqUk3b95Uc3PzXdezv3jxou6//36NHDlSra2t2r9//x37eeeddyQpML0iSbNnz9ZvfvMbSbfWV29vb++238cff1y//OUvdfnyZUm3vkv07NmzvdYxYsQI2Ww27d27V5J0/fp1Xb16tc/7AXpD0CMuffe739Xzzz+vmTNnqqurKzA+c+bMwLTP2rVrVVBQ0Os+Jk2apPz8fGVlZamyslIzZ84M/O7FF1/UmjVr9MgjjyghIeGO8SNHjqigoECNjY1KT0/vtt+SkhItXbpUDz/8sHJycrRo0aLAOvu92bFjh37+858rNzdXM2bM0L///e+w9gP0hGWKAcBwdPQAYDg+jMWgMG3aNF2/fv2OsR07dgSu7AFMxtQNABiOqRsAMBxBDwCGI+gBwHAEPQAYjqAHAMP9H8w85h0twawzAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "audience_vars = ['dau_audience', 'mau_audience']\n", + "for v in audience_vars:\n", + " v_smooth = 1\n", + " v_log = interest_data_combined.loc[:, v].apply(lambda x: pd.np.log10(x + v_smooth))\n", + " plt.hist(v_log, bins=100)\n", + " plt.xlabel(v)\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That's more reasonable. Most interests tend to have a daily audience size around 1,000,000 and monthly audience size around 3,000,000." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Get top-k interests per country" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "location=MX, audience=dau_audience\n", + " interest_name interest_id dau_audience\n", + "0 Hospital 6002964346117 45674787\n", + "1 B O D Y 6008437398448 31250999\n", + "2 Romantic comedy film 6003250002933 31250999\n", + "3 nametests.com 1626452477572710 31250999\n", + "4 Science fiction film 6003263279393 31250999\n", + "5 Fatigue (medical) 6003705887546 31250999\n", + "6 Dieting 6003327856180 31250999\n", + "7 Islam 6003301655169 31250999\n", + "8 EveR 6007635637752 31250999\n", + "9 Lewis and Clark-class dry cargo ship 6002964065372 31250999\n", + "10 A.N.S.W.E.R. 6003207154776 31250999\n", + "11 Islam 6002949965174 30975999\n", + "12 Nutrition 6003324917336 30975999\n", + "13 Hairdresser 6003619634928 30975999\n", + "14 Gyms 6003355530237 30975999\n", + "15 Online and offline 6003224184061 30843999\n", + "16 SWFL Mobile Fusion 6003130537617 30843999\n", + "17 Comedy film 6003169161534 30843999\n", + "18 Car 1518735155058940 30843999\n", + "19 Christianity 6003207207886 30843999\n", + "20 Real number 6003064696870 30821999\n", + "21 Capital punishment 6003155195305 30821999\n", + "22 Foot (unit) 6003427635077 30821999\n", + "23 Kikokushijo Academy 6003089141597 30821999\n", + "24 Insha'Allah 6003174303249 30821999\n", + "25 Radius 6003089065016 30821999\n", + "26 Weight 6003172043161 30821999\n", + "27 Bharatiya Janata Party 6003392691331 30821999\n", + "28 Greatest hits album 6003333255697 30821999\n", + "29 Back pain 6003280367097 30821999\n", + ".. ... ... ...\n", + "70 De Clare 6003102547070 30821999\n", + "71 Arabic language 6003049224044 30821999\n", + "72 List of districts of Turkey 6007711860133 30821999\n", + "73 Duel 6003369694735 30821999\n", + "74 Porting 6003075698893 30821999\n", + "75 INI file 6003375503365 30821999\n", + "76 Domestication 6003075350915 30821999\n", + "77 Obesity awareness 6003190733601 30821999\n", + "78 Comedo 6003271115571 30821999\n", + "79 Area 6003019647129 30821999\n", + "80 Booting 6003338367793 30821999\n", + "81 Insomnia awareness 6003326054541 30821999\n", + "82 Netizen 6003294686976 30821999\n", + "83 Norm (social) 6003685688856 30821999\n", + "84 Hashtag 6005094588412 30821999\n", + "85 Securite 6003346725381 30821999\n", + "86 Entity 6002985859168 30821999\n", + "87 Ampere-hour 6003500146427 30821999\n", + "88 Sunni Islam 6003179851166 30821999\n", + "89 Asian Football Confederation 6003288539925 30821999\n", + "90 Wide Open West 1056164911066006 30433333\n", + "91 New Tang Dynasty Television 6003206833430 30433333\n", + "92 Muhammad 6003089525070 30433333\n", + "93 Allah 6003434692170 30433333\n", + "94 Quran 6002991667568 30433333\n", + "95 Sin 6003481531469 30433333\n", + "96 Ultra-prominent peak 6003044596915 30433333\n", + "97 Canadian Albums Chart 6002987148194 30433333\n", + "98 Entreprise 6014749604832 30433333\n", + "99 Hiking 6003509171264 30433333\n", + "\n", + "[100 rows x 3 columns]\n", + "location=MX, audience=mau_audience\n", + " interest_name interest_id mau_audience\n", + "0 Realidade 6016388157921 55000000\n", + "1 Insomnia awareness 6003326054541 55000000\n", + "2 Area 6003019647129 55000000\n", + "3 Comedo 6003271115571 55000000\n", + "4 Obesity awareness 6003190733601 55000000\n", + "5 Domestication 6003075350915 55000000\n", + "6 INI file 6003375503365 55000000\n", + "7 Porting 6003075698893 55000000\n", + "8 Duel 6003369694735 55000000\n", + "9 List of districts of Turkey 6007711860133 55000000\n", + "10 Arabic language 6003049224044 55000000\n", + "11 De Clare 6003102547070 55000000\n", + "12 Strike (attack) 6003318818048 55000000\n", + "13 Elasticity (physics) 6003719449516 55000000\n", + "14 Phenomenon 6003716449262 55000000\n", + "15 family planning 6003206382686 55000000\n", + "16 Solidao 6003020390929 55000000\n", + "17 Capsule (botany) 6004467549789 55000000\n", + "18 Shut up 6003174082214 55000000\n", + "19 Mosque 6003376088977 55000000\n", + "20 Communist Party USA 6003326194341 55000000\n", + "21 Tamil people 6003713645553 55000000\n", + "22 Bit 6003316614191 55000000\n", + "23 Sentence (linguistics) 6003261586275 55000000\n", + "24 Inflammation 6003773683878 55000000\n", + "25 Booting 6003338367793 55000000\n", + "26 Netizen 6003294686976 55000000\n", + "27 Infection 6003116224858 55000000\n", + "28 Norm (social) 6003685688856 55000000\n", + "29 Muka 6012271491130 55000000\n", + ".. ... ... ...\n", + "70 Islam 6002949965174 55000000\n", + "71 A.N.S.W.E.R. 6003207154776 55000000\n", + "72 Lewis and Clark-class dry cargo ship 6002964065372 55000000\n", + "73 EveR 6007635637752 55000000\n", + "74 Islam 6003301655169 55000000\n", + "75 Dieting 6003327856180 55000000\n", + "76 Fatigue (medical) 6003705887546 55000000\n", + "77 Science fiction film 6003263279393 55000000\n", + "78 nametests.com 1626452477572710 55000000\n", + "79 Romantic comedy film 6003250002933 55000000\n", + "80 Weight 6003172043161 55000000\n", + "81 Online and offline 6003224184061 55000000\n", + "82 Greatest hits album 6003333255697 55000000\n", + "83 Act-i-vate 6002973933974 55000000\n", + "84 Back pain 6003280367097 55000000\n", + "85 Han Chinese 6003375402241 55000000\n", + "86 Mecca 6003074586139 55000000\n", + "87 Child abuse awareness 6003252602475 55000000\n", + "88 Ramadan 6003122583524 55000000\n", + "89 Lakh 6003108537990 55000000\n", + "90 Hispanic and latino american culture 6002909517372 55000000\n", + "91 Stop consonant 6003326768054 55000000\n", + "92 Province 6002986710368 55000000\n", + "93 Egyptians 6002996711644 55000000\n", + "94 Age of majority 6003216710166 55000000\n", + "95 Lady 6016212281678 55000000\n", + "96 Suicide awareness 6003343474719 55000000\n", + "97 District 6003789747278 55000000\n", + "98 Psychotherapy 6003331942832 55000000\n", + "99 Warrant Officer of the Navy 6003770178104 55000000\n", + "\n", + "[100 rows x 3 columns]\n", + "location=US, audience=dau_audience\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " interest_name interest_id dau_audience\n", + "0 Adult 6003342807051 214388568\n", + "1 Romantic comedy film 6003250002933 96655199\n", + "2 B O D Y 6008437398448 96655199\n", + "3 Fatigue (medical) 6003705887546 95318999\n", + "4 nametests.com 1626452477572710 95318999\n", + "5 A.N.S.W.E.R. 6003207154776 95318999\n", + "6 Islam 6003301655169 95318999\n", + "7 EveR 6007635637752 95318999\n", + "8 Dieting 6003327856180 95318999\n", + "9 Lewis and Clark-class dry cargo ship 6002964065372 95318999\n", + "10 Science fiction film 6003263279393 95318999\n", + "11 Realidade 6016388157921 95135399\n", + "12 Addiction 6003320057206 95135399\n", + "13 Acne vulgaris 6003096045858 95135399\n", + "14 Allah 6003434692170 95135399\n", + "15 Entreprise 6014749604832 95135399\n", + "16 Canadian Hot 100 6003220019055 95135399\n", + "17 Muhammad 6003089525070 95135399\n", + "18 Sin 6003481531469 95135399\n", + "19 Quran 6002991667568 95135399\n", + "20 Screenshot 6002992656594 95135399\n", + "21 Ultra-prominent peak 6003044596915 95135399\n", + "22 Canadian Albums Chart 6002987148194 95135399\n", + "23 Wide Open West 1056164911066006 95135399\n", + "24 Hiking 6003509171264 95135399\n", + "25 New Tang Dynasty Television 6003206833430 95135399\n", + "26 Mystery meat navigation 6003213034178 95135399\n", + "27 Muka 6012271491130 95135399\n", + "28 Mecca 6003074586139 95104799\n", + "29 Egyptians 6002996711644 95104799\n", + ".. ... ... ...\n", + "70 INI file 6003375503365 94890599\n", + "71 Phenomenon 6003716449262 94890599\n", + "72 Sunni Islam 6003179851166 94890599\n", + "73 Tamil people 6003713645553 94890599\n", + "74 De Clare 6003102547070 94890599\n", + "75 Communist Party USA 6003326194341 94829399\n", + "76 Infection 6003116224858 94829399\n", + "77 Act-i-vate 6002973933974 94829399\n", + "78 Province 6002986710368 94829399\n", + "79 Stop consonant 6003326768054 94829399\n", + "80 Ramadan 6003122583524 94829399\n", + "81 Entity 6002985859168 94829399\n", + "82 Ampere-hour 6003500146427 94829399\n", + "83 Bharatiya Janata Party 6003392691331 94829399\n", + "84 Inflammation 6003773683878 94829399\n", + "85 Securite 6003346725381 94829399\n", + "86 Mosque 6003376088977 94829399\n", + "87 Hashtag 6005094588412 94798799\n", + "88 family planning 6003206382686 94798799\n", + "89 Obesity awareness 6003190733601 94798799\n", + "90 List of districts of Turkey 6007711860133 94798799\n", + "91 Arabic language 6003049224044 94798799\n", + "92 Ton 6003236109649 94798799\n", + "93 Hotline 6003394869731 94798799\n", + "94 Zumba 6003369521274 94696799\n", + "95 Islam 6002949965174 94523399\n", + "96 Nutrition 6003324917336 94523399\n", + "97 Gyms 6003355530237 94523399\n", + "98 Hairdresser 6003619634928 94523399\n", + "99 Online and offline 6003224184061 94156199\n", + "\n", + "[100 rows x 3 columns]\n", + "location=US, audience=mau_audience\n", + " interest_name interest_id mau_audience\n", + "0 Arabic language 6003049224044 153000000\n", + "1 Insomnia awareness 6003326054541 153000000\n", + "2 Stop consonant 6003326768054 153000000\n", + "3 Province 6002986710368 153000000\n", + "4 Act-i-vate 6002973933974 153000000\n", + "5 Infection 6003116224858 153000000\n", + "6 Communist Party USA 6003326194341 153000000\n", + "7 De Clare 6003102547070 153000000\n", + "8 Tamil people 6003713645553 153000000\n", + "9 Sunni Islam 6003179851166 153000000\n", + "10 Phenomenon 6003716449262 153000000\n", + "11 INI file 6003375503365 153000000\n", + "12 Hypertension Awareness 6003353464651 153000000\n", + "13 Strike (attack) 6003318818048 153000000\n", + "14 Discipline (academia) 6008583400135 153000000\n", + "15 Han Chinese 6003375402241 153000000\n", + "16 Shut up 6003174082214 153000000\n", + "17 Duel 6003369694735 153000000\n", + "18 Back pain 6003280367097 153000000\n", + "19 Insha'Allah 6003174303249 153000000\n", + "20 District 6003789747278 153000000\n", + "21 Appetite 6003271017885 153000000\n", + "22 Child abuse awareness 6003252602475 153000000\n", + "23 Greatest hits album 6003333255697 153000000\n", + "24 Capital punishment 6003155195305 153000000\n", + "25 Porting 6003075698893 153000000\n", + "26 Ramadan 6003122583524 153000000\n", + "27 Entity 6002985859168 153000000\n", + "28 Ampere-hour 6003500146427 153000000\n", + "29 Bharatiya Janata Party 6003392691331 153000000\n", + ".. ... ... ...\n", + "70 Realidade 6016388157921 153000000\n", + "71 Science fiction film 6003263279393 153000000\n", + "72 Lewis and Clark-class dry cargo ship 6002964065372 153000000\n", + "73 Dieting 6003327856180 153000000\n", + "74 EveR 6007635637752 153000000\n", + "75 Islam 6003301655169 153000000\n", + "76 A.N.S.W.E.R. 6003207154776 153000000\n", + "77 nametests.com 1626452477572710 153000000\n", + "78 Fatigue (medical) 6003705887546 153000000\n", + "79 B O D Y 6008437398448 153000000\n", + "80 Hiking 6003509171264 153000000\n", + "81 Mystery meat navigation 6003213034178 153000000\n", + "82 Real number 6003064696870 153000000\n", + "83 Muka 6012271491130 153000000\n", + "84 Domestication 6003075350915 153000000\n", + "85 Booting 6003338367793 153000000\n", + "86 Norm (social) 6003685688856 153000000\n", + "87 Area 6003019647129 153000000\n", + "88 Netizen 6003294686976 153000000\n", + "89 Subspecies 6003007376520 153000000\n", + "90 Weight 6003172043161 153000000\n", + "91 Sentence (linguistics) 6003261586275 153000000\n", + "92 Kikokushijo Academy 6003089141597 153000000\n", + "93 Psychotherapy 6003331942832 153000000\n", + "94 Radius 6003089065016 153000000\n", + "95 Indian people 6003590261118 153000000\n", + "96 Lakh 6003108537990 153000000\n", + "97 Message 6003306700714 153000000\n", + "98 Suicide awareness 6003343474719 153000000\n", + "99 Conservatism 6002969062568 153000000\n", + "\n", + "[100 rows x 3 columns]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "__main__:6: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n" + ] + } + ], + "source": [ + "countries = interest_data_combined.loc[:, 'location'].unique()\n", + "top_k = 100\n", + "for c, c_data in interest_data_combined.groupby('location'):\n", + " for v in audience_vars:\n", + " print('location=%s, audience=%s'%(c, v))\n", + " c_data.sort_values(v, inplace=True, ascending=False)\n", + " c_data.index = pd.np.arange(len(c_data))\n", + " print(c_data.loc[:, ['interest_name', 'interest_id', v]].head(n=top_k))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is weird. What happens if we ignore the top k% and focus on the lower tail?" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "location=MX, audience=dau_audience\n", + " interest_name interest_id dau_audience\n", + "108 Entertainment 6003349442621 7.461847\n", + "109 Mexico 6002956937323 7.454387\n", + "110 Hobbies and activities 6012547807252 7.448809\n", + "111 Technology 6003985771306 7.440241\n", + "112 Business and industry 6008740787350 7.434697\n", + "113 Food and drink 6009248606271 7.421920\n", + "114 Shopping and fashion 6003167425934 7.421657\n", + "115 Sports 6003269553527 7.421535\n", + "116 Entre Rios Province 6003117496988 7.421209\n", + "117 Music 6003020834693 7.421051\n", + "118 Family and relationships 6012684376438 7.418743\n", + "119 Facebook 6003142505790 7.409774\n", + "120 Social network 6003342621987 7.408803\n", + "121 Food 6003266061909 7.408511\n", + "122 Consumer electronics 6003716669862 7.396576\n", + "123 Family 6003476182657 7.384124\n", + "124 Travel 6004160395895 7.380663\n", + "125 Instant messaging 6003045600844 7.376413\n", + "126 Films 6003139266461 7.374341\n", + "127 Arts and music 6003029869785 7.366423\n", + "128 Facebook Messenger 6009177290315 7.364513\n", + "129 Games 6003070856229 7.356447\n", + "130 Love 6003186556105 7.351812\n", + "131 Shopping 6003263791114 7.349790\n", + "132 Reading 6002991736368 7.349227\n", + "133 Televisions 6003224441249 7.339364\n", + "134 Friendship 6004100985609 7.335430\n", + "135 Education 6003327060545 7.332386\n", + "136 Facebook for Android 6003188427578 7.327400\n", + "137 Time 6003329354837 7.326238\n", + ".. ... ... ...\n", + "178 Mobile app 6021349682746 7.137455\n", + "179 Email 6003753105091 7.136797\n", + "180 Photograph 6003231864010 7.136695\n", + "181 Pop music 6003341579196 7.134298\n", + "182 Woman 6003188098201 7.132016\n", + "183 Price 6003513539242 7.130977\n", + "184 Spanish language 6004145239209 7.128516\n", + "185 Happiness 6003582492638 7.127778\n", + "186 Shoes 6003348453981 7.123930\n", + "187 Product (business) 6003248297213 7.123198\n", + "188 Motherhood 6002991239659 7.122255\n", + "189 Rock music 6003582732907 7.111746\n", + "190 Tourism 6003430696269 7.109781\n", + "191 Emotion 6003425313775 7.107969\n", + "192 Restaurants 6003436950375 7.103462\n", + "193 Nature 6003359996821 7.099232\n", + "194 Home and garden 6009422452499 7.093562\n", + "195 Beer 6003012461997 7.093492\n", + "196 Cosmetics 6002839660079 7.092335\n", + "197 Books 6003462707303 7.090011\n", + "198 Culture 6003223339834 7.088738\n", + "199 Current events 6003290811111 7.085999\n", + "200 People 6003393912731 7.075751\n", + "201 Credit cards 6003369782940 7.072779\n", + "202 Information 6004180881895 7.069165\n", + "203 Cooking 6003659420716 7.064368\n", + "204 Software 6005609368513 7.054827\n", + "205 Imagem 6011451224265 7.052463\n", + "206 Home 6003418314031 7.051862\n", + "207 Coffee 6003626773307 7.039049\n", + "\n", + "[100 rows x 3 columns]\n", + "location=MX, audience=mau_audience\n", + " interest_name interest_id mau_audience\n", + "92 Cooking 6003659420716 7.146128\n", + "93 Viral video 6003016637329 7.146128\n", + "94 Software 6005609368513 7.146128\n", + "95 Information 6004180881895 7.146128\n", + "96 Credit cards 6003369782940 7.146128\n", + "97 People 6003393912731 7.146128\n", + "98 Imagem 6011451224265 7.113943\n", + "99 Home 6003418314031 7.113943\n", + "100 Coffee 6003626773307 7.113943\n", + "101 United States 6003373017775 7.113943\n", + "102 Newspapers 6004043913548 7.113943\n", + "103 Journalism 6003245465167 7.113943\n", + "104 Philosophy 6003082070797 7.113943\n", + "105 Baseball 6003087413192 7.113943\n", + "106 Medicine 6004036173148 7.079181\n", + "107 Advertising 6003584163107 7.079181\n", + "108 Twitter 6003464102003 7.079181\n", + "109 Spotify 6002969794329 7.079181\n", + "110 Basketball 6003369240775 7.079181\n", + "111 Application software 6003215957745 7.079181\n", + "112 Learning 6003236484449 7.079181\n", + "113 Electronics 6003573036687 7.079181\n", + "114 Water 6003540542827 7.079181\n", + "115 Earth 6003480600464 7.079181\n", + "116 Day 6004110675424 7.079181\n", + "117 Smartphones 6003289911338 7.041393\n", + "118 Hip hop music 6003225556345 7.041393\n", + "119 Dogs 6003332344237 7.041393\n", + "120 Communication 6003734280753 7.041393\n", + "121 Idea 6003116716468 7.041393\n", + ".. ... ... ...\n", + "162 Hair products 6003456330903 6.995635\n", + "163 Gift 6003019539929 6.995635\n", + "164 Law 6003703762913 6.991226\n", + "165 Coupons 6003054884732 6.986772\n", + "166 Homo sapiens 6003737549104 6.986772\n", + "167 Cuisine 6003195797498 6.986772\n", + "168 Women's clothing 6011366104268 6.982271\n", + "169 Jewellery 6003266225248 6.982271\n", + "170 Freight transport 6004034455409 6.982271\n", + "171 Family (biology) 6003190413105 6.977724\n", + "172 Footwear 6003256793569 6.977724\n", + "173 Li Ke 6003902907066 6.973128\n", + "174 Skin 6003377622944 6.973128\n", + "175 Being 6003414169991 6.973128\n", + "176 Amour (2012 film) 6009440347189 6.968483\n", + "177 YouTube 6004158316095 6.968483\n", + "178 Student 6003342188930 6.968483\n", + "179 Furniture 6003132926214 6.968483\n", + "180 Concerts 6002970406974 6.968483\n", + "181 Year 6003089164592 6.963788\n", + "182 Marketing 6003279598823 6.963788\n", + "183 Amor (film) 6004773319873 6.963788\n", + "184 Beaches 6003431201869 6.959041\n", + "185 Beauty salons 6003088846792 6.959041\n", + "186 Money 6003100693640 6.959041\n", + "187 Week 6003168601235 6.959041\n", + "188 Android (operating system) 6003539884903 6.954243\n", + "189 RCD Espanyol 6003268171536 6.954243\n", + "190 Heart 6003852888852 6.954243\n", + "191 Popular music 6003199871665 6.954243\n", + "\n", + "[100 rows x 3 columns]\n", + "location=US, audience=dau_audience\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "__main__:8: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " interest_name interest_id dau_audience\n", + "94 Zumba 6003369521274 7.976335\n", + "95 Islam 6002949965174 7.975539\n", + "96 Nutrition 6003324917336 7.975539\n", + "97 Gyms 6003355530237 7.975539\n", + "98 Hairdresser 6003619634928 7.975539\n", + "99 Online and offline 6003224184061 7.973849\n", + "100 Christianity 6003207207886 7.973849\n", + "101 Car 1518735155058940 7.973849\n", + "102 SWFL Mobile Fusion 6003130537617 7.973849\n", + "103 Comedy film 6003169161534 7.973849\n", + "104 Elasticity (physics) 6003719449516 7.971443\n", + "105 Warrant Officer of the Navy 6003770178104 7.971443\n", + "106 Foot (unit) 6003427635077 7.971443\n", + "107 Bit 6003316614191 7.971443\n", + "108 Entertainment 6003349442621 7.953109\n", + "109 Entre Rios Province 6003117496988 7.933558\n", + "110 Technology 6003985771306 7.931814\n", + "111 Shopping and fashion 6003167425934 7.927507\n", + "112 Food and drink 6009248606271 7.926655\n", + "113 Music 6003020834693 7.920478\n", + "114 Sports and outdoors 6008803895164 7.912329\n", + "115 Food 6003266061909 7.910549\n", + "116 Sports 6003269553527 7.907654\n", + "117 Consumer electronics 6003716669862 7.904932\n", + "118 Family 6003476182657 7.893877\n", + "119 Reading 6002991736368 7.885887\n", + "120 Travel 6004160395895 7.882720\n", + "121 Arts and music 6003029869785 7.881503\n", + "122 Films 6003139266461 7.878871\n", + "123 Games 6003070856229 7.876778\n", + ".. ... ... ...\n", + "164 Home 6003418314031 7.701048\n", + "165 Home and garden 6009422452499 7.699963\n", + "166 People 6003393912731 7.697203\n", + "167 Restaurants 6003436950375 7.680053\n", + "168 World 6002932652762 7.678482\n", + "169 Price 6003513539242 7.677567\n", + "170 Cooking 6003659420716 7.671214\n", + "171 Image 6003318587288 7.659005\n", + "172 Dance 6003423342191 7.658908\n", + "173 Books 6003462707303 7.655223\n", + "174 iPhone 6002944044446 7.648526\n", + "175 Li Ke 6003902907066 7.646443\n", + "176 Personal finance 6003143720966 7.630414\n", + "177 Sales promotion 6003325662688 7.625804\n", + "178 House 6002986908368 7.625601\n", + "179 Outdoor recreation 6002985584323 7.622056\n", + "180 Country 6003280762643 7.621293\n", + "181 Happiness 6003582492638 7.618452\n", + "182 Eating 6003000774850 7.617675\n", + "183 Homo sapiens 6003737549104 7.617661\n", + "184 Rock music 6003582732907 7.612292\n", + "185 Rings of Saturn 6003452098986 7.609381\n", + "186 Sibling 6003155348505 7.603733\n", + "187 Twitter 6003464102003 7.597862\n", + "188 Gratitude 6003696621690 7.593654\n", + "189 Learning 6003236484449 7.593131\n", + "190 Emotion 6003425313775 7.586056\n", + "191 Freight transport 6004034455409 7.585758\n", + "192 Newspapers 6004043913548 7.583346\n", + "193 Brand 6003371616940 7.582372\n", + "\n", + "[100 rows x 3 columns]\n", + "location=US, audience=mau_audience\n", + " interest_name interest_id mau_audience\n", + "88 Twitter 6003464102003 7.662758\n", + "89 Eating 6003000774850 7.662758\n", + "90 House 6002986908368 7.662758\n", + "91 Homo sapiens 6003737549104 7.653213\n", + "92 Learning 6003236484449 7.653213\n", + "93 Newspapers 6004043913548 7.653213\n", + "94 Facebook for Iphone 6003146344026 7.653213\n", + "95 Rings of Saturn 6003452098986 7.653213\n", + "96 Freight transport 6004034455409 7.643453\n", + "97 Sibling 6003155348505 7.643453\n", + "98 Brand 6003371616940 7.643453\n", + "99 Higher education 6003270811593 7.643453\n", + "100 Emotion 6003425313775 7.643453\n", + "101 Gratitude 6003696621690 7.633468\n", + "102 Dogs 6003332344237 7.633468\n", + "103 Facebook for Android 6003188427578 7.633468\n", + "104 Cosmetics 6002839660079 7.623249\n", + "105 Week 6003168601235 7.623249\n", + "106 Infant 6003323844497 7.623249\n", + "107 Physical exercise 6004115167424 7.612784\n", + "108 Current events 6003290811111 7.612784\n", + "109 Imagem 6011451224265 7.612784\n", + "110 American football 6003376089674 7.612784\n", + "111 Celebrity 6003659729907 7.612784\n", + "112 Husband 6003185207265 7.602060\n", + "113 Wife 6003681763690 7.602060\n", + "114 Fatherhood 6003101323797 7.602060\n", + "115 Coupons 6003054884732 7.602060\n", + "116 Money 6003100693640 7.602060\n", + "117 Shoes 6003348453981 7.602060\n", + ".. ... ... ...\n", + "158 Culture 6003223339834 7.531479\n", + "159 Law 6003703762913 7.531479\n", + "160 Football 6003107902433 7.531479\n", + "161 Tourism 6003430696269 7.531479\n", + "162 Pregnancy 6003448254625 7.518514\n", + "163 Basketball 6003369240775 7.518514\n", + "164 Physical fitness 6003277229371 7.518514\n", + "165 Coffee 6003626773307 7.518514\n", + "166 Career 6003165927235 7.518514\n", + "167 Animal 6003358328204 7.518514\n", + "168 TV reality shows 6003268182136 7.518514\n", + "169 Earth 6003480600464 7.518514\n", + "170 Company 6003140995966 7.518514\n", + "171 Man 6003166733615 7.505150\n", + "172 Music videos 6003332483177 7.505150\n", + "173 Sleep 6002989170450 7.505150\n", + "174 Reality 6004034262609 7.505150\n", + "175 Eye 6003336334689 7.505150\n", + "176 Kitchen 6002897751962 7.491362\n", + "177 Baseball 6003087413192 7.491362\n", + "178 Country music 6003493980595 7.491362\n", + "179 Therapy 6003132914528 7.491362\n", + "180 Recipes 6003385609165 7.491362\n", + "181 Colours 6003201804413 7.491362\n", + "182 Gambling 6003012317397 7.491362\n", + "183 Wish 6003653599438 7.491362\n", + "184 Gardening 6003053056644 7.477121\n", + "185 Research 6003717890746 7.477121\n", + "186 Marketing 6003279598823 7.477121\n", + "187 Real estate 6003578086487 7.477121\n", + "\n", + "[100 rows x 3 columns]\n" + ] + } + ], + "source": [ + "pct = 97\n", + "top_k = 100\n", + "for c, c_data in interest_data_combined.groupby('location'):\n", + " for v in audience_vars:\n", + " # log-transform\n", + " c_data.loc[:, v] = pd.np.log10(c_data.loc[:, v] + 1)\n", + " print('location=%s, audience=%s'%(c, v))\n", + " c_data.sort_values(v, inplace=True, ascending=False)\n", + " c_data.index = pd.np.arange(len(c_data))\n", + " # cut off upper percentile\n", + " v_cutoff = pd.np.percentile(c_data.loc[:, v], pct)\n", + " c_data = c_data[c_data.loc[:, v] < v_cutoff]\n", + " print(c_data.loc[:, ['interest_name', 'interest_id', v]].head(n=top_k))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This looks good enough for a first shot. Let's save to file with the monthly audience counts." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "location=US, audience=mau_audience\n", + "location=MX, audience=mau_audience\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "__main__:11: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n" + ] + } + ], + "source": [ + "locations = ['US', 'MX']\n", + "audience_var = 'mau_audience'\n", + "top_k = 500\n", + "for l in locations:\n", + " l_data = interest_data_combined[interest_data_combined.loc[:, 'location'] == l]\n", + " pct = 97\n", + " # log-transform\n", + " log_audience_var = 'log_%s'%(audience_var)\n", + " l_data.loc[:, log_audience_var] = pd.np.log10(l_data.loc[:, audience_var] + 1)\n", + " print('location=%s, audience=%s'%(l, audience_var))\n", + " l_data.sort_values(log_audience_var, inplace=True, ascending=False)\n", + " l_data.index = pd.np.arange(len(l_data))\n", + " # cut off upper percentile\n", + " v_cutoff = pd.np.percentile(l_data.loc[:, log_audience_var], pct)\n", + " l_data_k = l_data[l_data.loc[:, log_audience_var] < v_cutoff].head(n=top_k)\n", + " l_file = '../../data/query_results/%s_top_%d_%s.csv'%(l, top_k, audience_var)\n", + " l_data_k.loc[:, ['interest_name', audience_var]].to_csv(l_file, sep=',', index=False, encoding='utf-8')" + ] } ], "metadata": { diff --git a/src/data_processing/mine_facebook_audience.py b/src/data_processing/mine_facebook_audience.py index debae70..877481b 100644 --- a/src/data_processing/mine_facebook_audience.py +++ b/src/data_processing/mine_facebook_audience.py @@ -27,21 +27,25 @@ def main(): extra_auth_files = ['data/facebook_auth_ingmar.csv'] # extra_auth_files = ['data/facebook_auth.csv',]*2 - ## optional: remove interest IDs that we've already queried - response_file = 'dataframe_collecting_1527334686.csv' - responses = pd.read_csv(response_file, index_col=0).fillna(0, inplace=False) - responses_valid = responses[responses.loc[:, 'response'] != 0] - response_ids = list(set(responses_valid.loc[:, 'interests'].apply(lambda x: literal_eval(x)['or'][0]))) - queries = json.load(open(query_file)) - leftover_query = queries.copy() - leftover_query['interests'] = [i for i in leftover_query['interests'] if long(i['or'][0]) not in response_ids] - tmp_query_file = query_file.replace('.json', '_tmp.json') + ## temporary: remove interest IDs that we've already queried +# response_file = 'dataframe_collecting_1527334686.csv' +# responses = pd.read_csv(response_file, index_col=0).fillna(0, inplace=False) +# responses_valid = responses[responses.loc[:, 'response'] != 0] +# response_ids = list(set(responses_valid.loc[:, 'interests'].apply(lambda x: literal_eval(x)['or'][0]))) +# queries = json.load(open(query_file)) +# leftover_query = queries.copy() +# leftover_query['interests'] = [i for i in leftover_query['interests'] if long(i['or'][0]) not in response_ids] +# tmp_query_file = query_file.replace('.json', '_tmp.json') # print(tmp_query_file) - json.dump(leftover_query, open(tmp_query_file, 'w'), indent=4) +# json.dump(leftover_query, open(tmp_query_file, 'w'), indent=4) - query_and_write(tmp_query_file, out_dir, extra_auth_files=extra_auth_files) + query_and_write(query_file, out_dir, extra_auth_files=extra_auth_files) # query_and_write(query_file, out_dir, extra_auth_files=extra_auth_files) # query_and_write(query_file, out_dir, extra_auth_files=extra_auth_files, response_file=response_file) + ## TODO: periodically copy response to server + ## so we can tell when something goes + ## wrong even if we're not on the same machine + ## solution: cronjob if __name__ == '__main__': main() \ No newline at end of file