• No results found

Övervakad maskininlärning för att identifiera nya kunder på energimarknaden

N/A
N/A
Protected

Academic year: 2021

Share "Övervakad maskininlärning för att identifiera nya kunder på energimarknaden"

Copied!
33
0
0

Loading.... (view fulltext now)

Full text

(1)

INOM

EXAMENSARBETE TEKNIK, GRUNDNIVÅ, 15 HP

STOCKHOLM SVERIGE 2017,

Övervakad maskininlärning för att identifiera nya kunder på

energimarknaden

ROBERT BOJS

BENNY FENG

(2)

Abstract

This paper explores alternative ways for smaller actors on the energy market to identify potential customers using publicly available data and different machine learning algorithms. During recent years, price has been considered to have the biggest impact on the behaviour of the consumers on the energy market. Since the bigger actors on the market can use their economies of scale to lower their prices, smaller actors need to find alternative ways to reach out to consumers. The machine learning algorithms in this paper will use the sales data from a small energy company, operating in Sweden and attempt to find a connection between existing customers using their demographic properties.

By acquiring a deeper knowledge of what differentiates consumers that are willing to purchase energy from the energy company and the other consumers, the energy company may increase their rate of successful sales.

Due to the lack of customer data avilable coupled with a lack of relevant public data, the results in this paper are not conclusive. However, it provides a baseline for future research as the results may be more reliable when the number of customers purchasing energy from The Energy Company increa- ses.

(3)

Sammanfattning

Det här arbetet utforskar alternativa tillvägagångssätt för för mindre aktörer på energimarknaden att identifiera nya potentiella kunder, baserat på publikt tillgänglig data som analyseras med hjälp av maskininlärningsalgoritmer. På senare år har pris ansetts vara den faktor som påverkar val av leverantör mest.

Eftersom större aktörer på marknaden kan utnyttja skalfördelar kan de pressa priserna hårt, medans mindre aktörer måste finna andra vägar att vinna nya kunder. Maskininlärningsalgoritmerna i den här uppsatsen kommer att använda försäljningsdata från ett litet energibolag, som bedriver verksamhet i Sverige, med målet att hitta ett mönster mellan existerande kunder och deras demografiska data. Genom att förskaffa sig djupare kunskap om vad som differentierar kunder kan energibolaget förbättra sin försäljning. På grund av en förhållandevis liten mängd kunddata och brist på publik data gick det inte att hitta ett betydande samband mellan kunderna och deras demografiska data. Resultaten utgör dock en bra grund för fortsatt forskning då resultaten blir mer pålitliga då mer kunddata införskaffas, vilket blir en naturlig följd av att energibolagets försäljning fortsätter utvecklas.

(4)

Förord

Vi vill tacka Christian Sjögren, Lars Bång, Daniel Hägerkvist, Rami Heikkilä och deras medarbetare på ChessIT som hjälpte oss få tillgång till data och för deras handledning under hela projektet. Vi vill även tacka Bo Karlsson från Skolan för industriell teknik och management (ITM) för hans engage- mang och insiktsfulla vägledning. Vi vill slutligen tacka professor Joakim Gustafsson, föreståndare för avdelningen för tal, musik och hörsel, för hans handledning och konstruktiva kritik.

(5)

Innehåll

1 Inledning 7

1.1 Bakgrund . . . 7

1.2 Arbetets område . . . 7

1.3 Uppdragsgivare . . . 8

1.4 Syfte . . . 8

1.5 Mål och Nyhetsvärde . . . 8

1.6 Problemformulering och Vetenskaplig fråga . . . 9

1.7 Samhälleliga och Etiska aspekter . . . 9

2 Teori 10 2.1 Maskininlärningskoncept . . . 10

2.1.1 Attribut . . . 10

2.1.2 Supervised learning . . . 10

2.1.3 Utvärderingsmetoder för maskininlärning . . . 10

2.2 Maskininlärningsalgoritmer . . . 11

2.2.1 Decision trees . . . 11

2.2.2 C4.5 . . . 12

2.2.3 Random Forest . . . 12

2.2.4 Naive Bayes . . . 13

2.2.5 Support vector machines . . . 13

2.2.6 Data mining . . . 14

2.2.7 Scikit Learn . . . 14

2.3 Attributval . . . 14

2.3.1 χ2 . . . 14

2.3.2 ANOVA F-test . . . 15

2.4 Pivotal CRM . . . 15

2.5 Försäljning med maskininlärning . . . 15

2.6 Statistiska Centralbyrån . . . 16

2.7 Tidigare studier . . . 16

2.7.1 Application of Clustering Algorithms and Self Organising Maps to Classify Electricity Customers . . . 16

2.7.2 Consumers and green electricity: profiling potential purchasers . . . 17

2.7.3 Electricity Supplier Switching: A Conceptual Model Based on Migration Theory . . . 17

3 Metod 18 3.1 Datainsamling . . . 18

3.1.1 Statistiska Centralbyrån . . . 18

3.1.2 Pivotal CRM . . . 18

3.1.3 Representation av data . . . 19

(6)

3.2 Klassificering . . . 19

3.2.1 Val av klasser . . . 19

3.2.2 Klassificering i Pivotal . . . 19

3.2.3 Maskininlärning . . . 20

3.2.4 Attribute selection . . . 20

3.2.5 Tuning . . . 20

4 Resultat 21 4.1 Attributval . . . 21

4.1.1 ANOVA . . . 21

4.1.2 Accuracy och χ2 . . . 22

4.2 Random Forest . . . 23

4.3 Naive Bayes . . . 24

4.4 SVM . . . 24

5 Diskussion 26 5.1 Demografins betydelse för försäljningen . . . 26

5.2 Felkällor . . . 26

