52
MASKINLÆRING KRAVENE TIL MARKEDSANALYTIKEREN ENDRER SEG - EN LITEN INNFØRING I MASKINLÆRING NMF 31.1.2019

MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

MASKINLÆRINGKRAVENE TIL MARKEDSANALYTIKEREN ENDRER SEG - EN LITEN

INNFØRING I MASKINLÆRINGNMF 31.1.2019

Page 2: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store
Page 3: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Hva er maskinlæring?

◦ Bruk av datamaskiner for å finne mønstre i et datasett◦ Mønsteret oversettes til en regneregel (algoritme) som brukes på nye data for å:

- Predikere en kategoritilhørighet- Predikere en numerisk verdi

Page 4: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

VolumePeople are more connected than ever before, and this interconnection leads to more and more data sources

Velocity The speed and directions from which data come into the enterprise is increasing .

Variety More sources of data means more varieties of data in different formats.

Page 5: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Verdien av maskinlæring øker med Big Data

Big Data

Computing Power

Statistical Methods

Page 6: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Arbeidsprosess maskinlæring

Training data:Simulerer ulike modeller

Test data:Evaluerer modellenes prestasjon

Implementering:Bruker modellen på nye data

Page 7: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ Regression◦ Naive Bayes Classifier◦ Decision Trees◦ Neural Networks

Analysemodeller relevant for markedsanalyse

Page 8: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Regresjon

Page 9: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Naive Bayes Classifier

Page 10: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Decision trees

Page 11: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Nevrale nettverk (deep learning)

Page 12: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ Hvilke data?- Bakgrunnsdata (demografi, interesser etc. fra CRM-database)- Kjøpshistorikk (fra økonomidatabase)- Brukshistorikk (fra produksjonsdatabase)- Epost-historikk (fra CRM-systemet)- Søkehistorikk (fra web-database)- Eksterne databaser (geografi, konkurrenter, Google Trends, værdata etc.)

◦ Hvilken analysemetode?- Logistisk regresjon- Decision Trees- Naive Bayes- Neural Networks

Predikere frafall basert på data om en kunde

Page 13: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Predikere salg av reklameinvesteringer◦ Hvilke data?

- Salgshistorikk for ulike salgssteder (fra økonomidatabase)- Mediekjøp og tilbudsrabatter (kampanjeregister fra markedsavdelingen + mediebyrå)- Strategiendringer (fra intervju med ledergruppen)- Konkurrenter (fra konkurrentenes web-sider + andre)- Distribusjon (fra butikkregisteret)- Søkehistorikk (Google Trends + Google Analytics)- Sosiale medier (Hente ned data fra Facebook, Instagram og Twitter)- Eksterne databaser (høytider, værdata etc.)

◦ Hvilken analysemetode?- Regresjon- Decision Trees- Neural Networks

Page 14: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ Hvilke data?- Produktets salgshistorikk for ulike prispunkter (fra økonomidatabase)- Kampanjeregister (fra markedsavdelingen)- Konkurrenter (fra konkurrentenes web-sider)- Distribusjon (fra butikkregisteret)- Eksterne databaser (geografi, konkurrenter, Google Trends, værdata etc.)

◦ Hvilken analysemetode?- Regresjon- Decision Trees- Neural Networks

Predikere salg av et tilbudsprodukt

Page 15: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ Hvilke data?- Kundereise i tid/km (fra kundedatabase eksisterende lokasjoner)- Kundegrunnlag i geografisk område (eksterne databaser)- Konkurrenter i geografisk område (fra konkurrentenes web-sider + offisielle databaser)- Merkestyrke i lokalt område (fra survey)- Infrastruktur i geografisk område (Eksterne databaser)- Sosiale medier (Hente ned data fra Facebook, Instagram, Twitter)

◦ Hvilken analysemetode?- Regresjon- Decision Trees- Neural Networks

Predikere salg for en ny lokasjon

Page 16: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Hva skal vi med markedsanalytikere når vi har maskinlæring?

Page 17: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

RIKTIG MODELL MEN FEIL SVAR

Page 18: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ For en større kunde var det tidligere gjort en avansert modellering av salgseffekten av reklame aggregert på nasjonalt nivå. Resultatene stemte godt for hovedkontoret, men ikke for regionsdirektørene.