5.2.1 Urval av attribut . . . 26

5.2.2 Datamängd . . . 27

5.3 Förbättringsmöjligheter . . . 27

5.4 Skillnad i resultat för olika algoritmer . . . 27

6 Slutsats 29 Litteraturförteckning 30 7 Appendix 32 7.1 Tabell 1: SCB . . . 32

(7)

1 Inledning

1.1 Bakgrund

Sveriges elmarknad är sedan 20 år tillbaka en avreglerad marknad och i dags- läget finns en uppsjö av elhandelsbolag för konsumenterna att välja mellan.

Energibolaget i denna studie är både ett elhandelsbolag och ett elnätsbo- lag. Det innebär att de äger vissa sträckor av elnätet, samtidigt som de kan sälja el över hela Sverige. Vid elförsäljning utförs ofta olika kampanjer eller coldcalling för att nå ut till nya kunder. I dagsläget finns ingen egentlig stra- tegi för att välja vilka kunder som företaget ska vända sig mot och urvalet sker slumpmässigt.

Kunddata lagras ofta inom Customer Relationship Management -system, hä- danefter CRM-system. Dessa system saknar ofta verktyg för djupare analys av den lagrade datan.

Med maskininlärning kan den existerande kunddatan analyseras och mönster kan urskiljas inom de olika kundgrupperna. Resultaten från dessa analyser skulle kunna användas för att förbättra säljproccessen och underlätta för säljare i urvalet av kunder att vända sig mot. I denna rapport kartläggs alltså hur kundsegment för ett elhandelsbolag skiljer sig åt och hur analys av data om olika kundsegment kan hjälpa Energibolaget att nå ut till nya potentiella kunder. Målet är att öka precisionen hos försäljningskampanjerna och minska andelen försäljningsprocesser som inte leder till affär.

1.2 Arbetets område

Det här arbete har två primära arbetsområden: maskininlärning och för- säljning. I första hand kommer arbetet att kretsa kring hur väl olika ma- skininlärningsmetoder kan tillämpas baserat på försäljningsdata och publik data.

I andra hand kommer arbetet handla om energimarknaden och om det finns egenskaper som tydligt särskiljer olika kundgrupper och hur företag kan dra nytta av den informationen.

(8)

1.3 Uppdragsgivare

Beställaren av denna rapport, som hädanefter kallas Energibolaget men som egentligen heter något annat, är ett mindre energibolag med under 200 000 kunder, förmedlat genom kontakt med ChessIT. Energibolaget är ett ener- gibolag som installerar bland annat el, fiber och fjärrvärme. ChessIT är ett IT-konsultbolag som implementerar och anpassar CRM-system åt sina kun- der.

Energibolaget är en av ChessITs kunder och använder sig av ett CRM-system.

Med över 100.000 uppkopplade användare har Energibolaget ett brett kund- nätverk, vilket leder till stora mängder kunddata. Denna kunddata vill Ener- gibolaget processera för att förbättra sina framtida säljprocesser.

Eftersom Energibolaget är en förhållandevis liten aktör på marknaden och därför inte kan erbjuda de lägsta priserna är det därför viktigt för försälj- ningen att hitta andra konkurrensmedel än prissättning. Det är således av stor nytta för företaget att identifiera alternativa metoder för att hitta nya potentiella kunder.

1.4 Syfte

Syftet med denna rapport är därför att analysera Energibolagets kundkretsar, för att skapa en bättre förståelse för deras olika typer av kunder och förutspå var det finns flest potentiella kunder. Analysen görs baserat på Energibo- lagets egen kunddata från deras CRM-system och extern publik data från Statistiska Centralbyrån.

1.5 Mål och Nyhetsvärde

Målet med rapporten är att med hjälpa av maskininlärning analysera hur Energibolagets olika kundsegment skiljer sig åt och hur det efter denna analys är möjligt att urskilja nya potentiella kunder.

Nyhetsvärdet ligger i hur maskininlärning används för att göra kundanaly- ser och hur Energibolaget kan processera sin CRM-data för att effektivisera försäljningsorganisationen.

(9)

1.6 Problemformulering och Vetenskaplig fråga

Problemet är att det i dagsläget finns otillräckligt beslutsunderlag vid expan- sion på nya geografiska marknader och vid val av kunder att vända sig mot på energimarknaden. Därför ska följande frågor utforskas för att i enlighet med rapportens syfte och mål analysera Energibolagets kunder.

• Hur kan maskininlärning användas för att förutspå vilka kunder som har samma köpvilja?

• Vilken typ av algoritm ger bäst resultat vid analys av kunddata?

• Finns det ett samband mellan Energibolagets lyckade försäljningar och kundernas demografiska data?

1.7 Samhälleliga och Etiska aspekter

En etisk aspekt för detta arbete är huruvida säljarnas integritet och kompe- tens bevaras. Säljare vill ofta behålla kontrollen över vilka kunder de väljer att kontakta och inte bli tillsagda om vad som ska göras. Det riskerar att bli en sorts mikrostyrning som i slutändan inte får en positiv på säljarnas arbetsmoral.

(10)

2 Teori

Som grund för detta arbete behövs en utförlig kartläggning av tillämpbara maskininlärningsmetoder; hur de går till i teorin och hur väl de kan användas för just den här typen av analys. Det behövs också en grund inom ekonomi och ekonomiska teorier. Framförallt, hur olika kundsegment särskiljs från varandra och hur olika försäljningstrategier tillämpas.

2.1 Maskininlärningskoncept

2.1.1 Attribut

En feature, hädanefter attribut, är i maskininlärningssammanhang en kvanti- tet som på något sätt beskriver det objekt eller den situation som undersöks.

Attributen kan delas in i olika typer för att enklare kategorisera vilka vär- den attributet kan anta. Det finns kategoriska och kontinuerliga attribut. De kategoriska attributen kan anta en ändlig mängd diskreta värden, medan de kontinuerliga kan anta en oändlig mängd värden, ofta reella tal (Ron and Foster, 1998).

2.1.2 Supervised learning

Supervised learning, eller övervakad inlärning, är maskininlärning med data som redan har en känd klassificering. Datasetet delas upp i två delar, trä- ningsdata och testdata. Maskininlärningsalgoritmerna tränas sedan upp med hjälp av träningsdatan för att sedan utvärderas med hjälp av testdatan.

2.1.3 Utvärderingsmetoder för maskininlärning

De vanligaste metoderna för att utvärdera användbarheten av maskininlär- ningsalgoritmer som använder sig av supervised learning är att beräkna ac- curacy, precision och recall. Formlerna för dessa mått är:

Accuracy = Antal korrekta klassificeringar

Totala antalet klassificeringar (1) P recision = True Positive

True Positive + False Positive (2)

(11)

Recall = True Positive

True Positive + False Negative (3)

2.2 Maskininlärningsalgoritmer

Inom maskinlärning finns många färdiga program och moduler att använda sig av, men de har olika tillämpbarhet. I denna del presenteras därför olika maskininlärningsalgoritmer; hur de fungerar och hur de kan tillämpas.

Angående tillämpningen är accuracy ett användbart mått över hur väl en viss metod förhåller sig till en datamängd, vilket senare kan jämföras med andra metoder. De två huvudspåren av metoder är supervised learning som används när det finns en datormängd med känd output och unsupervised learning där datamängden inte har känd output. Output är det som ska tas fram av maskininlärningsalgoritmen.

2.2.1 Decision trees

Ett beslutsträd är en klassificerare som med hjälp av rekursion fattar beslut om klasstillhörighet. Beslutsträdet består av noder som skapar ett riktat träd. I toppen finns en rotnod utan inkommande kanter, alla andra noder har exakt en ingående kant. Resten av trädet består av antingen inre noder, noder som har utgående kanter, eller lövnoder (slutnoder) som endast har en ingående kant. Varje inre nod fördelar trädet i två eller fler förgreningar, baserat på attributet som utvärderas. Varje lövnod representerar en av de möjliga klasserna eller ett av de möjliga utfallen.

Vid klassificering navigerar algoritmen nedåt i trädet genom att följa utfallet i varje test, som sker vid varje inre nod baserat på ett visst attribut, tills en slutnod nås.

Komplexiteten av ett beslutsträd är en viktig faktor vid klassificeringar. Kom- plexiteten kan beskrivas som genom; antalet noder, antalet löv och träddjupet eller antalet attribut. En lägre komplexitet är att föredra då det ofta ger ett pålitligare utfall (Rokach and Maimon, 2005).

(12)

2.2.2 C4.5

C4.5 är en av de populäraste metoderna när det kommer till beslutsträd och induktiv slutledning. C4.5 används för att approximera diskreta funk- tioner. Metoden utvecklades av John Ross Quilan (Polat and Güneş, 2009) och har rankats som en av världens bästa beslutsträdsalgoritmer (Wu et al., 2008).

2.2.3 Random Forest

Random Forest -algoritmen är en ensemblemetod som används inom både regression och klassificering. Algoritmen använder sig av Tree Bagging, även kallat Bootstrap aggregating, där slumpas stickprov från träningsmängden fram flertalet gånger för att sedan använda medelvärdet från dessa stick- prov för att förutsäga värdet för resterande delmängder. Det här minskar variansen på resultatet då individuella stickprov är känsliga för brus vilket motverkas av att genom att använda flertalet stickprov. Den här metod för att minska variansen förutsätter att de olika stickproven inte är korrelerade.

Antal stickprov ligger generellt mellan några hundra till flera tusen (Breiman, 2001).

Utöver Tree Bagging använder Random Forest sig av slumpning av para- metrar. Detta innebär att modellen endast använder sig av en delmängd av parametrarna hos varje kandidat för att på så sätt minska korrelationen mel- lan de olika stickproven då vissa parametrar har mycket högre påverkan på resultatet än andra (Ho, 2002). För en regression bör antalet slumpade pa- rametrar vara p/3 där p är det totala antalet parametrar. För klassificering rekommenderas √

p (Friedman et al., 2001).

Ända sedan Tim Kan Ho introducerade sitt koncept med slumpade besluts- träd har det fått mycket bred användning inom maskininlärning (Kam, 1995).

I det ursprungliga konceptet var den främsta fördelen relativt vanliga besluts- träd att modellen löpte mindre risk att bli övertränad. Det har visats i bland annat Breiman (2001) att Random Forest algoritmen konvergerar mot ett och samma värde ju fler träd som läggs till. Detta följer av de stora talens lag inom sannolikhetsläran (Breiman, 2001).

(13)

2.2.4 Naive Bayes

Bayesiska nätverk är en av de mest använda grafiska modellerna för att re- presentera sannolikheter och osäker information. Nätverken är uppbyggda som riktade acykliska grafer där kanterna motsvara relationen mellan olika event (Amor et al., 2004). Naive Bayes är ett väldigt simpelt Bayesiskt nät- verk, där grafen bygger på endast en överliggande, rotnod, som motsvarar det okända tillståndet (Jensen, 1997).

Klassificering med Naive Bayes utförs genom att låta de överliggande no- derna representera de gömda variablerna som motsvarar varje klass. Alla underliggande noder, children, representerar de olika attributen för den giv- na instansen. En klassificering kan sedan göras genom att jämföra attributen för ett nytt objekt med attributen i grafen (Murphy, 2006). Sannolikheterna beräknas med Bayes sats:

P (ci|A) = P (A|ci) ∗ P (ci)/P (A) (4)

Där c är ett möjligt attribut och A är det totala antalet observerade in- stanser av det givna attributet. Ett viktigt grundläggande antagande är att attributen är oberoende av varandra.

2.2.5 Support vector machines

Support vector machines (SVM) är en vanlig statistisk klassificerare som även kan användas för regression. Inom klassificering används metoden för att urskilja mönster i indata. Detta görs genom att betrakta egenskaperna i indatan som koordinater i ett rum med lika många dimensioner som det finns egenskaper. Ett hyperplan anpassas sedan utefter datapunkterna för att separera dessa utefter klassificeringen (Vapnik, 2013).

När en träningsmängd innehåller ett flertal attribut kan det uppstå svårig- heter vid klassificering med en SVM. Anledningen är att SVM-algoritmer och deras mappning av vektorer oftast är linjära, således uppstår problem vid högre dimensioner. För att undvika problemen som uppstår används en icke-linjär, ofta polynomsk, mappning (Gunn et al., 1998).

(14)

2.2.6 Data mining

Data mining inom kundhanteringssystem har på senare år fått mer och mer uppmärksamhet. CRM grundar sig i relationsmarknadsföring och är fokuse- rat på kundtillfredsställelse. Med ett CRM-system kan kundrelaterad infor- mation på ett effektivt sätt lagras och tas fram. Genom att analysera data från kunder kan företag bättre förutspå framtida försäljningar, vilket tillå- ter dem att fatta beslut baserat på empirisk data. Det tillåter även företag att besvara frågor som tidigare varit för omfattande för att undersöka (Kim, 2006).

2.2.7 Scikit Learn

Många av de ovan nämnda teoretiska metoderna och algoritmerna har blivit implementerade i en rad olika programmeringsspråk. En av de mest utförliga open-source biblioteken är Scikit Learn som är skrivet till Python. Scikit Learn möjliggör användning av bland annat Random Forest, Naive Bayes och support vector machines med Python genom abstrakta funktionsanrop.

2.3 Attributval

Urvalet av attribut är av stor vikt för resultatet från maskininlärningsalgo- ritmernas. För att algoritmerna inte ska klassificera den datan på irrelevanta attribut är det därför viktigt att dessa tas bort eller får lägre vikt samtidigt som vissa kärnattribut bör ha högre inverkan på resultatet än andra attribut.

För att vikta attributen och bestämma dess relevans behövs det olika me- toder och algoritmer för att kvantifiera attributens relevans (Chandrashekar and Sahin, 2014).

2.3.1 χ2

En av de vanligaste algoritmerna för att välja ut relevanta attribut är χ2- algoritmen, uttalat som Chi-två, som består av två faser. Algoritmen beskrivs av:

(15)

χ2 =

2

X

i=1 k

X

j=1

(Aij − Eij)2

Eij (5)

Där Aij är antalet mönster för intervall i och klass j och Eij är den förväntade frekvensen av Aij.

Ovanstående algoritm används för att först beräkna χ2-värdet för att alla attribut och sedan bestämma vilka attribut som elimineras då de understiger ett givet gränsvärde (Liu and Setiono, 1995).

2.3.2 ANOVA F-test

Ett vanligt sätt inom statistiken för att analysera attribut på är genom Ana- lysis of Variance, ANOVA. Genom att beräkna F-värdet, som ges av

F = förändring mellan grupper

förändring inom grupp (6)

där grupper syftar på de olika attributen (Frost, 2016).

2.4 Pivotal CRM

Energibolaget använder idag Pivotal CRM för att dokumentera sin försälj- ning. Plattformen är utvecklad och underhålls av Aptean (Aptean, 2017).

En av de främsta egenskaperna med produkten är att den är lätt att byg- ga ut med moduler. Detta öppnar för andra företag, bland annat ChessIT, att implementera och integrera egna moduler för att utöka funktionaliteten.

Kunddatan som matas in av säljarna på Energibolaget lagras med i en data- bas som kör Microsoft SQL 2012. För att få ut data från databasen går det att köra vanliga SQL-queries.

2.5 Försäljning med maskininlärning

Även om försäljning och maskininlärning som separata ämnesområden har funnits väldigt länge är det inte alla CRM-system som har inbyggda maski- ninlärningsmoduler. På senare år har maskininlärning börjat användas för

(16)

då RFM som står för recency, frequency och monetary. Inom nyförsäljning brukar data kunna erhållas genom coldcalling eller brevkampanjer. Kunderna sorteras sedan efter olika demografiska egenskaper (Kim, 2006).

2.6 Statistiska Centralbyrån

Statistiska Centralbyrån (SCB) har som ansvar att sprida och utveckla offi- ciell statistik. De arbetar för att den data som presenteras ska vara opartisk, relevant och av god kvalitet. SCB uppfyller de grundläggande principer för officiell statistik som tagits fram av FN och bedriver sin verksamhet i enlighet med Internationella statistiska institutets yrkesetiska deklaration samtidigt som de även arbetar med Svenska Statistikfrämjandets etiska kod för sta- tistiker och statistisk verksamhet. All statistik som tillhandahålls av SCB är granskade av externa parter och är därför kvalitetscerifierat (Statistiska Centralbyrån, 2014).

2.7 Tidigare studier

2.7.1 Application of Clustering Algorithms and Self Organising Maps to Classify Electricity Customers

På den fria elmarknaden är det möjligt för elbolagen att erbjuda olika priser till olika kunder. Det är således viktigt att kunna kategorisera olika kunder baserat på bl.a. deras elanvändande. I sin studie från 2003 analyserar de tre författarna hur olika kundgrupper skiljer sig från varandra och hur det med maskininlärningsalgoritmer är möjligt att utföra klustringar av dessa kunder.