◦ Etter grundig gjennomgang av dataene og samtaler med regionene ble det klart at regionene hadde forskjeller i bruk av mediene. Analyse og datainnhenting ble gjentatt på regionsnivå

Den første modellen var feil på regionalt nivå. Den andre modellen var riktig på begge nivåer.

Nasjonal vs. regional analyse

Page 19: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ Modeller kan kun finne sammenhenger i datasettet som de jobber på, da blir valg av data og variabler viktig.

◦ Riktig utvalg og transformasjon av dataen skiller en dårlig modell fra en god modell.- Burde vi innhente bakgrunnsdata på befolkningen i området rundt butikkene?- Burde vi sørge for at modellen vet når påske er?- Burde vi ta med antall positive og negative tweets om merkevaren?

◦ Problemdefinisjon- Hva er det vi vil predikere? - Hvilket problem skal modellen løse?

Modeller er avhengig av riktig data og problemdefinisjon

Page 20: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Statistiske metoder og R

Big Data

Computing Power

Statistical Methods

Page 21: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ R er et gratis statistisk programmeringsspråk basert på åpen kildekode. Grunnlagt i 1992 som etterfølgeren til S.

◦ Det er gratis å laste ned og du kan modifisere programmet om du trenger det.

◦ R er rangert av IEEE Spectrum på 7. plass over programmeringsspråk.

Mer om R

Page 22: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

R syntax i de siste årene med %>%

Page 23: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

R brukergrensesnitt

JAMOVIExploratory.ioRStudio

Page 24: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ R er et modulært system, som betyr at for de fleste funksjoner må du laste pakker som har spesifikke funksjoner. Dette gjør R ekstremt fleksibelt. - SQL-støtte (f.eks. RPostgreSQL) lar deg lese og summere data rett fra store databaser- Maskinlæringspakker (f.eks. caret, h2o eller parsnip) lar deg bruke helt moderne metoder for

maskinlæring rett på dataene. - Visualiseringspakker (f.eks. ggplot2 eller sjPlot) lar deg lage visualiseringer som kan måle seg med

de mest fancy verktøyene.

◦ Det finnes mange tusen pakker til R, og ofte når noen utvikler en ny statistisk metode lager de også en R-pakke for å bevise at den fungerer.

Pakker

Page 25: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store
Page 26: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Kjapt sidetema: Python eller R?

Page 27: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Eksempler på bruk av maskinlæring i markedsanalyse

Page 28: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Kunsten å identifisere kundegrupper som reagerer likt og har samme behov.

Hvilke produkter kundene kjøper er en indikator på hvorfor de handler i denne butikkjeden

Segmentering basert på kjøpshistorikk

Page 29: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ Nye metoder som non-zero matrix factorzation (NMF) tillater clustering av store datamengder basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store datamengder.

◦ NMF fungerer også som en clustering-metode som samtidig clusterer rader og kolonner, det gir i dette tilfelle grupper av kunder og grupper av kategorier.

Hva kan vi bruke maskinlæring til i segmentering?

Page 30: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Basert på maskinlæring valgte vi 4 grupper av kjøpemønstre

Page 31: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Navn på segmentene

1: Til familien 2: Fest 3: Dekor 4: Nyttig til hjemmet

Mapper og bøker Ballonger Bord og ting på bordet Gummihansker

Tegne Bursdag Dekor Plastbokser

Tyggegummi Plastbestikk/kopper Lamper Servietter

Drops Fyrverkeri Stearinlys Toalettpapir

Leker Halloween Lykter og lanterner Knagger

17. mai

Page 32: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Profilering av kundeneTil familien Fest Dekor Nyttig hjemmet

Kunde 1 0,3 0,7 0 0

Kunde 2 1 0 0 0

Kunde 3 0 0 0,5 0,5

Kunde 4 0 0.8 0.2 0

Kunde 5 0.3 1 0.7 0

Page 33: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Kundeverdi = 1879

Page 34: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

350kr 200kr 150kr 800kr

Hvor mange kjøp, hvor stor sannsynlighet for fremtidig kjøp (forblir kunde) og

hva er størrelsen av hvert kjøp?

Page 35: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Til dette trenger vi å estimere:• Antall kjøp i fremtiden• Størrelsen på kjøpene i fremtiden• Sannsynligheten for at kunden enda er kunde... Basert på det vi historisk vet om kundene