De testar olika algoritmer och jämför sedan resultaten för att avgöra vilka algoritmer som är att föredra.

Deras resultat pekar på att en modifierad follow-the-leader algoritm eller en hierarkisk klustring är att föredra då de ger säkrast reslutat. De menar också att deras analyser fungerar bäst på makronivå och att det skulle krävas ytterligare analyser för en mer detaljerad klassifisering.

Studien är mycket lik denna studie i många avseenden då det i båda fallen handlar om att kategorisera energikunder. Även om den här studien är mer inriktat på geografiska områden och grupperingar av kunder är det relevant att titta på Chiccos artikel och till viss del jämföra resultaten.

(17)

2.7.2 Consumers and green electricity: profiling potential purchasers

Ian Rowlands m.fl. (2003) undersöker i sin rapport huruvida olika egenska- per påverkar kunders köpvilja. Egenskaperna delas upp i huvudkategorierna;

attityd, demografi och sociala aspekter. Målet är att utvärdera vilka egenska- per som tydligast profilerar olika kundgrupper och vilka kundgrupper som är mest benägna att byta till grön el.

Då Energibolaget erbjuder sina kunder grön el från 100% förnybara källor är det troligt att deras kundsegment liknar dem som analyseras i rapporten av Rowlands m.fl.

En av slutsatserna i rapporten är att priset har en stor påverkan på kunder- nas val av elleverantör. Dock är vissa kundgrupper mer benägna att välja en högre elkostnad förutsatt att elen kommer från förnybara källor. Dessa kundgrupper karaktäriseras främst av egenskaperna; altruism, liberalism och miljömedvetenhet. Om Energibolaget kan urskilja kundgrupper som har lik- nande egenskaper är de troligen konkurrenskraftigare på den marknaden än andra områden.

2.7.3 Electricity Supplier Switching: A Conceptual Model Based on Migration Theory

I sin artikel föreslår Kilic och Uray (2015) en modell som visar på elkunders beteende och beslutsprocess vid byte av elleverantör. Genom att identifie- ra faktorer som leder till så kallad pull, push och mooring åskådliggör Kilic och Uray (2015) de olika krafter som påverkar beslutet om ett byte av el- leverantör. En av de faktorer som introduceras är så kallad segment focus, vilket innebär att kunder är mer troliga att använda sig av en leverantör vars befintliga kunder har liknande demografisk sammansättning och nisch.

Segment focus lyfts fram som en särskilt viktig faktor inom B2B-försäljning.

En annan viktig faktor som lyfts fram är influential triggers, som innebär att kunder är mycket mer troliga att byta leverantör när de blir kontaktade av försäljare, även då de inte aktivt letad efter nya leverantörer.

(18)

3 Metod

För att utvärdera de vetenskapliga frågor som utgör grundbultarna i denna rapport utfördes först datainsamling, följt av en serie klassificeringar ba- serat på den givna datan. Under rubriken datainsamling förklaras var alla data erhållits och hämtats ifrån och hur denna data presenteras. Sedan föl- jer klassificeringen som går igenom hur datan anpassades för uppträning av maskininlärningsalgoritmerna och hur de olika resultaten erhölls.

3.1 Datainsamling

3.1.1 Statistiska Centralbyrån

SCB:s öppna API har använts för att hämta statistik. Genom att skicka queries i JSON-format via POST-requests till SCB:s databas returneras i JSON-format. På så sätt kan datan lagras direkt i de Python-objekt som skapats för att representera de olika kommunerna. Fördelen med detta är att det inte krävs en separat databas för att lagra den data som används i maskininlärningen, nackdelen är att datan måste hämtas från SCB varje gång maskininlärningen ska köras. Eftersom SCB har en begränsning på hur många queries som kan komma från en och samma IP-adress, tio per tio sekunder, tar datainsamlingen lång tid när det är mycket data som ska processeras.

Eftersom datainsamlingen krävde runt 1500 POST-requests valde vi att spara ner den insamlade datan lokalt med hjälp av Python-modulen shelve.

3.1.2 Pivotal CRM

På Energibolaget ligger data från tidigare försäljning lagrade med hjälp av CRM-systemet Pivotal som i sin tur använder en Microsoft SQL Server för att lagra datan. För att utvinna datan från Energibolagets tidigare försäljnings- kampanjer har därför vanliga SQL-queries använts. Denna data har sedan lagrats med hjälp av datastrukturen dictionary som finns i Python då det går snabbt att söka i dessa trots stora datamängder. Kundinformationen i CRM- systemet innefattar endast information om kundernas postnummer medan den data som tas från SCB är indelade efter kommun. Det finns ingen publik tabell över vilken kommun varje postnummer tillhör och därför skapades en

(19)

egen konverteringstabell. Datastrukturen för denna konverteringstabell är en dictionary.

3.1.3 Representation av data

Den demografiska data som tagits från SCB representeras av en vektor som i sin tur är ett attribut i Python-klassen SCBData. Det instantieras således ett objekt av klassen SCBData per kommun och varje SCBData innehåller en vektor där all information lagras. Dessa vektorer agerar sedan indata till maskininlärningsalgoritmerna.

3.1.4 Queries

För att hämta data från SCB:s databas skickades queries mot flera olika tabeller. De utvalda tabellerna och dess parametrar (se appendix A).

3.2 Klassificering

3.2.1 Val av klasser

För att kunna klassificera de olika kommunerna med supervised learning mås- te det först bestämmas vilka klasser som ska användas och hur de definieras.

I det här arbetet användes det två klasser och de är:

1. Kommuner med lyckad försäljning till kontaktade kunder.