Verdien av alle fremtidige pengestrømmer fra kundeforholdet

Fader & Hardie

(2014)

Customer Lifetime Value (CLV)

Page 36: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

P(Alive)Sannsynligheten for at kunden enda er aktiv

T*Antall estimerte transaksjoner

Verdiene estimeres ved hjelp av timing-modeller

Page 37: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ Oppdateres dynamisk på individnivå

CLV dynamisk

Page 38: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Profilering av kundene

Page 39: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ Modellering vs maskinlæring

Modellen settes «live»

Page 40: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Frafall

Page 41: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

LÆRINGSINNSATS LOJALITET FRAFALL

FAGLIG INTEGRASJON

SOSIAL INTEGRASJON

MOTIVASJON STUDIESTART

Survey for å få dypere innsikt i årsaksforhold

MannRiktig valg

Page 42: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Læringsaktivitet på ITL

Demografi

Program

◦ Predikerer frafall- 68% korrekt etter 100 dager- 73% etter 150 dager

◦ CRM- 1:1 oppfølging til studenter med lav aktivitet- Semesterstart- Kritiske hendelser (arbeidskrav etc.)- Etter eksamen

◦ Innovasjon- Fra undervisning til læring- Prediksjon av læring kontinuerlig (ikke bare eksamen)- Kurs- og programdesign

Maskinlæring til prediksjonsmodell

Page 43: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Tester ut alternative modeller◦ Logistisk regresjon er den statistiske metoden som best balanserer riktig prediksjon av

de som faktisk faller fra og de som ikke faller fra

Specificity er andel av de som ikke faller fra som modellen predikerer korrekt

Sensitivity er andel riktig predikert

Page 44: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Deep learning – the cutting edge

Page 45: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ Vi kan også dra nytte av helt cutting-edge teknologi innen maskinlæring, uten at vi trenger å være eksperter selv eller ha massiv regnekapasitet.

◦ Vi kan gjenbruke og «omlære» komplekse modeller som andre har laget. ◦ Dette kan typisk bli input til en annen analyse, f.eks:

- Hvor mange tweets tagget med #tine har bilde av Litago sjokolademelk?- Hvor stor er effekten av volumet negative kommentarer på Facebook-siden på salg?- Hvor mange klager til kundesenteret vårt nevner produktkvalitet?

Deep learning – the cutting edge

Page 46: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

import turicreate as tcdata = tc.SFrame('ig02.sframe’)train_data, test_data = data.random_split(0.8)model = tc.object_detector.create(train_data)predictions = model.predict(test_data)metrics = model.evaluate(test_data)model.save('mymodel.model’)

Object detection i 7 linjer kode – Turi Create

Page 47: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ Identifikasjon av spesifikke type ord- Handler tweeten om beats-produktet «I love my new beats headphones» eller om sport «I hope my

team beats the other team!»

◦ Klassifisering av type setninger- Er denne tweeten en klage eller ett forslag til forbedring?

Spacy/Prodigy lar deg trene en egen tekstmodell i løpet av få timer

Page 48: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ Hva om vi bare sender dataene til noen andre som har gjort jobben?◦ Google

- Cloud Vision API- Cloud Speech-to-text- Cloud Natural Langauge API

◦ Microsoft Cognitive services- Vision- Knowledge- Language

Modeller i skyen

Page 49: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

ALT DETTE KAN MATES INN I MINDRE KOMPLEKSE MODELLER

y=β0 +β1x1 +β2x2 +···βkxk +.

Page 50: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ Fordeler- Verktøykasse for å analysere nye typer av data- Verktøykassen åpner for analyse av nye spørsmål- Ikke-lineære sammenhenger- Kort vei fra analyse til bruk av innsikt

◦ Utfordringer- Komplekse modeller er vanskelig (umulig) å forstå (selv om de predikerer riktig)- Begrenses av de data som er tilgjengelige og lesbare for en datamaskin- Stille de riktige spørsmålene

Oppsummering om maskinlæring i markedsanalyse

Page 51: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

◦ https://www.cpm.no/

Mer om CPM Analytics

Page 52: MASKINLÆRINGanalysen.no/images/Presentasjoner/2019/2019.01.31_B2B... · 2019. 1. 31. · basert på lite data per rekke. NMF klarer seg fint med binær 1/0 og skalerer til store

Kunder