2. Kommuner utan lyckad försäljning till kontaktade kunder.

Datan från Energibolaget blir jämnt fördelat när dessa klasser används. Detta är fördelaktigt för studien då det kan uppstå problem om träningsdatan är ojämnt balanserad vad gäller storleken på klasserna. Om datan hade varit ojämnt fördelad hade algoritmerna riskerat överträning.

3.2.2 Klassificering i Pivotal

Eftersom detta arbete använder sig av supervised learning är det viktigt att datan som testas är märkt med sin klass. Därför används försäljningsdatan

(20)

den tidigare andelen lyckad försäljning. De kommuner som innehåller fler än fyra försäljningsförsök läggs sedan till i en lista tillsammans med sin klassi- ficering för att sedan kunna användas som märkt testmängd av kommuner i maskininlärningsklassificeringen.

3.2.3 Maskininlärning

För att klassificera de kommunerna används de olika modulerna i Sci-kit learn. Eftersom vi har labeled data använder vi oss av cross validation för att testa träffsäkerheten i algoritmerna. Detta innebär att vi erhåller olika resultat efter varje körning av programmet eftersom vilka kommuner som hamnar i testmängden och vilka som hamnar i träningsmängden skiljer sig åt varje gång.

3.2.4 Attribute selection

För att förbättra algoritmernas precision revideras det urval av attribut med målet att gallra bort irrelevanta attribut som inte nämnvärt påverkar resul- tatet. Reduktion av det s.k. bruset är viktigt för att förbättra precisionen, som gjordes genom att utföra χ2-test och genom att beräkna ANOVA-värdet för de attribut vi använde.

Genom att beräkna ANOVA-värdet av alla attribut fås en bättre överblick över relevanta attribut och hur de förhåller sig till varanda. Vid ANOVA- beräkning får alla attribut en poäng mellan 0 och 1, vilket gör det enkelt går att visualisera testresultatet.

Utöver ovannämnda beräkning utförde vi ett χ2-test av alla attribut. Med χ2-testet valdes de tio attribut som fick bäst resultat, vilket presenteras i figur 1 i sektion 5.1.1.

3.2.5 Tuning

Vid klassificering finns flera parametrar som kan varieras för att finjustera algoritmerna, s.k. tuning. Vid användande av Random Forest kan antalet träd som ska konstrueras bestämmas och hur djupa träd som ska skapas. Ge- nom att använda tuning kan resultatet förbättras avsevärt, vilket presenteras senare i rapporten.

(21)

4 Resultat

I följande del presenteras först resultaten från attributurvalen, följt av resul- tatet från klassificeringarna. Vid klassificeringarna delades datan in i två klas- ser, Lyckad Marknadsexpansion (LM) och Ingen Marknadsexpansion (IM).

För att utvärdera resultatet jämförs det ofta mot basfallet. Basfallet är den lägstanivå som accuracy kan vara för att inte prestera sämre än t.ex. en totalt naiv klassificerare eller en expert inom ämnet. Most frequent baseline är en typ av basfall där en klassificerar skulle klassificera all testdata efter den mest förekommande klassen i träningsdatan. Enligt en sådan ansats blir basfallet för de uppkommande klassificeringarna 55%.

4.1 Attributval

4.1.1 ANOVA

Figur 1: ANOVA-scores

I ovanstående graf framgår att det finns stora skillnader i ANOVA-score, eller ANOVA-värdet, mellan de olika attributen. De fyra attribut med högst värde är och alltså högst varians är:

• Total slutanvändning av energi per hushåll

(22)

• Slutanvändning av fjärrvärme i alla segment

• Slutanvändning av el inom jordbruk och fiske

• Medelvärde för disponibel inkomst för personer över 80 år

• Medelvärde av nettoförmögenhet

Notera att dessa attribut inte nödvändigtvis visar på vilka faktorer som spe- lar in mest i valet av energileverantör. Det visar endast vilka attribut som skiljer sig mest åt mellan kommunerna. Dessa attribut kommer på grund av sin höga varians ha stor påverkan på resultatet. Maskinlärningsalgoritmerna kommer ge bättre resultat ju större korrelation det finns mellan dessa demo- grafiska attribut och Energibolagets andel lyckade försäljningar.

4.1.2 Accuracy och χ2

Vid utförande av de olika maskininlärningsalgoritmerna uppnåddes följande resultat. Resultaten i nedanstående tabell visar accuracy för de tre testade algoritmerna och hur väl de presterar vid olika χ2-nivåer. Med χ2-nivå menas antalet attribut som tas med efter utfört χ2-test, med Chi2=5 menas att 5 attribut tas med.

Figur 2: χ2-resultat

Det visar sig tydligt genom denna tabell för det första att de olika algorit- merna presterar på en inbördes jämn nivå och att Chi2-nivån inte påverkar resultatet nämnvärt. Random Forest var den algoritm som presterade bäst, medans SVC var svårtränad och resultaten är överraskande. Resultaten i ovanstående tabell är medelvärden från upprepade iterationer av samtliga

(23)

algoritmer. Medelvärdet är mer representativt för algoritmernas prestation då resultaten är volatila.

4.2 Random Forest

För att undersöka huruvida Energibolagets kundgrupper åtskiljs utfördes först Random Forest -algoritmen på den kunddata som erhållits. Efter upp- repade körningar erhölls en genomsnittlig accuracy på 62%.

I matrisen nedan illustreras en typisk confusion matrix för utfallen av al- goritmen. Från vänster i matrisen är de sanna klasserna från testdatan och nedifrån är de gissade klasserna från testkörningen. Diagonalen från övre vänstra hörnet till nedre högra hörnet är således de fall där algoritmen ger korrekt utfall. Den andra diagonalen är alltså de utfall som är inkorrekt klas- sificerade.

Figur 3: Random Forest Confusion matrix

LM = Lyckad Marknadsexpansion, IM = Ingen Marknadsexpansion

Det kan utläsas från matrisen ovan att algoritmen klassificerar testdatan korrekt i nio fall av elva, vilket alltså utgörs av den ena diagonalen i matri- sen.

(24)

4.3 Naive Bayes

Vidare utfördes sedan tester med Naive Bayes-algoritmen på Energibolagets kunddata. Den genomsnittliga accuracy blev i detta fall 56%. I matrisen nedan illustreras ett genomsnittligt utfall för algoritmen.

Figur 4: Naive Bayes Confusion matrix

LM = Lyckad Marknadsexpansion, IM = Ingen Marknadsexpansion

Datan ur matrisen ovan visar att algoritmen utför korrekta klassificeringar i sju fall av elva. Vilket, i jämförelse med resultaten från Random Forest - algoritmen som presenterades tidigare, är ett klart sämre utfall.

4.4 SVM

Den sista algoritmen var en SVM-algoritm som kallas Support Vector Clas- sification. Resultaten från den algoritmen var under en önskvärd nivå och erhållen accuracy var på den konstanta nivån 55%.

(25)

Figur 5: SVC Confusion matrix

LM = Lyckad Marknadsexpansion, IM = Ingen Marknadsexpansion

Ur matrisen ovan framgår det att algoritmen är svårtränad på den data som fanns att tillgå. Algoritmen klassar alltid all testdata som samma klass, vilket gör att det blir en konstant accuracy på 55%.

(26)

5 Diskussion

Resultaten varierade mellan de olika algoritmerna. Trots att ingen av algo- ritmerna hade en tillräckligt hög accuracy för att betraktas som tillförlitlig var det några algoritmer som hade en bättre accuracy än basfallet.

5.1 Demografins betydelse för försäljningen

Enligt Kilic och Uray (2015) är segment focus en viktig aspekt inom energi- försäljningen. Samtidigt hävdar Rowlands m.fl. (2003) att konsumenterna är villiga att betala mer för grön el. Eftersom Energibolaget inte kan konkurrera med pris är det viktigt att identifiera kunder som kan tänka sig att betala mer för grön energi. Resultatet visar på att den demografiska data som an- vänts i den här studien inte är tillräcklig för att hitta ett samband mellan Energibolagets försäljning och segment focus. Det går heller inte att visa att det inte existerar ett samband mellan kundernas demografiska egenskaper och köpvilja.

5.2 Felkällor

5.2.1 Urval av attribut

Trots att användandet av demografisk data för att hitta elkunder stöds av Kilic och Uray (2015) erhölls inte något övertygande resultat i de olika ma- skininlärningsalgoritmerna. Detta kan bero på att attributen som valts inte representerar kundsegmenten tillräckligt bra och därför inte går att använ- da för att modellera Energibolagets segment focus. Samtidigt är de publika attributen för privata hushåll medan Energibolagets kunder till största del är företagskunder. Urvalet med χ2-testet visar dessutom att resultatet blir bättre när färre attribut används, eftersom vi får en högre accuracy vid an- vändning av färre variabler. Det kan bero på att Random Forest är pålitligare när komplexiteten är lägre. En annan bidragande anledning kan vara att da- tan innehåller en stor andel information som inte har någon direkt koppling till försäljningsresultatet.

(27)

5.2.2 Datamängd

En bidragande faktor till att algoritmerna inte ger ett tillförlitligt resultat är mängden data som används. Eftersom datan om försäljningen som används är en aggregering av den data som finns i CRM-systemet minskar antalet datapunkter. Eftersom datan var indelad efter postnummer i CRM-systemet gick det inte att uppskatta antalet kommuner innan experimentet utfördes, vilket resulterade i en överskattning av antalet datapunkter.

Den accuracy som erhölls mellan olika testiterationer var väldigt volatil, vil- ket tyder på att det dataset som användes var för litet. Om Energibolaget börjar bedriva försäljning i nya kommuner kommer det leda till fler data- punkter, vilket kan ge ett mer enhälligt resultat.

5.3 Förbättringsmöjligheter

Förbättringsmöjligheterna är många när det kommer till utförandet av expe- rimentet. Vid framtida försök bör datamängden vara betydligt större, samti- digt som även attributurvalet bör ses över. Den publika datan som används i det här experimentet består mestadels av demografisk data och framtida ex- periment bör undersöka möjligheten att inkludera data om exempelvis väder och annan icke-demografisk data.

5.4 Skillnad i resultat för olika algoritmer

Det finns flera anledningar till varför algoritmerna ger opålitliga resultat och i flera fall inte lyckas slå basfallet. För det första är SVM-algoritmen svårträ- nad på den givna datamängden. En sådan algoritm kräver större ett större träningsset än vad som fanns att tillgå. Det ledde till att algoritmen enbart gissar på den klass som hade flest punkter i träningsdatan, vilket leder till en accuracy på samma nivå som basfallet enligt Most frequent baseline.

För det andra presterar Random Forest bättre än de övriga algoritmerna eftersom algoritmen drar nytta av den lägre komplexiteten. Då färre attribut används vid klassificering blir komplexiteten lägre och även om de andra två algoritmerna blir lidande ger Random Forest en accuracy som är bättre än basfallet.

(28)

Slutligen är resultatet från Naive Bayes mer svårtolkat än de andra algo- ritmerna. Algoritmens accuracy är, med mycket liten marginal, högre än basfallet. Det vanligaste problemet med Naive Bayes är korrelationen mel- lan attributen. Ett grundantagande för algoritmen är att det inte finns någon korrelation mellan de olika attributen. Troligen finns en korrelation mellan attributen i den här undersökningen, vilket leder till att algoritmen inte får ett önskvärt resultat.

(29)

6 Slutsats

Eftersom resultatet från experimentet inte är tillförlitligt på grund av en för liten datamängd går det inte att dra någon definitiv slutsats kring huruvida publik demografisk data kan användas tillsammans med maskininlärning för att på ett tillförlitligt sätt identifiera nya potentiella kunder för Energibola- get. Trots att något samband mellan demografisk data och konsumenternas köpvilja inte kunde hittas finns det studier som stödjer tesen att det finns andra aspekter än prissättning som påverkar konsumenternas val av energi- bolag, något som bör undersökas närmare av Energibolaget.

Den algoritm som hade bäst accuracy vid identifiering av potentiella kunder var Random Forest. Det betyder dock inte att Random Forest är lämpli- gast för den här sortens problem i framtiden, eftersom datamängdens storlek missgynnade de andra algoritmerna. Om Energibolaget utökar sin kundkrets geografiskt kommer datamängden att utökas och det skulle kunna leda till mer tillförlitliga resultat samtidigt som någon av de andra algoritmerna kan ge en högre accuracy än Random Forest.

(30)

Litteraturförteckning

N. B. Amor, S. Benferhat, and Z. Elouedi. Naive bayes vs decision trees in intrusion detection systems. In Proceedings of the 2004 ACM symposium on Applied computing, pages 420–424. ACM, 2004.

Aptean. Pivotal CRM. http://www.aptean.com/products/pivotal-crm, 2017.

L. Breiman. Random forests. Machine learning, 45(1):5–32, 2001.

G. Chandrashekar and F. Sahin. A survey on feature selection methods.

Computers & Electrical Engineering, 40(1):16–28, 2014.

J. Friedman, T. Hastie, and R. Tibshirani. The elements of statistical lear- ning, volume 1. Springer series in statistics Springer, Berlin, 2001.

J. Frost. Understanding analysis of variance (anova) and the f-test, 2016.

S. R. Gunn et al. Support vector machines for classification and regression.

ISIS technical report, 14:85–86, 1998.

T. K. Ho. A data complexity analysis of comparative advantages of decision forest constructors. Pattern Analysis & Applications, 5(2):102–112, 2002.

F. V. Jensen. Bayesian networks and influence diagrams. Risk Management Strategies in Agriculture; Huirne et al (eds.); Mansholt Studies, pages 199–

213, 1997.

H. T. Kam. Random decision forest. In Proc. of the 3rd Int’l Conf. on Document Analysis and Recognition, Montreal, Canada, August, pages 14–

18, 1995.

A. S. Kilic and N. Uray. Electricity supplier switching: A conceptual model based on migration theory. Journal of Business Economics and Finance, 4(3), 2015.

Y. Kim. Toward a successful crm: variable selection, sampling, and ensemble.

Decision Support Systems, 41(2):542–553, 2006.

H. Liu and R. Setiono. Chi2: Feature selection and discretization of numeric attributes. In Tools with artificial intelligence, 1995. proceedings., seventh international conference on, pages 388–391. IEEE, 1995.

(31)

K. P. Murphy. Naive bayes classifiers. University of British Columbia, 2006.

K. Polat and S. Güneş. A novel hybrid intelligent method based on c4. 5 decision tree classifier and one-against-all approach for multi-class clas- sification problems. Expert Systems with Applications, 36(2):1587–1592, 2009.

L. Rokach and O. Maimon. Top-down induction of decision trees classifiers-a survey. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), 35(4):476–487, 2005.

K. Ron and P. Foster. Special issue on applications of machine learning and the knowledge discovery process. Journal of Machine Learning, 30:

271–274, 1998.

I. H. Rowlands, D. Scott, and P. Parker. Consumers and green electricity:

profiling potential purchasers. Business Strategy and the Environment, 12 (1):36–48, 2003.

Statistiska Centralbyrån. SCB är kvalitetscertifierat, 2014.

V. Vapnik. The nature of statistical learning theory. Springer science &

business media, 2013.

X. Wu, V. Kumar, J. R. Quinlan, J. Ghosh, Q. Yang, H. Motoda, G. J.

McLachlan, A. Ng, B. Liu, S. Y. Philip, et al. Top 10 algorithms in data mining. Knowledge and information systems, 14(1):1–37, 2008.

(32)

7 Appendix

7.1 Tabell 1: SCB

(33)

References

Related documents

Den amerikanska fältstudien inom World Values Survey från 2006 31 och ger en rikhaltig information om amerikaners inställning till religion och politik och hur de samspelar i

Genom att skriva dikt i opposition mot etablerade litterära tekniker och stilgrepp – exempelvis Raattamaa med sitt metonymiska arbetssätt vilket innebär en dikt som inte är

Det är således angeläget att undersöka vilket stöd personalen är i behov av, och på vilket sätt stöd, till personal med fokus på palliativ vård till äldre personer vid vård-

Subject D, for example, spends most of the time (54%) reading with both index fingers in parallel, 24% reading with the left index finger only, and 11% with the right

Faktorerna som påverkar hur lätt vagnen är att manövrera är vikten, val av hjul och storleken på vagnen. Val av material påverkar vikten i stor utsträckning och då vagnen ska

This included, but was not restricted to, the following topics when applied to systems of systems: Autonomous and cooperative systems; Business models, including software

En övergripande fråga gäller behandlingen av det fysiska och det sociala i två åtskilda kapitel: på det stora hela fungerar det, men riskerar det inte att reproducera

Skälet till detta är att även dessa kommunalskatteförändringar kan påverka sysselsättningen direkt och att vi i vår empiriska modell saknar möjligheter att sortera ut