Beslissysteem voor Google Adwords Robin Zagers {
[email protected]} februari 2007
University of Twente Chair Databases Department of Electrical Engineering, Mathematics and Computer Science
Beoordelingscommissie: Dr. Maarten Fokkinga, UT Dr. ir. Djoerd Hiemstra, UT Ing. Peter Schinkel, Gladior
Voorwoord Voor u ligt de afstudeerscriptie van Robin Zagers. De afstudeeropdracht is ter afronding van de studie Technische Informatica, aan de Universiteit Twente. Het onderzoek heeft plaatsgevonden bij Gladior B.V. te Enschede, waar ik meer dan 7 maanden met plezier aan dit onderzoek heb gewerkt. Bij deze wil ik Peter Schinkel, mijn begeleider namens Gladior, bedanken voor deze leuke opdracht en goede begeleiding, en alle collega’s van Gladior voor jullie medewerking en gezellige afstudeerperiode. Begeleiders Maarten Fokkinga en Djoerd Hiemstra, de begeleiders namens de Universiteit Twente, bedankt dat ik altijd kon aankloppen om over het onderzoek en de problemen te discussi¨eren. De discussies, feedback en de georganiseerde studentcolloquia waren erg leerzaam. In het bijzonder bedank ik Sandra en mijn ouders voor hun steun en vertrouwen. Als laatste wil ik Wouter, Hendrik, Kommer en Mischa bedanken voor een gezellige studietijd en hulp bij alle lastige vakken.
Robin Zagers, 5 februari 2007
Samenvatting Adverteren binnen zoekmachines, zoals Google, is een groeiende markt. Gesponsorde links verschijnen naast de resultaten van het trefwoord waar men op zoekt, waardoor doelgericht reclame kan worden gemaakt. Voor veel trefwoorden zijn inmiddels meerdere adverteerders, wat voor een groeiende concurrentie zorgt. Wanneer je als bedrijf een advertentiecampagne van tientallen trefwoorden bezit, is het lastig om dit zelf goed te beheren. Gladior BV beheert voor bedrijven de advertentiecampagnes. Door de hoeveelheid campagnes is het voor Gladior bijna niet meer mogelijk om alle advertenties handmatig goed in te stellen. Het geautomatiseerd beheren van de campagnes is voor Gladior gewenst. Hiervoor is een biedmanagementsysteem ontwikkeld, waarmee het mogelijk is om aan te geven wat de eisen zijn waar de advertentie aan moet voldoen: een minimaal aantal bezoekers per week, een stabiele positie in de rij met adverteerders of een stabiele gemiddelde prijs per klik. Aan de hand van deze eisen kan automatisch de prijs (die de adverteerder voor een advertentie betaalt) verhoogd of verlaagd worden, afhankelijk van het gedrag van de concurrentie op dat moment. De opzet van het biedmanagementsysteem in het kort: per campagne wordt opgevraagd welke advertenties deze bevat. Voor elke advertentie worden de prestaties van de advertentie verzameld. Op basis van deze gegevens wordt de beslissing genomen of er een aanpassing van de huidige instelling nodig is. Wanneer een aanpassing nodig is wordt de nieuwe prijs berekend en wordt deze ge¨ upload. In de volgende alinea’s wordt een nadere toelichting van de opzet van het biedmanagementsysteem beschreven. Via de Google API is het mogelijk om Adwords gegevens te downloaden en te uploaden. De opgevraagde gegevens worden vervolgens in een lokale database opgeslagen, waarna een koppeling met andere systemen mogelijk is. Verschillende applicaties houden deze informatie up-to-date, waardoor het biedmanagementsysteem de gegevens verder kan verwerken. Het verwerken begint met het combineren van de Adwords gegevens met de eisen van de Adwords Professional; de eisen waaraan de advertentie moet voldoen. De eisen kunnen worden uitgedrukt aan de hand van beschikbare indicatoren. Deze lijst van indicatoren kan naar wens worden uitgebreid. Deze informatie wordt opgeslagen in de database met managementinformatie. Voor elke advertentie worden de gestelde eisen opgeslagen waardoor de gegevens op elk moment kunnen worden opgevraagd en gewijzigd. Deze managementinformatie wordt gebruikt om de benodigde gegevens uit de database op te vragen. Met behulp van de geselecteerde gegevens wordt een voorspelling gemaakt voor de volgende periode. Deze voorspelling wordt berekend door middel van het single moving average algoritme. Om aan te tonen dat een afgeleid algoritme, dat voorspellingen maakt, beter presteert dan het single moving average algoritme, zijn veel meer gegevens nodig dan dat op dit moment beschikbaar zijn. Het berekenen van de nieuwe prijs is op verschillende manieren mogelijk. De meest eenvoudige is het verhogen of verlagen van de prijs met ´e´en cent. Voor trefwoorden waarbij meerdere adverteerders ongeveer hetzelfde bedrag bieden heeft deze methode al een grote invloed. Vaak is na ´e´en of twee updates de gewenste situatie opnieuw bereikt. Bij minder adverteerders zijn de prijsverschillen tussen de verschillende posities vaak groter dan een paar cent, waardoor het bereiken van de gewenste situatie meerdere updates vereist. Uit de evaluatie van het prototype, waarin de werkwijze van de Adwords Professional naar een geautomatiseerd proces is omgezet, blijkt dat het beslissysteem voor de beheerde advertentiecampagne een daling van de afstand tot het ingestelde doel realiseert. Daarnaast is het mogelijk om met behulp van verzamelde advertentie- en bezoekersinformatie, optimale instellingen te berekenen. Hiermee kan sneller en nauwkeuriger op de concurrentie gereageerd worden.
Abstract Advertising within search engines, such as Google, is a growing market. Sponsored hyperlinks appear besides the results where one searches for. This makes goal-oriented advertising possible. For many keywords there are several advertisers, this results in a growing competition. When a company wants to advertise on several keywords, it is difficult to manage this well. Gladior manages the advertisementcampaigns for different companies. By the quantity of companies it is almost no longer possible to manage all advertisements by hand. Therefore there is a need for Gladior for an automated system for managing adwords campaigns. For this purpose a bidmanagementsystem has been developed. With this system it is possible to specify the requirements for a specific advertisement: a minimum number of visitors a week, a stable position in the list of advertisers, or a stable average price per click. These requirements determine the boundaries for the price, so that the price can be raised or reduced depending on of the behavior of the competition at that moment. A brief description of the design of the bidmanagementsystem: for each campaign a list of advertisement words (Adwords) is collected. For each Adword the performance is requested. Based on the performance, the decision is made whether it is necessary to adjust the current settings. When an adjustment is necessary the new price is calculated and will be uploaded. In following paragraphs a closer explanation of the design of the bidmanagementsystem is described. The Google API makes it possible to down- and upload Adwords data. The requested data is then stored in a local database, after which a connection with other systems is possible. Several applications keep this information up-to-date, this makes it possible for the bidmanagementsystem to further process the data. Processing the data starts with combining the Adwords-data with the requirements of the Adwords professional; the requirements the advertisement must fulfil. The requirements must be formulated in terms of the available indicators. This list of indicators can be extended. This information is stored in the database with managementinformation. For each Adword the requirements are stored, they can be requested and modified at any moment. The required data from the database is selected using this managementinformation. The selected data is used to make a prediction for the next period. This prediction is calculated using the single moving average algorithm. To prove that a different prediction algorithm has a better result then the single moving average algorithm, more data is necessary than is available at this moment. The new price can be calculated in several manners, the most simple method is raising and reducing the price with one cent. If more advertisers bid the same amount for the same Adword, this method has a large influence. Within one or two updates the desired situation is returned. With less advertisers, the difference between the Adword positions is more than a couple of cents. In this case reaching the aimed situation needs more updates. For evaluating the prototype, the working method of the Adwords professional is converted to an automated process. The evaluation shows that the bidmanagementsystem realizes, for the managed Adwordscampaigns, a decrease of the distance to the indicated goal. The collected Adwords- and visitor information makes it possible to calculate optimal settings per Adword. This can be used to react quicker and more accurate towards other Adwords.
Inhoudsopgave 1 De 1.1 1.2 1.3
opdracht Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Probleemstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opzet van het verslag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 6 7 9
2 Analyse van de huidige omgeving 2.1 Google Adwords . . . . . . . . . . . . . . . . . 2.1.1 Instellingen voor Adwords . . . . . . . . 2.1.2 Adwords gebruik . . . . . . . . . . . . . 2.2 De eMarketingmanager . . . . . . . . . . . . . . 2.2.1 Instellingen voor de eMarketingmanager 2.2.2 eMarketingmanager gebruik . . . . . . . 2.3 Abstracte protocol specificatie . . . . . . . . . . 2.3.1 Adwords-data protocol . . . . . . . . . . 2.3.2 eMarketingmanager-data protocol . . . 2.4 Eisen van Gladior . . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
10 10 10 11 13 13 14 14 14 15 15
3 Ontwerpoverweging 3.1 Beslissystemen . . . . . . . . . . . . . 3.1.1 Beslisproces . . . . . . . . . . . 3.1.2 Modellen voor beslissystemen . 3.2 DSS Configuratie . . . . . . . . . . . . 3.2.1 Data management . . . . . . . 3.2.2 Model management . . . . . . 3.2.3 Knowledge-based management 3.2.4 User interface . . . . . . . . . . 3.2.5 External models . . . . . . . . 3.2.6 Conclusie . . . . . . . . . . . . 3.3 Inbedding in huidige systeem . . . . . 3.3.1 Interoperabiliteit . . . . . . . . 3.3.2 Integratie . . . . . . . . . . . . 3.3.3 Conclusie . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
16 16 16 17 18 20 21 21 22 22 22 23 23 24 24
4 Specificatie 4.1 Synchronisatieapplicatie . . . . 4.1.1 Adwords API . . . . . . 4.1.2 Database schema . . . . 4.1.3 Procedure . . . . . . . . 4.2 DSS - Specificatie . . . . . . . . 4.2.1 Data management . . . 4.2.2 Model management . . 4.2.3 Knowledge management 4.2.4 User interface . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
25 25 25 26 27 28 28 31 34 35
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
4
5 Evaluatie en resultaten 5.1 Evaluatie specificatie . . . . . . . 5.1.1 Methoden evaluatie . . . 5.1.2 Evaluatie ´e´en methode . . 5.2 Resultaten SMA . . . . . . . . . 5.2.1 Wiskundige kenmerken . 5.2.2 Implementatie resultaten 5.2.3 Conclusie . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
36 36 36 37 38 38 40 41
6 Data-analyse 6.1 Instellingen prestatieindicator 6.2 Instellen doelwaarde . . . . . 6.3 Instellen SMA . . . . . . . . . 6.3.1 Geschiedenisperiode . 6.3.2 Marge . . . . . . . . . 6.4 Conclusie . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
42 42 42 43 43 45 46
7 Conclusie en aanbevelingen 7.1 Conclusie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Aanbevelingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Toekomstig onderzoek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47 47 48 48
bibliografie
49
A Begrippenlijst
50
B Testcases B.1 Testcase 1: prestatie indicatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2 Testcase 2: snelheid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.3 Testcase 3: variantie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52 52 52 54
C Kansrekening C.1 Verzameling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.2 Standaardfout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.3 Nauwkeurigheid steekproefgemiddelde . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55 55 55 55
D Tabelstructuur eMM
56
. . . . . .
E SQL E.1 Aantal klikken . . . . . . . . . E.2 Aantal vertoningen . . . . . . . E.3 Kosten . . . . . . . . . . . . . . E.4 Gemiddelde positie . . . . . . . E.5 Aantal unieke bezoekers . . . . E.6 Conversies . . . . . . . . . . . . E.7 Pageviews . . . . . . . . . . . . E.8 Pageviewduur . . . . . . . . . . E.9 Ge¨ınteresseerde unieke bezoeker
. . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
60 60 60 60 61 61 61 62 62 62
Hoofdstuk 1
De opdracht 1.1
Inleiding
Gladior B.V. (Gladior), gevestigd in Enschede, is een zoekmachinemarketing bureau dat gespecialiseerd is in zoekmachine-optimalisatie. Zoekmachine-optimalisatie houdt in dat websites van klanten ‘geoptimaliseerd’ worden, zodat deze websites hoge posities in de zoekmachines behalen en behouden. Door de hoge positie van de website in de zoekmachine neemt het bezoekersaantal van de website toe. Naast het optimaliseren van de websites is het ook mogelijk om op andere manieren bezoekers naar de website te lokken. E´en van de mogelijkheden is het gebruik van internetreclame. Een effectieve manier van internetreclame is het adverteren in een zoekmachine. Zoekmachines waaronder Google, MSN Search en Yahoo! verkopen advertentieplaatsen. Voor elk trefwoord kan een advertentieplaats worden gekocht. Wanneer meerdere adverteerders voor het zelfde trefwoord advertentieruimte kopen wordt de volgorde, waarin de advertenties van de verschillende adverteerders worden getoond, voornamelijk bepaald door de prijs die wordt betaald. Bedrijven die ge¨ınteresseerd zijn in adverteren bij Google kunnen dit doen door middel van Google Adwords. Bedrijven kunnen dit laten opzetten en beheren door ´e´en van de Adwords Professionals bij Gladior. Adwords Professionals zijn opgeleid voor het opzetten en onderhouden van advertentiecampagne’s in Google. Het onderhouden van advertentiecampagnes bestaat uit het toevoegen en verwijderen van trefwoorden, het schrijven van de advertentieteksten, het beheer van de maand- en dagbudgetten van de campagnes en het beheer van de kosten voor elk trefwoord. E´en van de kenmerken van adverteren bij een zoekmachine is dat een advertentie per klik wordt betaald. Het vertonen van de advertentie kost niets, pas wanneer op een advertentie wordt geklikt betaalt de adverteerder. Bij het onderhouden van de advertentiecampagne zorgen Adwords Professionals ervoor dat trefwoorden niet te duur worden, hoge kosten leveren naar verhouding te lage prestaties. Daarnaast bestaat het onderhoud uit de zorg dat de trefwoorden niet te goedkoop zijn, waardoor ze onderaan of helemaal niet in de advertentielijst verschijnen en dat ze niet te duur worden waardoor het budget te snel op gaat. Een advertentie op een hoge positie wordt vaker aangeklikt dan een advertentie op een lage positie, daarom moet continu de balans gezocht worden tussen prijs en prestaties [2]. Om meer inzicht te krijgen in de prestaties en het rendement van een reclamecampagne, is Gladior bezig met de ontwikkeling van de eMarketingmanager. De eMarketingmanager kan op een webpagina
6
HOOFDSTUK 1. DE OPDRACHT
7
ge¨ınstalleerd worden, waarna het klikgedrag van de bezoeker wordt opgeslagen. Met het klikgedrag wordt onder andere bedoeld: de pagina’s die een bezoeker heeft bekeken, de volgorde waarin ze zijn bekeken en de tijd dat een bezoeker op een pagina doorbrengt. Met behulp van de eMarketingmanager is het mogelijk om de prestaties van de trefwoorden beter te beoordelen. Waar de Adwords Professionals zonder eMarketingmanager met het aantal kliks, vertoningen, gemiddelde positie en kosten (de beschikbare Adwords-gegevens) de prestaties van een advertentie beoordeelt, geeft de extra informatie van de eMarketingmanager na installatie inzicht of de bezoekers werkelijk iets opleveren. Het opzoeken en interpreteren van de informatie van de eMarketingmanager kost echter veel tijd en daarnaast is deze informatie slechts voor enkele Adwords-campagnes ge¨ınstalleerd. Om deze redenen wordt deze extra informatie nu nog weinig gebruikt. In de toekomst wil Gladior meer advertentiecampagnes voor bedrijven gaan beheren. Daarmee krijgen de Adwords Professionals minder tijd voor het beheren en bijstellen van de advertentieprijzen. Zo is het idee voor een biedmanagementsysteem ontstaan, en daaruit ook deze afstudeeropdracht. Een biedmanagementsysteem moet beslissen welke advertentieprijs moet worden geboden op een advertentietekst. Deze beslissing kan genomen worden op basis van dezelfde informatie die de Adwords Professionals nu ook gebruiken: de informatie die Google geeft (Adwords-gegevens) en wanneer mogelijk, de informatie van de eMarketingmanager. Ook voor de extra informatie van de eMarketingmanager geldt dat continue gezocht wordt tussen een goede prijs prestatie verhouding. In deze afstudeeropdacht is onderzocht of het mogelijk is een biedsysteem te maken, welk ontwerp hiervoor geschikt is en hoe dit ge¨ımplementeerd zou moeten worden. Dit verslag beschrijft het onderzoek, het ontwerp en de evaluatie.
1.2
Probleemstelling
De probleemstelling voor dit onderzoek is als volgt geformuleerd: “Op welke manier kan een advertentiecampagne geautomatiseerd worden bijgestuurd en verbeterd?” De kernwoorden in de probleemstelling zijn het automatiseren, het bijsturen en het verbeteren. Het automatiseren van een advertentiecampagne houdt onder andere in dat de beschikbare Google Adwords API wordt gebruikt voor het down- en uploaden van Adwords-gegevens, zonder handmatig handelingen te hoeven uitvoeren. Het bijsturen van de advertentiecampagne houdt in dat er kleine aanpassingen aan de (door de Adwords Professional ingestelde) prijs per woord of advertentie moeten worden gemaakt, om zo elke advertentie de komende week aan de gestelde doelen cq. eisen te laten voldoen. Het verbeteren van de campagne houdt in dat, door de instellingen per advertentie te optimaliseren, er voor de hele campagne een verbetering optreedt. De probleemstelling is onderzocht aan de hand van de volgende onderzoeksvragen: 1. Op welke manier wordt handmatig een advertentiecampagne bijgestuurd? 2. Welke factoren be¨ınvloeden de beslissing van de Adwords Professional voor het maken van aanpassingen? 3. Hoe zijn deze factoren en beslissingen te verwerken naar een geautomatiseerd proces? 4. Op welke manier is een verbetering van een advertentiecampagne mogelijk? Deze onderzoeksvragen aan de hand van de volgende punten uitgewerkt:
8
HOOFDSTUK 1. DE OPDRACHT
Analyse In de analyse wordt de omgeving beschreven waarbinnen een biedmanagementsysteem moet functioneren. De analyse bestaat uit een beschrijving van Google Adwords, de instellingen die de Adwords Professionals maken en de beschikbare gegevens van de Adwords. Er wordt ingegaan op de eigenschappen en kenmerken van de eMarketingmanager en op welke manier deze door de Adwords Professionals gebruikt wordt. Ontwerp & specificatie Vanuit de gegevens uit de analyse wordt gezocht naar de mogelijkheden voor een geschikte architectuur voor een biedmanagementsysteem. Deze architectuur wordt uitgewerkt in een specificatie. Om de belangrijke en essenti¨ele onderdelen van dit ontwerp te kunnen evalueren en testen is een ‘prototype-systeem’ nodig. Dit prototype is geen complete uitwerking van het systeem, maar een minimale opzet en uitwerking van het ontwerp. De uitkomsten van de verschillende deelonderzoeken zullen beschrijven hoe de ontbrekende onderdelen van het prototype ge¨ımplementeerd dienen te worden, en welke aanpassingen er in de specificatie nodig zijn. Een deel van de implementatie van het prototype bestaat uit een protocolimplementatie van het Adwords API protocol. Dit deel van het onderzoek en implementatie is beschreven volgens figuur 1.1. abstract protocol specification
available implementation facilities
Step 1: refinement of protocol specification
Step 2: adaptation of implementation environment
detailed specification
adjustments and additions Step 3: code generation
Step 4: testing
detailed specification
Figuur 1.1: opzet van een protocolimplementatie methodologie [7]
Evaluatie Met behulp van het prototypesysteem wordt de evaluatie uitgevoerd. Het systeem wordt getest met behulp van een werkelijke advertentiecampagne, om te bekijken of de ingevoerde doelen worden bereikt. Data-analyse Om een steeds intelligenter systeem te verkrijgen zullen de vooraf gemaakte instellingen steeds meer worden vervangen door optimalisatie berekeningen. Met behulp van de verzamelde gegevens wordt gekeken welke instellingen van de Adwords Professional geautomatiseerd zouden kunnen worden. Zodat het systeem steeds ‘slimmer’ wordt en de invloed van de Adwords Professional steeds minder. Op deze manier zou een ‘verbetering’ van de advertentiecampagne gemaakt kunnen worden. Conclusie & aanbevelingen Vervolgens wordt een conclusie gegeven welke eigenschappen van de specificatie aangepast moet worden en wat de verdere mogelijkheden zijn voor een biedmanagementsysteem.
HOOFDSTUK 1. DE OPDRACHT
1.3
9
Opzet van het verslag
Voor de opzet van het verslag is geprobeerd om de structuur van het onderzoek te volgen. Zoals in figuur 1.1 te zien is, zijn de eerste twee stappen parallel waardoor er in het onderzoek een continue wisselwerking tussen de mogelijkheden en het verfijnen optreden. Voor dit verslag is gekozen om eerst de gehele analyse (available implementation facilities en abstract protocol specification) te beschrijven - hoofstuk 2. Algemene informatie over Google Adwords en de eMarketingmanager van Gladior. In hoofdstuk 3 worden de mogelijkheden besproken (adjustments and additions), waarna in hoofdstuk 4 een gedetailleerde specificatie van het ontwerp wordt beschreven (detailed specification). In het hoofdstuk Evaluatie staat beschreven op welke wijze het gehele ontwerp ge¨evalueerd kan worden. De theoretische mogelijkheden voor een evaluatie worden besproken, waarbij ´e´en onderdeel is uitgewerkt met een praktisch voorbeeld. In dit voorbeeld wordt de nauwkeurigheid en snelheid bepaald aan de hand van een theoretisch model en is de ge¨ımplementeerde versie getest op een werkelijke campagne. Het beschreven ontwerp is ge¨ımplementeerd in een prototype (code generation) waarna verder onderzoek is gedaan naar de gebruikte variabelen en het evalueren (testing) van deze variabelen op betrouwbaarheid van de resultaten (hoofdstuk 5). De onderzoeksvragen komen in de verschillende hoofdstukken aan bod, geprobeerd is om de handelingen van de Adwords Professionals als uitgangspunt te nemen. In de analyse en het ontwerp van de beslisprocessen (hoofdstuk 2 en 3), waardoor het geautomatiseerde proces (hoofdstuk 3 en 4) dezelfde handelingen uitvoert als de Adwords Professional, op het gebied van het omhoog of omlaag bijstellen van de maximale kosten per klik. Daarna is dit als uitgangspunt genomen, om te kijken of de aanpassingen en keuzes wel realistisch zijn en op welke manier een verbetering ten opzichte van dit proces kan worden gemaakt (hoofdstuk 4 en 5).
Hoofdstuk 2
Analyse van de huidige omgeving In dit hoofdstuk wordt omschreven wat een Adwords-campagne inhoudt, welke instellingen er gemaakt kunnen worden en op welke manier een Adwords Professional een Adwords campagne beheert. Vervolgens staat beschreven wat de eMarketingmanager aan informatie opslaat, op welke manier deze informatie door een Adwords Professional wordt gebruikt, en de eisen die Gladior stelt aan het biedmanagementsysteem.
2.1
Google Adwords
Google Adwords is een eenvoudige manier om doelgerichte advertentieruimte te kopen. De advertenties worden betaald per klik, wanneer op een advertentie wordt geklikt betaalt de adverteerder. Adwords-advertenties worden weergegeven op de pagina met zoekresultaten. De Adwords-advertenties (de gesponsorde koppelingen) verschijnen boven en naast de normale zoekresultaten. De positie van de trefwoordgerichte advertenties op de resultatenpagina wordt bepaald op basis van de maximale kosten per klik (CPC, cost per click) en een kwaliteitsscore. De kwaliteitsscore wordt bepaald aan de hand van de klikfrequentie (CTR, clickthrough rate), de relevantie van de advertentietekst, de prestatiegeschiedenis van het trefwoord en andere onbekende factoren [4]. Google houdt deze factoren geheim, ze zijn echter wel bepalend voor de postitie van de advertenties. Dit is duidelijk te zien wanneer enkele malen achterelkaar van hetzelfde trefwoord de advertenties worden bekeken. Het valt dan op dat de volgorde van de advertenties elke keer verandert. Dit betekent dat een advertentie niet op een gehele positie staat, maar gemiddeld rond een positie. De enige variabele voor het bepalen van de positie waar de adverteerder invloed op heeft is de maximale CPC. In het algemeen geldt dat bij een hogere maximale CPC de positie stijgt, en bij een lagere maximale CPC de positie daalt [2]. Daarnaast maak Google gebruik van een bid discounter, zodat nooit meer wordt betaald voor een klik dan nodig is. De bid discounter houdt in dat er ´e´en cent meer wordt betaald dan de concurrent, die op dat moment onder de advertentie staat, als maximale CPC heeft ingesteld. Om deze reden is de werkelijke CPC lager dan de ingestelde maximale CPC. Voor elk trefwoord is het verschil met de ingestelde maximale CPC weer anders.
2.1.1
Instellingen voor Adwords
Voor het opzetten van een advertentiecampagne moeten veel instellingen ingevoerd worden. Dit wordt gedaan door een Adwords Professional. Een advertentiecampagne bevat advertentiegroepen, een advertentiegroep bevat een of meerder advertentieteksten en een advertentiegroep bevat trefwoorden met een 10
11
HOOFDSTUK 2. ANALYSE VAN DE HUIDIGE OMGEVING Gladior
advertentiecampagne
advertentiegroep
advertentie
advertentiecampagne
advertentiegroep
advertentie
advertentie
advertentiecampagne
. . . .
. . . .
. . . .
advertentiegroep
advertentie
Figuur 2.1: boomstructuur adwords campagne maximale prijs per klik. • Per campagne wordt opgeslagen wie de eigenaar is, wat het budget van de campagne is en of de campagne geactiveerd is of niet. • Per advertentiegroep kunnen meerdere advertentieteksten worden gemaakt. De advertentietekst komt onder het trefwoord te staan en bestaat uit twee regels tekst waarin een korte uitleg kan worden gegeven. • Per advertentiegroep kan worden aangegeven wat de standaardinstelling voor de maximale kosten per klik is en ook weer of de advertentiegroep geactiveerd is of niet. • Een advertentiegroep bestaat uit een of meerdere trefwoorden, per trefwoord kan worden aangegeven wat de maximale CPC (kosten per klik) is, wat de bestemmings-URL1 is en of het trefwoord geactiveerd is of niet. • Naast de trefwoorden per advertentiegroep bestaan er ook nog negatieve trefwoorden. Met negatieve trefwoorden kun je aangeven dat voor alle woorden in de advertentiegroep je juist niet gevonden wilt worden in alle zoekopdrachten waarin dit woord voorkomt. (Negatieve trefwoorden zijn bijvoorbeeld: ‘gratis’, ‘mp3’ of ‘sex’.) Figuur 2.1 laat een vereenvoudigde weergave zien van de samenhang van bovenstaande kenmerken.
2.1.2
Adwords gebruik
De voortgang en de prestaties van een advertentiecampagne wordt door de Adwords Professionals beoordeeld. Wanneer een geactiveerde campagne minimaal een dag heeft ‘gelopen’, zijn voor de trefwoorden statistische gegevens op te vragen. Dit kan alleen voor een periode van minimaal 1 dag en is niet beschikbaar voor negatieve trefwoorden. Met behulp van de prestatieindicatoren kan een advertentiecampagne worden beoordeeld. Voor de volgende prestatieindicatoren kunnen gegevens worden opgevraagd: • het aantal vertoningen 1 De
specifieke Web-pagina die een bezoeker uiteindelijk na het klikken van een advertentie bereikt.
12
HOOFDSTUK 2. ANALYSE VAN DE HUIDIGE OMGEVING • • • • •
het aantal klikken de kosten de gemiddelde positie de CTR (clickthroughrate, aantal kliks per vertoning) de CPC (kosten per klik)
De onderste twee indicatoren bevatten geen nieuwe informatie, omdat deze worden berekend uit de andere indicatoren. De waarde van de indicatoren geven inzicht in de prestaties van de advertentie. De Adwords Professional bekijkt welke woorden populair zijn, op welke positie ze staan en hoeveel de hele campagne kost. Voor trefwoorden die te laag staan, wordt een opzoeken trefwoord hoger bedrag ingesteld en hoog geplaatste trefwoorden in de campagne kunnen eventueel in prijs worden verlaagd. De Adwords Professional maakt vooral gebruik van opvragen de indicator ‘gemiddelde positie’ en de indicator ‘kosten statistische informatie per klik’ van een trefwoord. Hiervoor geldt dat de pres(prestatie indicatoren) taties van ´e´en dag minder bruikbare inzichten geven dan de prestaties van meerdere dagen. In de meeste situaties wordt gebruik gemaakt van het weekgemiddelde. nieuwe [nee] gegevens De beslissingen die de Adwords Professional neemt beschikbaar? aan de hand van de Adwords indicatoren staan schema[ja] tisch weergegeven in figuur 2.2. Daarin is te zien dat de er bepaalde expertkennis bij de Adwords Professionals aanwezig is; deze bestaat uit een combinatie van wensen van klanten en ervaring. Deze kennis en ervaring geeft de Adwords Professional inzicht over de ideale positie of ideale CPC en wat een trefwoord maximaal mag kosten. In deze figuur speelt de expertkennis een grote rol. In boeken [2, 5, 8] en op internet [9, 6] staan vele manieren beschreven hoe een adwords campagne het beheerd moet worden, en daarnaast heeft de Adwords Professional zijn gebruikerservaring om specifieke situaties in te schatten. Een deel van de expertkennis is echter gebaseerd op het juist instellen of beoordelen van de indicatoren. Hier zijn enige voorbeelden op welke manier het doel of de beperkingen van een advertentiecampagne kunnen worden bepaald:
expertkennis
beoordelen prestaties
trefwoord maximale CPC aanpassen?
[nee]
[ja]
berekenen max CPC
aanpassen max CPC
wachten
Vaststellen maximale biedprijs door middel van Figuur 2.2: flowchart Adwords Professional het budget Op basis van een dagbudget een maximale voor Adwords-data biedprijs instellen. Deze moet dan zo constant mogelijk worden gehouden. ROAS (Return on Advertising Spend) Maximale kosten per klik instellen op basis van de gemaakte inkomsten uit de internetreclame.
HOOFDSTUK 2. ANALYSE VAN DE HUIDIGE OMGEVING CPA (Cost per Acquisition)
13
Maximale kosten per klik instellen op basis van de kosten per acquisitie.
Bepalen ideale positie Literatuur [2] geeft aan dat een positie tussen de 2 en 5 een goede prijs/kwaliteit verhouding heeft. Wanneer de positie afwijkt wordt een aanpassing in de prijs gemaakt. Om dit te realiseren gebruikt de Adwords Professional een aantal vuistregels waarmee de advertenties op de juiste plaats kan worden gehouden. Advertentiepostitie omhoog: verhogen met een bedrag tussen 0 en 10 cent, adverentiepositie omlaag: verlagen met 1 cent onder de werkelijke CPC.
2.2
De eMarketingmanager
Met behulp van de eMarketingmanager wordt inzichtelijk hoe bezoekers de website vinden en wat ze op de website doen. Het gedrag en effect van de bezoekers die zijn doorverwezen via advertenties, zoekmachines en e-mailberichten wordt hiermee inzichtelijk. Van elke bezoeker kan worden opgevraagd via welke referentiepagina’s de website is gevonden en welke pagina’s op de website zijn bekeken. Met behulp van de eMarketingmanagerapplicatie is op te vragen op welke tijdstippen deze bezoeker eerder de website heeft bekeken en welke pagina’s er daarna zijn opgevraagd. Van elke opgevraagde webpagina wordt opgeslagen hoe lang de bezoeker op de pagina aanwezig is, via welk pad de pagina is bezocht en de gemaakte omzet en opbrengsten door het bekijken van de pagina. Er wordt van elke bezoeker apart bijgehouden of er zogenaamde ‘conversie’-pagina’s zijn bezocht. Deze pagina’s worden alleen bezocht wanneer de bezoeker een gewenste actie uitvoert; een conversie. Dit is bijvoorbeeld: het kopen van een product, het downloaden van een nieuwsbrief of het achterlaten van een telefoonnummer of adres. De conversieverhouding (totale aantal verkopen per klik) is een veelgebruikte methode om het succes van een campagne te bepalen. Daarnaast wordt informatie over de bezoeker zelf opgeslagen waaronder welk type browser – Internet Explorer, Mozilla, Opera, etc. – gebruikt is en vanuit welk land de bezoeker (zeer waarschijnlijk) de site heeft opgevraagd. De eMarketingmanager is zo ontworpen dat er statistische overzichten kunnen worden gemaakt van de gegevens. Niet alleen de informatie van de bezoekers is op te vragen, ook gedetailleerde informatie over de site wordt verzameld. Zo kan bijvoorbeeld snel worden opgevraagd wat het percentage bezoekers is dat van een specifiek domein komt of wat de meest bezochte pagina van de website is. De eMarktingmanager is nog in ontwikkeling en is alleen op enkele ‘pilot’-sites ge¨ınstalleerd. Van deze ‘pilot’-sites is op dit moment de internetpagina van Gladior de enige pagina die ook een Adwords campagne heeft. Bij het begin van het onderzoek was er de intentie om de eMarketingmanager bij meer bedrijven te installeren, maar om technische redenen is dit niet mogelijk geweest. Erg veel gegevens zijn dus niet beschikbaar voor verder onderzoek naar de eigenschappen van deze data. Het onderzoek zal dan ook voornamelijk gericht zijn op de Google Adwords gegevens. Er is wel rekening mee gehouden dat deze data in de toekomst beschikbaar zal komen, of dat deze gegevens met behulp van andere applicaties wordt verkregen. E´en van de mogelijkheden hiervoor is Google’s Analytics. Deze applicatie werkt op een soortgelijke manier, en houdt vergelijkbare gegevens bij. Gladior heeft echter de voorkeur en meer vertrouwen in de eigen ontwikkelde applicatie.
2.2.1
Instellingen voor de eMarketingmanager
Om de eMarketingmanager te installeren dient er javascript-code op iedere pagina van de website ge¨ınstalleerd te worden. Dit zorgt ervoor dat bij het opvragen van de webpagina de gegevens kunnen worden uitgelezen en doorgestuurd.
HOOFDSTUK 2. ANALYSE VAN DE HUIDIGE OMGEVING
2.2.2
14
eMarketingmanager gebruik
De resultaten van de eMarketingmanager gaan voornamelijk over het aantal bezoekers van een website en van welk domein deze afkomstig zijn. Wanneer de eMarktingmanager is ge¨ınstalleerd op een website waarop opzoeken trefwoord ook een Adwords-campagne actief is, dan kan via de eMarketingmanager in de eMarketingmanager het aantal conversies en het aantal bezoekers worden opgevraagd dat via de advertentiecampagne is binnengekomen. opvragen statistische Op basis van deze bezoekers- en conversiegegevens besluit een Adwords informatie (prestatie indicatoren) Professional of dit de totale kosten voor de advertentie waard is. De beslissingen die de Adwords Professional neemt aan de hand van de eMarketingmanager gegevens staan schematisch weergegeven in figuur 2.3. nieuwe [nee] Hierin is te zien dat de expertkennis van de Adwords Professionals wordt gegevens beschikbaar? bijgewerkt. Deze expertkennis wordt gebruikt voor het bijsturen van de Ad[ja] wordsgegevens zoals dit is besproken in 2.1.2 en in figuur 2.2 is weergegeven. Zoals in paragraaf ’Adwords gebruik’ wordt vermeld is de expertkennis expertkennis een belangrijk onderdeel. Ook in dit geval gaat het om het instellen en beupdaten oordelen van de advertenties op basis van indicatoren. De indicatoren die beschikbaar zijn in de eMarketingmanager zijn echter niet zo duidelijk gedefinieerd als bij de Adwords. De bezoekers- en conversiegegevens kunnen wachten worden opgevraagd, maar er kan niet worden opgevraagd vanaf welke specifieke advertentie deze is gekomen. Voor de ‘dure’ trefwoorden (er zijn binnen de campagnes een aantal adverFiguur 2.3: flowchart Adtenties die meer dan 1,50 euro per klik kosten), speelt de conversieinformatie words Professional voor een grote rol. Wanneer blijkt dat de totale kosten van een advertentie hoger eMarketingmanager-data zijn dan dat deze oplevert aan conversies, dan wordt de bovengrens voor de maximale CPC die de advertentie waard is naar beneden bijgesteld. Het is dan mogelijk dat de advertentie niet meer op de gewenste positie uitkomt, maar als de advertentie in die positie teveel geld kost is er geen andere keuze.
2.3 2.3.1
Abstracte protocol specificatie Adwords-data protocol
Voor het opzetten en beheren van de advertentiecampagnes stelt Google een webapplicatie beschikbaar. Via de URL https://adwords.google.com kan na inloggen alle advertentiecampagnes worden bekeken en alle instellingen voor de advertentiecampagne worden gemaakt. Naast de internetpagina waar alle aanpassingen gemaakt kunnen worden, is er ook een Application Programming Interface (API) beschikbaar. Via deze API is het mogelijk om onder andere de instellingen voor campagnes, advertentiegroepen en trefwoorden te beheren. De Adwords API kan gebruikt worden via het Simple Object Access Protocol (SOAP), een XML- en HTTP-gebaseerd protocol. Met behulp van SOAP is het mogelijk om de communicatie met de Adwordsdatabase geheel geautomatiseerd te maken. Om Adwords accounts met een applicatie te besturen, dient er een web service-client gemaakt te worden die gebruik maakt van de Adwords API [3]. De Adwords API werkt met een quota systeem; elke keer dat er een verbinding wordt gemaakt worden credits afgeschreven. Voor deze credits moet worden betaald.
HOOFDSTUK 2. ANALYSE VAN DE HUIDIGE OMGEVING
2.3.2
15
eMarketingmanager-data protocol
Er wordt veel meer informatie opgeslagen in de eMarketingmanager dan door de Adwords Professionals via de eMarketingmanager-applicatie kan worden gebruikt. De specifieke bezoekersinformatie is wel opgeslagen in de database, maar niet direct beschikbaar voor de Adwords Professionals. Echter, deze gegevens zijn wel om te zetten naar bruikbare advertentiestatistieken. Voor de eMarketingmanager is geen protocolspecificatie beschikbaar. Om deze specifieke advertentieinformatie beschikbaar te maken, dient er een MySQL databaseconnectie gemaakt te worden om de gegevens op te vragen. Op welke manier de communicatie moet plaatsvinden met de eMarketingmanagerdata wordt in hoofstuk 4 toegelicht.
2.4
Eisen van Gladior
Gladior wil een biedsysteem waarmee de advertentiecampagnes in Google beheerd kunnen worden, en stelt daaraan de volgende eisen: • Het systeem moet beslissingen nemen over de in te stellen maximale kosten per klik. • De beslissing moet gemaakt worden met: – de indicatoren van Google Adwords en – indien mogelijk de extra informatie van de eMarketingmanager. • Het systeem moet gebruik maken van de Google API om de statistische informatie te downloaden en de in te stellen maximale kosten per klik te uploaden. • Er moet een prototype gemaakt worden waarmee getest kan gaan worden en op basis waarvan beslist wordt, of met de ontwikkeling van zo’n systeem moet worden doorgegaan. Naast de eisen voor het systeem, heeft Gladior ook bepaald welke technieken er gebruikt worden. • Voor de opslag zal er gebruik gemaakt worden van een MySQL databasemanagementsysteem. • Voor te ontwikkelen applicaties en scripts wordt gebruik gemaakt van platform onafhankelijke programmeertalen, PHP en Perl.
Hoofdstuk 3
Ontwerpoverweging Het te ontwerpen biedmanagementsysteem bestaat voornamelijk uit het nemen van beslissingen. Dit hoofdstuk zal beschrijven welke factoren bij de beslissing betrokken zijn en op welke manier deze systematisch verwerkt kunnen worden. Het beslispad dat de Adwords Professional doorloopt zal een belangrijke basis zijn voor de architectuur. Architecturen of ontwerppatronen worden gebruikt om ongestructureerde problemen op te kunnen delen in kleinere deelproblemen, zodat voor deze kleinere onderdelen een zo goed mogelijk werkende oplossing kan worden gemaakt. De kernpunten uit de analyse, waar het ontwerp aan moet voldoen zijn: • procesmatige aanpak van de Adwords Professional • uitbreiding van de Adwords’ indicatorgegevens met informatie uit de eMarketingmanager
3.1
Beslissystemen
Het maken van beslissingen is een proces waarbij uit verschillende mogelijkheden gekozen moet worden om een doel te bereiken. Verschillende soorten management support systemen (MSS) kunnen als basisarchitectuur dienen voor de opzet van een systeem, afhankelijk van de structuur van het te automatiseren proces. Gestructureerde processen zijn typische herhalende problemen waarvoor standaardoplossingen bestaan, ongestructureerde processen zijn complexe problemen waarvoor geen kant-en-klare oplossingen bestaan [10]. Een systeem is een verzameling van objecten zoals mensen, bronnen, concepten en procedures, met de bedoeling een vastgestelde functie uit te voeren om een doel te bereiken. Systemen kunnen ge¨evalueerd en geanalyseerd worden door naar de effectiviteit en effici¨entie te kijken. Maatgevend voor de effectiviteit is de mate waarin doelen worden bereikt. Maatgevend voor de effici¨entie is dit het gebruik van input, of bronnen (zoals geld of credits) om output te genereren.
3.1.1
Beslisproces
Het beslisproces bestaat uit het beoordelen van verschillende mogelijkheden om een doel te bereiken. Het beoordelen van de verschillende mogelijkheden door een beslissysteem kan worden gerealiseerd door het ontwerpen van een Decision Support System (DSS). Hierbij wordt het probleem in meerdere deelproblemen opgedeeld, en zal voor de verschillende onderdelen via modellen de beslissingsprocedure worden nagemaakt. Over de precieze definitie van een DSS en aan welke eigenschappen deze moet voldoen, bestaan er verschillende meningen. De overeenkomende gedachte is wel dat een DSS er voor is om ‘besluitvoering te 16
HOOFDSTUK 3. ONTWERPOVERWEGING
17
ondersteunen en te verbeteren’ [10]. Naast DSS’s zijn er andere computergestuurde onderzoeksmethoden, deze verschillen in de mate van intelligentie en aanpassingsvermogen aan de omgeving. Oplopend in complexiteit zijn er architecturen beschreven voor: Transaction Processing Systems, Management Information Systems, Decision Support Systems, Expert Systems, Executive Information Systems, Neural Computing en Knowledge Management Systems. Een DSS vormt de basis van expertsystemen en neurale netwerksystemen, waarbij de belangrijkste cq. bepalende onderdelen van het beslisproces door bijvoorbeeld een neuraal netwerk worden gemodelleerd. Een Management Information System is niet ontworpen voor het maken van beslissingen. Een beslissysteem (ofwel: DSS) is een geoorloofd beginpunt voor het maken van een biedmanagementsysteem, zonder het direct te complex te maken. Daarna kunnen de componenten zover worden uitgewerkt en verfijnd dat er sprake is van een intelligent beslissysteem (IDSS Intelligent Decision Support System).
3.1.2
Modellen voor beslissystemen
E´en van de kenmerken van een systeem dat beslissingen maakt, is dat deze voor een deel bestaat uit modellen, een versimpelde representatie van de werkelijkheid. De werkelijkheid wordt versimpeld weergegeven omdat vaak veel van de complexiteit onnodig is om het probleem op te lossen. Er zijn verschillende methoden mogelijk om het probleem te modelleren. Dit kan door gebruik te maken van modellen die gebruik maken van: • • • •
trial-en-error simulatie heuristieken optimalisatie
Trial-and-error In een trial-and-error systeem wordt geleerd door experimenten in de echte wereld. Het heeft als nadeel dat het erg langzaam werkt. Trial and errorsystemen werken minder goed in situaties waar er veel verschillende mogelijkheden zijn om te kiezen (veel trials), of wanneer de kosten voor het maken van fouten erg hoog is, of als de omgeving blijft veranderen waardoor de beste oplossing nooit wordt gevonden. Simulatie Simulaties zijn geschikt in situaties waarin in het verleden gemaakte keuzes / verschijnselen, en de veroorzaakte effecten in een datawarehouse worden bijgehouden. Met deze gegevens kunnen de beslissingen die in de verschillende situaties gemaakt zijn, gebruikt worden voor simulaties. Hiermee is het mogelijk om in korte tijd de effecten van veel situaties in te schatten. Optimalisatie Optimalisatieproblemen kunnen door wiskundige formuleringen worden beschreven en opgelost. Een optimalisatiemodel beschrijft de benodigde input, de gewenste output en de wiskundige samenhang op een exacte manier. Ongestructureerde problemen missen een logisch verband tussen input en output, waardoor optimalisatie niet voor het probleem als oplossing mogelijk is. Vaak kan een ongestructureerd probleem wel worden opgedeeld in deelproblemen, waarvan sommige delen gestructureerd genoeg zijn om door optimalisatieberekeningen opgelost te kunnen worden. Heuristieken Heuristische modellen bestaan uit enkele regels die beslissingen defini¨eren. Deze regels worden door experts aangeleverd, of door trial-and-error bepaald. Heuristieken kunnen erg effectief zijn, maar geven geen garantie voor het verkrijgen van een optimale oplossing.
18
HOOFDSTUK 3. ONTWERPOVERWEGING
Other computer based systems
Internet, intranets, extranets
Data: internal and external
Data management
Model management
External models
Knowledge-based subsystems
User interface
Knowledge base
Manager (user)
Figuur 3.1: een schematische weergave van DSS
3.2
DSS Configuratie
Decision Support Systems kunnen worden gemaakt in zeer veel verschillende uitvoeringen; dit hangt af van het type beslissingen, het beheer van het systeem en de specifieke beschikbare technologie¨en. Denk aan verschillen tussen team/individueel gebruik, dagelijks/jaarlijks gebruik, web-based/stand alone, etc. Het systeem zal echter altijd bestaan uit vier basiscomponenten: data, modellen, kennis en user interface [10]. Daarbij wordt elk van de componenten door software beheerd. Een schematische weergave van een DSS is weergegeven in figuur 3.1. Elk van de deelsystemen wordt verder toegelicht in de volgende paragrafen. Per deelsysteem wordt gekeken op welke manier de wensen en eisen voor het biedmanagementsysteem gerealiseerd kunnen worden. De beslissingen van de Adwords Professional zijn opgedeeld in de verschillende componenten van het DSS. Het opzoeken van de trefwoorden en de bijbehorende gegevens is onderdeel van het data management, en het beoordelen van de prestaties en aanpassingen in de prijs is onderdeel van het model management. De manier waarop de prestaties worden beoordeeld is afhankelijk van de kennis van de expert, deze expert-kennis zorgt voor aanpassingen van de instellingen voor de beoordelingen. In de flowcharts figuren 3.2 en 3.3 is aangegeven hoe de verschillende componenten van de DSS architectuur in het biedmanagementsysteem een rol spelen, en in welke componenten de acties en keuzes van de Adwords professional terug komen. De doorlopen procedure zal ook voor het biedmanagementsysteem worden aangehouden; in elke component zal aan bod komen waarvoor dit onderdeel verantwoordelijk is.
19
HOOFDSTUK 3. ONTWERPOVERWEGING DBMS
opzoeken trefwoord in de campagne
opvragen statistische informatie (prestatie indicatoren)
[nee]
nieuwe gegevens beschikbaar?
DBMS
[ja]
opzoeken trefwoord in de eMarketingmanager
KBMS expertkennis
MBMS
beoordelen prestaties
opvragen statistische informatie (prestatie indicatoren) trefwoord maximale CPC aanpassen?
[nee]
[ja]
[nee]
nieuwe gegevens beschikbaar?
berekenen max CPC [ja] KBMS aanpassen max CPC
DBMS
expertkennis updaten
MBMS
wachten
MBMS wachten
Figuur 3.2: flowchart Adwords Professional voor Adwords-data, in combinatie met de DSScomponenten DB (Database), MB (Modelbase) en KB (Knowledgebase)
Figuur 3.3: flowchart Adwords Professional voor eMarketingmanager-data, in combinatie met de DSS-componenten DB (Database), MB (Modelbase) en KB (Knowledgebase)
HOOFDSTUK 3. ONTWERPOVERWEGING
3.2.1
20
Data management
Het data management deelsysteem bestaat uit een extractie van de gegevens uit externe bronnen. Een interne database biedt ondersteuning voor het database management system (DBMS). Daarnaast staat in het DBMS beschreven welke queries er beschikbaar zijn, en welke type gegevens er in de database staat opgeslagen. De Adwords gegevens en de eMarketingmanager gegevens zijn de externe databases voor het DSS. Hiervan worden de gegevens opgevraagd en verder verwerkt in het DBMS. De interne database kan gebruikt worden voor het opslaan van instellingen binnen het DSS, maar ook voor het bijhouden van gemaakte beslissingen. In vergelijking met de analyses van de Adwords Professional zoals deze is weergegeven in figuur 3.2, is de data management component verantwoordelijk voor het selecteren en kunnen opvragen van de statistische informatie (de prestatieindicatoren). De Adwords Professional maakt, zoals in hoofdstuk 2 staat beschreven, gebruik van de prestatieindicatoren: kliks, impressies, positie, kosten, conversie, etc. Om te bepalen welke gegevens opgevraagd moeten worden zal eerst beschreven worden welke gegevens interessant zijn om op te vragen. Voor het kunnen beoordelen van deze prestaties is literatuur van Peterson gebruikt [6]. Hierin staan de ‘key performance indicators’ beschreven; welke gegevens een goede indicatie geven van de prestaties van de internetpagina. Het boek van Peterson beschrijft een lijst van 41 indicatoren. Er is een selectie gemaakt van indicatoren die ook opgevraagd kunnen worden uit de databases van Adwords en de eMarketingmanager. Goede performance indicatoren zijn zo opgesteld dat ze zoveel mogelijk interessante informatie bevatten, en daarnaast ook veel aanwezig zijn. In hoofdstuk B.1 is de aanwezigheid van de indicatoren gemeten. De lijst van prestatieindicatoren luidt als volgt: • gemiddelden 1. 2. 3. 4. 5.
bezochte pagina’s tijd per pagina conversies aantal (unieke) bezoekers aantal ge¨ınteresseerde bezoekers,
• ratio’s 1. 2. 3. 4. 5. 6. 7. 8. 9.
bezoeken per (ge¨ınteresseerde) bezoeker bezoeken per advertentie kosten per (ge¨ınteresseerde) bezoeker kosten per klik kosten per conversie kosten per advertentie opbrengst per bezoeker opbrengst per klik bezoekers per conversie
• percentages 1. nieuwe bezoekers Een ge¨ınteresseerde bezoeker is een bezoeker die langer dan 10 seconden op de pagina doorbrengt en/of doorklikt naar een volgende internetpagina op hetzelfde domein bekijkt [6].
HOOFDSTUK 3. ONTWERPOVERWEGING
21
Er is een verschil tussen de indicatoren die rechtstreeks uit de Adwords-data zijn op te vragen en de indicatoren van Peterson. De Adwords indicatoren bevatten ‘directe’ informatie. De informatie beschrijft direct de prestaties van de advertentie. De beschreven performance indicatoren beschrijven de prestaties van de internetpagina’s en geven ‘indirect’ de prestaties van de advertenties weer.
3.2.2
Model management
Het model management deelsysteem zorgt voor de aansturing van de andere deelsystemen. De model base bevat een verzameling modellen (simulatie, trial-and-error, heuristisch, optimalisatie) voor het systeem. Daarnaast kan een model management systeem worden uitgebreid met een model based management system (MBMS), waarmee de modellen kunnen worden gemaakt en aangepast. Het model management maakt een scheiding tussen de ‘modellen’ en de rest van het systeem, waardoor het gebruik van nieuwe en/of experimentele instellingen of analysemethoden gemakkelijk te implementeren is. Voor het goed beheren van een advertentiecampagne worden door de Adwords Professional verschillende analyses en berekeningen gebruikt specifiek voor de situatie. De modellen moeten het mogelijk maken een passende instelling te kiezen voor het biedmanagementsysteem, zodat de werking overeenkomt met zijn eigen aanpak. In vergelijking met de analyses van de Adwords Professional zoals deze is weergegeven in figuur 3.2, zijn in de model management component analysemethoden nodig om deze processen te benaderen. Het gaat dan om het beoordelen van de prestaties van een advertentie; het al dan niet aanpassen van de maximale CPC; en eventueel het bepalen van de nieuwe maximale CPC. De model management component van het biedmanagementsysteem zal minimaal moeten bestaan uit deze categorie¨en met analysemethoden. Voor het biedmanagementsysteem zullen bestaan uit heuristische en wiskundige modellen, in vergelijking met de in de analyse 2.1.2 beschreven technieken. Het is interessant om uit te zoeken welke modellen en instellingen van de modellen in welke situatie gebruikt moeten worden. Deze selectie kan echter niet door het MBMS worden uitgevoerd omdat hiervoor inzicht en expertise vereist is. Er moet bekeken worden hoe de knowledge-base de MBMS hierin kan ondersteunen. Daarnaast zal onderzocht moeten worden of op enkele onderdelen deze techniek kan worden vervangen door optimalisatie- of andere modellen.
3.2.3
Knowledge-based management
Veel ongestructureerde en zelfs halfgestructureerde problemen zijn zo complex dat deze expertise en ervaring nodig hebben om tot een goede beslissing te komen. Deze expertise kan worden aangeleverd door een persoon of door een systeem. Voor deze toepassing bestaat het knowledge-based management deelsysteem binnen het DSS. Dit onderdeel levert de ‘expertise’ om ongestructureerde problemen op te lossen. Wanneer dit component wordt gebruikt, wordt gesproken van een knowledge based DSS of expert system of intelligent DSS. Voor het biedmanagementsysteem bepaalt de Adwords Professional het doel en de waarde waaraan een trefwoord moet voldoen. In vergelijking met de analyses van de Adwords Professional zoals deze is weergegeven in figuur 3.2, kan de knowledge base ingezet worden om de expert-kennis van de Adwords Professional te modelleren. Het bepalen van deze waarde baseert de Adwords Professional op ervaring en intu¨ıtie. De beschrijvingen als ‘te hoog’, ‘te laag’ en ‘te duur’ worden aan deze waarde gerelateerd. Een knowledge based biedmanagementsysteem zou inschatten wanneer een woord te duur wordt, en dus een bovengrens kunnen aangeven. Andere instellingen die de Adwords Professional maakt, zoals het
HOOFDSTUK 3. ONTWERPOVERWEGING
22
bepalen van het doel zou ook door de knowledge base kunnen worden overgenomen. In de specificatie van het biedmanagmentsysteem wordt het knowledge-management niet uitvoerig behandeld, er is niet genoeg data beschikbaar om hier een goede specificatie van te kunnen maken. In hoofdstuk 6 wordt door middel van data-analyses aannemelijk gemaakt dat met voldoende beschikbare gegevens dit wel werkelijk mogelijk is.
3.2.4
User interface
De user interface bestaat uit een een computer, voor verwerken van de in- en output aan het systeem. Deze gegevens worden verwerkt in het user interface management system (UIMS). Enkele mogelijkheden van een UIMS zijn: een grafische interface, verschillende input devices, interactie met de database en de model base. Meerdere functies kunnen gelijktijdig worden uitgevoerd en output data kan worden weergegeven in tekst, tabellen en grafieken. Voor het biedmanagementsysteem zal via de user interface het invoeren van managementinformatie mogelijk moeten zijn, de doelen per advertentie of advertentiegroep. Het is daarom handig dat dezelfde structuur wordt gebruikt als op de Adwords-pagina’s wordt aangehouden. Per woord moet de managementinformatie (indicator en doel) worden ingesteld, en enkele variabelen waarmee de werking van het systeem be¨ınvloed kan worden (marge, geschiedenisperiode, updatefrequentie). Daarnaast moet een bovengrens worden aangegeven waaronder onder alle omstandigheden de maximaal in te stellen CPC moet blijven. Voor de Adwords Professional is de user-interface een belangrijk onderdeel, het is immers de enige mogelijkheid om de instellingen te kunnen maken. De output kan bestaan uit informatie over de huidige instellingen en overzichten om de voortgang te kunnen controleren. Het biedmanagementsysteem zal de gegevens van de trefwoorden moeten kunnen weergeven in tabellen, maar er kan ook gebruik gemaakt worden van grafieken en andere manieren om de voortgang en prestaties inzichtelijk te maken.
3.2.5
External models
De externe modellen zijn bedoeld als hulpmiddel om het systeem te ondersteunen in het maken van instellingen voor de knowledge base en de model base. Denk aan rekenprogramma’s of spreadsheets, waarin specifieke kennis kan worden gebruikt voor het bepalen van de juiste strategie en instellingen van het het knowledge en model management. Een vaak gebruikt external model kan worden ge¨ımplementeerd in de knowledge of model base van het biedmanagementsysteem.
3.2.6
Conclusie
Niet alle onderdelen binnen de deelsystemen zijn van toepassing, maar het geeft een goed overzicht van de mogelijkheden voor verder onderzoek. De gestructureerde opbouw van een DSS maakt het gemakkelijker om in de toekomst het systeem uit te breiden met meer intelligentie. De manier waarop de vier onderdelen worden gespecificeerd bepaalt de eigenschappen en de manier waarop de ondersteuning voor de beslissingen worden gegeven. Zo is per situatie verschillend of het accent wordt gelegd op de mogelijke beschikbare modellen, of in een andere situatie op de databases. De eisen en aanpassingsmogelijkheden voor een biedmanagementsysteem zijn te beschrijven in een opdeling van de vier componenten van een DSS. Hiermee is voldoende onderbouwd dat een DSS een geschikte architectuur is om een biedmanagementsysteem mee op te zetten.
23
HOOFDSTUK 3. ONTWERPOVERWEGING
3.3
Inbedding in huidige systeem
Het biedmanagementsysteem moet worden ge¨ıntegreerd met de bestaande systemen van Gladior en moet gebruik maken van de Google API. In de analyse is beschreven dat een koppeling met de eMarketingmanager mogelijk moet zijn. Daarnaast moet een koppeling worden gemaakt met Google’s Adwords-database.
3.3.1
Interoperabiliteit
Een van de uitdagingen in informatiebeheer voor het ontwerp van applicaties is de integratie van verschillende, voor speciale doeleinden inzetbare, applicaties. De Google Adwords-website en de eMarketingmanagerapplicatie gebruiken elk hun eigen specifieke database. De beide applicaties hebben geen toegang tot de database van de ander. Een biedmanagementsysteem zou toegang moeten hebben tot beide databases. Er zijn drie verschillende database integratieniveau’s te onderscheiden [1]. Het laagste integratieniveau is weergegeven in figuur 3.4. Op dit laagste niveau zijn de databases niet ge¨ıntergreerd. De enige mogelijkheid om gegevens van de ene naar de andere applicatie over te zetten is door handmatig gegevens uit te lezen in te voeren in de andere database. Het eerste niveau waarop wel integratie plaatsvindt, is het integreren van databases door middel van converteren. In deze oplossing houdt iedere applicatie zijn eigen specifieke database en worden transacties tussen databases door middel van converter-scripts mogelijk gemaakt. Het daaropvolgende niveau is integratie van de databases door middel van een neutrale database. Een neutrale database slaat de gegevens in een ‘neutraal’ formaat op waardoor het maken van de converters gemakkelijker te implementeren is. De applicaties houden elk hun eigen database, alleen gebeurt de uitwisseling van informatie via gestandaardiseerde koppelingen. Op het hoogste niveau, zie figuur 3.5, is er sprake van totale integratie. Op dit niveau maken alle applicaties gebruik van dezelfde database. De centralisatie vindt plaats op logisch niveau; fysiek kan de informatie over meerdere machines verdeeld zijn. Het gebruik van een gecentraliseerd databasesysteem zorgt voor een verbetering van effici¨entie [1]: • veel van de dataconversies worden overbodig, • de data van applicaties worden toegankelijk voor alle andere geautoriseerde applicaties en gebruikers, • het wordt gemakkelijker om de database consistent te houden door de afname van redundantie, die niet te voorkomen is bij minder ge¨ıntergreerde oplossingen.
eMarketingmanager
Biedsysteem
Adwords
lokale DB
lokale DB
externe DB
Figuur 3.4: integratie niveau 0: isolatie
24
HOOFDSTUK 3. ONTWERPOVERWEGING
Biedsysteem
Adwords
eMarketingmanager
lokale database
Figuur 3.5: integratie niveau 3: gecentraliseerd
3.3.2
Integratie
Voor het biedmanagementsysteem heeft een gecentraliseerde databasestructuur de voorkeur. Wanneer alle gegevens voor het biedmanagementsysteem op dezelfde lokale database beschikbaar zijn, is het mogelijk om zonder de gegevens uit de eMarketingmanager te converteren, deze in het biedmanagementsysteem te gebruiken. Een gecentraliseerde databasestructuur voor de Adwords gegevens is niet direct mogelijk, deze staan immers opgeslagen in een database bij Google. Een mogelijke oplossing is het bufferen cq. synchroniseren van de benodigde Adwords gegevens. Er is nog een reden om een deel van de Adwords gegevens te bufferen in een lokale database en dat is de snelheid van de Google Adwords API. Om de statistische gegevens via de API op te vragen zijn meerdere connecties met de API nodig. E´en connectie via de Google API, voor het opvragen van gegevens kost 5 tot 6 seconden. Het opvragen van de benodigde statistische gegevens van een specifiek trefwoord, wat meerdere connecties vereist, duurt daardoor minimaal 20 seconden. (Zie bijlage B.2) Het opvragen van de benodigde statistische gegevens voor een gehele advertentiegroep kost daardoor meerdere minuten, wat het snel werken met deze gegevens nagenoeg onmogelijk maakt wanneer deze niet worden opgeslagen. Daarnaast werkt de Google Adwords API met een quota systeem, zoals ook in hoofdstuk 2 staat. Voor deze quota-eenheden moet betaald worden, het vaker opvragen van dezelfde gegevens kost onnodig geld.
3.3.3
Conclusie
Een gecentraliseerde database inbedding heeft als voordeel dat het effici¨enter is ten opzichte van minder ge¨ıntegreerde oplossingen. Om dit mogelijk te maken zullen de Adwords-gegevens gesynchroniseerd worden, en zal het systeem ge¨ımplementeerd worden in dezelfde databasearchitectuur als de eMarketingmanager. De synchronisatieapplicatie is verantwoordelijk voor het synchroniseren van de benodigde Adwords-gegevens. Deze synchronisatieapplicatie zal een eenzijdige synchronisatie uitvoeren; alleen de gegevens van de Adwords worden gedownload, er wordt niets ge¨ upload door de applicatie.
Hoofdstuk 4
Specificatie De ontwerpoverwegingen voor beslissystemen en databaseintegratie uit hoofdstuk 3 hebben geleid tot de volgende conclusie: • Een aparte applicatie moet ervoor zorgen dat de Adwords-gegeven lokaal beschikbaar zijn. • Een biedmanagementsysteem moet worden opgebouwd aan de hand van de vier componenten van een DSS. In dit hoofdstuk wordt de specificatie van het ontwerp beschreven, welke functies er binnen de verschillende onderdelen bestaan en op welke manier een biedmanagementsysteem moet functioneren. De specificatie van de synchronisatieapplicatie staat los van het DSS. Er zal eerst een specificatie van de synchronisatieapplicatie worden gegeven, omdat deze databasegegevens door het DSS gebruikt wordt.
4.1
Synchronisatieapplicatie
Het bufferen en synchroniseren van de Adwords-gegevens is geen onderdeel van het Decision Support System, daarom zal het updaten van de Adwords statistiekgegevens onafhankelijk van het DSS uitgevoerd worden. Een aparte applicatie is hiervoor verantwoordelijk. De mogelijkheden voor synchronisatie van de Adwords database met een lokale database, is afhankelijk van de mogelijkheden van de protocolspecificatie van de Adwords API. Vanuit deze protocolspecificatie is een databasestructuur ontworpen. De protocolspecificatie en de databasestructuur worden in de volgende paragrafen besproken.
4.1.1
Adwords API
Op de internetpagina Developer’s Guide - Adwords API [3] staat de handleiding van de Adwords API. In deze handleiding staat beschreven welke gegevens er via de Adwords API opgevraagd kunnen worden. Veel van de onderwerpen in de handleiding zijn voor dit onderzoek niet relevant, omdat de API ook gebruikt kan worden voor het beheer van AdSense, Google Banners en andere toepassingen van Google. In het onderstaande overzicht zijn de, voor deze specificatie, belangrijke delen uit de handleiding opgesomd. Hierin staat precies aangegeven welke data er voor elk onderdeel kan worden opgevraagd. Campaign Gegevens geassocieerd met een advertentiecampagne. Beschikbare entiteiten: 1. id; ID van deze advertentiecampagne. 2. dailyBudget; dagbudget voor deze advertentiecampagne. 25
HOOFDSTUK 4. SPECIFICATIE
26
3. name; leesbare naam. 4. status; (Active, Pending, Paused, Deleted, Suspended, Ended ) alleen bij status Active verschijnen de trefwoorden van de geassocieerde advertentiegroepen. AdGroup Gegevens geassocieerd met een advertentiegroep. Beschikbare entiteiten: 1. campaignId; het numerieke ID van de campagne geassocieerd met deze advertentiegroep. 2. id; ID van deze advertentiegroep. 3. maxCpc; default waarde voor maximale kosten per klik voor trefwoorden geassocieerd met deze advertentiegroep. 4. name; leesbare naam, moet uniek zijn binnen de advertentiecampagne. 5. status; (Enabled, Paused, Deleted ) alleen bij status Enabled verschijnen de geassocieerde trefwoorden in de advertentiereeks. Keyword Gegevens geassocieerd met een trefwoord. Beschikbare entiteiten: 1. adGroupId; het numerieke ID van de AdGroup geassocieerd met dit trefwoord. 2. destinationUrl; bestemmingsURL van de advertentie. 3. id; ID van deze advertentie, wordt ingesteld door Google en is niet aan te passen. 4. maxCpc; de maximale kosten per klik geassocieerd met dit trefwoord. Als deze nul is wordt de maxCpc van de bovenliggende adGroup gebruikt. 5. minCpc; de minimale kosten per klik die nodig zijn om dit trefwoord actief te maken in de advertentiereeks. 6. negative; (True, False) om aan te geven of een trefwoord negatief is. (Geen enkele advertentie uit de adgroup wordt getoont wanneer de zoekopdracht dit woord bevat.) 7. status; (Normal, OnHold, Disapproved, Deleted ) alleen bij status Normal verschijnt het trefwoord in de advertentiereeks. 8. text; het trefwoord waarbij de advertentie wordt getoond. 9. type; (Broad, Phrase, Exact) eigenschappen voor zoekopdracht wanneer advertentie getoond moet worden. StatsRecord De activiteiten statistieken geassocieerd met een trefwoord over een bepaalde periode. Beschikbare entiteiten: 1. averagePosition; de gemiddelde positie van de vertoningen. 2. clicks; het aantal kliks dat is verzameld. 3. cost; de totale opgelopen kosten. 4. id; het numerieke ID van het Keyword geassocieerd met deze statistieken. 5. impressions; het aantal vertoningen.
4.1.2
Database schema
Vanuit bovenstaande API is de databasestructuur voor de synchronisatieapplicatie gespecificeerd: customer (customer id, name, email) campaign (campaign id, customer id, name, budget, status) adgroup (adgroup id, campaign id, maxcpc, name, status) adword (adword id, adgroup id, maxcpc, mincpc, status, text, negative, type, destinationurl)
27
HOOFDSTUK 4. SPECIFICATIE adwordstats (adword id, adgroup id, datum, clicks, cost, impressions, averageposition) De samenhang tussen de tabellen is weergegeven in figuur 4.1. adword adgroup
campaign customer
1
*
customer_id name email
campaign_id customer_id name budget status
1
*
adgroup_id campaign_id maxcpc name status
1
*
adword_id adgroup_id maxcpc mincpc status text negative type destination
adwordstats
1
*
adword_id adgroup_id datum clicks cost impressions
Figuur 4.1: DB schema voor opslag van Adwords-gegevens
4.1.3
Procedure
Het synchronisatieproces bestaat uit het ophalen van de laatste gegevens. Deze gegevens worden via de Google API opgevraagd en gekopieerd naar de interne database. Om de te bufferen gegevens op een effici¨ente manier op te halen kan de boomstructuur van de adwordscampagne iteratief worden afgegaan om (missende) gegevens te controleren en kopie¨eren. Met onderstaande functies kan via SOAP de in bovenstaande (hoofdstuk 4.1.1) API beschreven gegevens worden gedownload. getAllAdwordsCampaigns() getAllAdgroups(campaignid) getCriteria(adgroupid) getKeywordStats(criteriaid)
een lijst met campagnes (4.1.1 Campaign) een lijst met groepen binnen deze campagne (4.1.1 AdGroup) een lijst met woorden binnen deze groep (4.1.1 Keyword) de statistieken van dit trefwoord (4.1.1 StatsRecord)
Voor het opvragen van de gegevens zijn drie situaties denkbaar: (a) Een gehele nieuwe campagne met alle informatie moet worden opgevraagd, (b) een bestaande campagne moet worden bijgewerkt, (c) alleen de statistische informatie moet worden bijgewerkt. Het bijwerken van de statistische informatie zal dagelijks moeten, het bijwerken van de campagneinformatie minder frequent. Het is aan Adwords Professional om te bepalen of deze informatie automatisch om de zoveel dagen moet worden bijgewerkt, of dat hij/zij deze update start als er groepen of woorden zijn toegevoegd of verwijderd op de Google Adwords pagina. In de volgende paragrafen worden de drie situaties toegelicht. Nieuwe campagne Wanneer alle informatie van een nieuwe campagne moet worden opgehaald zal de informatie iteratief worden gedownload. In het voorbeeld hieronder is dit in pseudocode beschreven. Uiteraard zal bij een implementatie ook de tussenliggende gegevens moeten worden opgeslagen. Bestaande campagne Voor het updaten van een bestaande campagne is het alleen nodig om de databasegegevens te updaten met behulp van de functies ‘getAllAdgroups’ en ‘getCriteria’. Het kan niet voorkomen dat de meegezonden keys niet meer werken, verwijderde woorden en campagnes worden op ‘deleted’ gezet en deze informatie wordt alsnog door Google meegestuurd. Ook blijft hiervan de statistische informatie te downloaden.
28
HOOFDSTUK 4. SPECIFICATIE
Alleen statistieken Wanneer alleen de statistieken ge¨ updatet moeten worden zal alleen de ‘getKeywordStats’ functie gebruikt hoeven worden. Uit de database kan vooraf een selectie van de woorden worden gemaakt waarvan nieuwe gegevens gedownload moeten worden.
4.2
DSS - Specificatie
Uit het ontwerp is gebleken dat een DSS architectuur goede mogelijkheden biedt om het probleem op te lossen. De vier basiscomponenten van het ontwerp worden in de volgende paragrafen toegelicht. Een schematische weergave van de specificatie in een DSS is in figuur 4.2 weergegeven. Synchronize
Adwords (extern)
Data management
Model management
External models
Data: internal and external Knowledge-based subsystems Adwords (lokaal)
User interface
eMarketingmanager
Knowledge base
Manager (user)
Figuur 4.2: ontwerp als DSS model
4.2.1
Data management
Het data management is verantwoordelijk voor het selecteren en verwerken van de gegevens. De drie belangrijkste componenten zijn de interne database, de query mogelijkheden en de extractie van de gegevens uit de interne Adwords database en de eMarketingmanager database. Het data management deelsysteem is schematisch weergegeven in figuur 4.3. Interne database De interne database wordt gebruikt voor het opslaan van de instellingen van de Adwords Professional en voor het bijhouden van aanpassingen van het systeem zelf. Deze gegevens zijn gekoppeld aan ´e´en advertentie, zoals dit is weergegeven in figuur 4.4. Deze bestaan uit de tabellen bidhistory en bidmanagement: bidhistory (adword id, adgroup id, datum, maxcpc) bidmanagement (adword id, adgroup id, indicator, doelwaarde, marge, bovengrens, ondergrens, last update) Met behulp van de in deze tabellen opgeslagen informatie kunnen alle veranderingen worden bijgehouden, en kan worden opgevraagd wanneer voor het laatst de maximale CPC van een advertentie is
29
HOOFDSTUK 4. SPECIFICATIE gegevensbronnen
Adwords (lokaal)
eMarketingmanager
extractie Decision support database
Query mogelijkheden
Database management system data directory (data definitions)
opvragen zoeken updaten genereren deleten
Model management
Knowledge-based subsystems
User interface
Figuur 4.3: DSS data management deelsysteem
veranderd. Om te voorkomen dat meerdere malen op basis van dezelfde informatie een advertentie wordt aangepast. Informatievragen Een belangrijk onderdeel van het datamanagement zijn de query mogelijkheden; welke gegevens op te vragen zijn uit de database. Voor het te ontwerpen beslissysteem is het van belang dat er indicatoren op te vragen zijn die de prestaties van internetpagina’s achter de advertenties kunnen beoordelen. De informatievragen bestaan uit selecties • Lijst van {alle|actieve} {campagnes|advertentiegroepen|advertentiewoorden}. • Opvragen van {statistieken|managementinf ormatie|biedgeschiedenis} van een advertentiewoord. • Lijst van actieve {campagnes|advertentiegroepen} met managementinformatie. Statistieken • Totaal aantal {vertoningen|kliks|unieke bezoekers|pageviews|conversies| geinteresseerde bezoekers} in de afgelopen d dagen per {advertentiegroep|advertentiewoord}. • Gemiddelde {positie|kosten|pageviewduur} in de afgelopen d dagen per {advertentiegroep|advertentiewoord}. • Aantal {bezoeken|kosten|opbrengsten} per {bezoeker|geinteresseerde bezoeker} in de afgelopen d dagen per {advertentiegroep|advertentiewoord}. Opslag
30
HOOFDSTUK 4. SPECIFICATIE adwords adwordstats adword_id adgroup_id datum clicks cost impressions
*
heeft statistiekinformatie
adword_id adgroup_id maxcpc mincpc status text negative type destinationurl
1
bidhistory
1
heeft biedgeschiedenis
*
adword_id adgroup_id datum maxcpc
1 heeft managementinformatie
1 bidmanagement adword_id adgroup_id indicator doelwaarde marge bovengrens ondergrens last_update
Figuur 4.4: DB schema van de interne database
• {Invoegen|U pdaten} van {biedgeschiedenis|managementinf ormatie} voor een advertentiewoord. Extractie, koppeling en SQL queries In dit onderdeel zal de extractie en koppeling van de prestatieindicatoren van de eMarketingmanager met de prestatieindicatoren van Adwords beschreven worden. Het opvragen van de prestatieindicatoren kliks, vertoningen, kosten en gemiddelde positie, gaat via een eenvoudige select query op de Adwordstats tabel. SELECT s.clicks, s.impressions, s.cost, s.averageposition FROM adwordstats s WHERE adgroup_id = ? AND adword_id = ?
De binnenkomende informatie in de eMarketingmanager, waaronder ook de informatie vanaf een Adwords-advertentie wordt opgeslagen in de tabel ‘leadcategory’. Via een JOIN op de tabellen ‘visit’ en ‘pageview’ zijn de indicatorgegevens van de advertentie op te vragen. De databasestructuur van de eMarketingmanager staat in appendix D beschreven. Een voorbeeld voor het opvragen van de conversieinformatie in SQL. SELECT l.GoogleAdgroupId as adgroup_id, l.GoogleKeywordId as adword_id, SUBSTRING(pageviewtime, 1, 10) as datum, COUNT(pv.ConversionCategorieID) as conversions FROM 1_perm.pageview pv LEFT JOIN 1_perm.visit v USING (visitorid, visitorsid, visitid) LEFT JOIN 1_perm.leadcategory l USING (leadcategoryid) WHERE GoogleKeywordId > 0 AND ConversionCategorieID > 0 AND adgroup_id = ? AND adword_id = ? GROUP BY datum
Op een gelijke manier zijn er ook SQL queries beschreven voor de andere indicatoren: unieke bezoekers, pageviews, pageviewtime, ge¨ınteresseerde bezoekers. Deze staan uitgewerkt in appendix E.
31
HOOFDSTUK 4. SPECIFICATIE
Models (Model base) Analyse geschiedenis (voorspelling) Berekening max CPC Instellingen (marge, geschiedenislengte, updatefrequentie)
Model directory
Model base management Creeren modellen Onderhoud: updaten Database interface Modeling language
Data management
Knowledge-based subsystems
User interface
Figuur 4.5: DSS model management deelsysteem
De eMarketingmanager is zo ontworpen, dat voor elke internetpagina een aparte database wordt gebruikt. Voor de koppeling van een Adwords-campagne met een database van de eMarketingmanager moet worden opgeslagen welke advertentiecampagne bij welke eMarketinmanager-database hoort. Daarna is de koppeling te realiseren door de query variabel te maken en de juiste query genereren wanneer de gegevens opgevraagd worden.
4.2.2
Model management
Het model management is voor het aanleveren van verschillende analysemethoden. Het MBMS is verantwoordelijk voor (a) het analyseren van de prestatieindicatoren, (b) het berekenen van de maximale CPC en (c) het bepalen van een bovengrens. Voor deze drie onderdelen zijn meerdere analysemethoden beschreven. Het model management deelsysteem is schematisch weergegeven in figuur 4.5. De model base bestaat uit een verzameling berekeningsmethoden die gebruikt kunnen worden door het biedmanagementsysteem. De Adwords professional gebruikt in verschillende situaties verschillende strategie¨en, meerdere analysemethoden worden beschreven om te bekijken welke het beste aansluit. Analyse prestatieindicatoren De indicatorgegevens worden geanalyseerd om een voorspelling te maken voor de komende periode. De analyse wordt uitgevoerd door middel van een tijdreeksanalyse. Tijdreeksanalyse is een statistische analyse van trends en periodieke patronen in reeksen in de tijd gedane waarnemingen of metingen [11]. Dat ook kan worden omschreven als ‘een serie observaties, geordend op de variabele tijd’. Tijdenreeksen kunnen continue of discreet worden gemeten. Continue tijdenreeksen worden direct gemeten, zoals met een oscilloscoop. De meeste metingen vinden echter op regelmatige basis plaats, en daardoor zijn dit discrete tijdenreeks series [12]. Verschuivende gemiddelden of moving averages, is een populair en makkelijk te gebruiken analysemethode. De tijdenreeksen worden gladgestreken waardoor het opmerken van trends gemakkelijker wordt. Met behulp van de trends is het ook mogelijk om voorspellingen te maken.
32
HOOFDSTUK 4. SPECIFICATIE
De twee populairste typen van moving averages zijn single moving average (SMA) en exponential moving average (EMA). Single moving average Het SMA wordt bepaald door het gemiddelde te berekenen van de een aangegeven periode. Dit gemiddelde wordt berekend voor alle punten in de reeks, vanaf het begin tot het einde van de serie, waar de berekening stopt. Elk punt telt uiteindelijk even zwaar wanneer het SMA is berekend. SMA kan ook als voorspeller worden gebruikt, waarbij de verwachtingswaarde van een reeks x0 . . . xn , het eerstvolgende punt xn+1 , gelijk is aan het gemiddelde van de laatste p metingen [12]. SM Ap (xn+1 ) =
n X xi p i=n−p
Exponential moving average EMA is een methode die vaak gebruikt wordt wanneer binnen de periode waarover een gemiddelde wordt berekend, de laatste getallen van meer invloed zijn dan de eerste in de periode. Om deze invloedafname mee te nemen in de berekening, wordt er een exponentieel gewogen gemiddelde toegepast. De smoothing constante α bepaalt de invloedafname in de berekening, een veel gebruikte waarde is α = p1 waarbij p staat voor het aantal metingen waarover berekend moet worden: EM A(xn+1 ) = (α) · xn + (1 − α) · EM A(xn ) Daarbij de reeks start op i + 1 = p + 1 waar het single moving average als beginpunt geldt: EM A(xp ) = SM Ap (xp ) In de formule te zien dat voor een kleine α het bestaande gemiddelde zwaarder telt dan de nieuwe waarde, maar voor een grote α wordt het nieuwe punt (xt ) zwaarder gewogen. SMA kan als voorspeller gebruikt worden waarbij de verwachtingswaarde van een reeks x0 . . . xn gelijk is aan EM A(xn+1 ) [12]. Weighted moving average Een variant op exponential moving average is het weighted moving average. In deze variant wordt voor elk punt in de berekening de smoothing factor bepaald. Bijvoorbeeld voor een periode van 4 punten: W M A(xn+1 ) =
5 2 2 1 xn + xn−1 + xn−2 + xn−3 10 10 10 10
Welke methode de voorkeur heeft ligt aan de situatie. SMA heeft meer last van vertraging, waarbij EMA weer te snel kan reageren op veranderingen. In de beurswereld wordt EMA veel gebruikt voor korte-termijn analyse, waarbij SMA gebruikt wordt voor de lange-termijn analyse. Berekening maximale CPC Nadat is bepaald dat de maximale prijs van een trefwoord moet worden aangepast, zijn er verschillende methoden te bedenken waarmee dit mogelijk is.
33
HOOFDSTUK 4. SPECIFICATIE
Optie 1 De gemakkelijkste manier om dit te realiseren is het aanpassen van de prijs met een zo klein mogelijk bedrag, nl. ´e´en cent. Door de maximale CPC met ´e´en cent omhoog of omlaag aan te passen is de invloed minimaal en is het effect van de aanpassing minimaal. Het is namelijk niet van te voren in te schatten wat het effect is van een verandering van de prijs, door een minimaal effect kan er effici¨enter en effectiever op gereageerd worden. Voor het bijsturen van de advertenties die al goed staan is dit waarschijnlijk de beste oplossing. Aanpassingen van de prijs met meer dan ´e´en cent zijn minder voorspelbaar en zullen vaker aangepast moeten worden. Wanneer een advertentie een grotere afstand moet overbruggen, waarvoor een prijsaanpassing nodig is van meer dan een paar centen, dan zal met deze gebruikte methode dit doel alleen iets later bereikt worden. Omdat het biedmanagementsysteem in eerste instantie gebruikt wordt om bestaande, reeds opgestarte reclamecampagnes, te beheren zal deze oplossing geoorloofd zijn te gebruiken. Optie 2 Een andere mogelijkheid is het omhoog of omlaag bijstellen van de maximale CPC met variabele bedragen. Door deze getallen te koppelen aan de te overbruggen afstand is het mogelijk om sneller het gewenste doel te bereiken. Echter kan voor deze methode niet in dit onderzoek niet worden aangetoond dat deze beter werkt dan de vorige, hiervoor zal over veel langere periode data moeten worden verzameld. Daarnaast moet per indicator worden aangegeven welke afstand overeenkomt met 1 cent. Optie 3 Via simulatie de prijs bepalen. Dit kan door in een data warehouse bij te houden wat de ingestelde prijzen voor uitwerking heeft op de indicatoren. Wanneer er voldoende data is verzameld kan een voorspelling worden gemaakt wat de ingestelde maximale CPC voor uitwerking heeft op de prestatie indicatoren. Het bepalen van een bovengrens Elke advertentie heeft een punt waarop de prijs per klik zo hoog is dat het niet meer uit kan om dit ervoor te betalen. Door de opbrengsten van de advertenties te berekenen is het mogelijk om voor een advertentiegroep of advertentiewoord de maximale uitgave te berekenen. Op meerdere manieren kan dit maximum als beperking aan de te beheren advertenties worden opgelegd. Zoals in de analyse van de eMarketingmanager staat beschreven 2.2 wordt de omzet (turnover ) en opbrengst (revenue) opgeslagen. Deze gegevens staan opgeslagen in de tabel ‘pageview’ (zie D). Opbrengsten van de advertentiegroep als beperking voor het maandbudget Door een gemiddelde van de maandopbrengsten van een advertentiegroep te berekenen, deze wordt als bovengrens voor het maandbudget ingesteld. Dit wordt daarna via de Google API ge¨ upload om de instellingen te veranderen. Opbrengsten van een advertentiewoord als bovengrens voor de kosten De prestatieindicator ‘opbrengst per klik’ wordt gebruikt om de gemiddelde kosten per klik over een lange periode te berekenen via het SMA algoritme. De prestatieindicator ‘opbrengst per klik’ wordt gerepresenteerd door de reeks x0 . . . xn waarbij voor het gemak er even van wordt uitgegaan dat n > 31. De gemiddelde opbrengst per klik van de afgelopen maand voor deze advertentie is dan: SM A31 (xn+1 ) =
n X
xi 31 i=n−31
34
HOOFDSTUK 4. SPECIFICATIE
De uitkomst geldt als bovengrens voor de maximale kosten per klik, zodat er niet meer wordt uitgegeven dan wat de advertentie opbrengt. Bovengrens bepalen zonder opbrengstgegevens Advertentiecampagnes zonder eMarketingmanager, of waarin de opbrengstgegevens niet zijn geconfigureerd, kunnen geen gebruik maken van de prestatieindicator ‘opbrengst per klik’. Toch kan ook voor deze advertenties een bovengrens worden berekend, al is deze nooit zo nauwkeurig in vergelijking met een situatie waar de werkelijke opbrengsten worden bijgehouden. Door een waarde toe te kennen aan een andere prestatieindicator kan ook een bovengrens worden berekend. Wanneer bijvoorbeeld wordt aangegeven dat een ge¨ınteresseerde bezoeker 5 euro waard is, en de prestatieindicator ‘ge¨ıntereseerde bezoeker’ wordt gerepresenteerd door de reeks x0 . . . xn , dan is de bovengrens SM A31 (xn+1 ) · 5 euro per dag. Om de bovengrens voor de opbrengst te berekenen moet dit gedeeld worden door het totaal aantal klikjes (reeks: y0 . . . yn ) in die maand SM A31 (yn+1 ). Samengevoegd is dan de bovengrens voor de kosten per klik: SM A31 (xn+1 ) · 5 euro SM A31 (yn+1 )
4.2.3
Knowledge management
De kennismanagement component is voor het beheren/verwerken van de ‘expert’-kennis. Deze component bestaat uit algoritmes waarmee de expertkennis wordt gemodelleerd, als ondersteuning voor de modelbase en de database. De gegevens uit de interne database waarin de gemaakte instellingen en beslissingen worden opgeslagen kunnen in de toekomst worden gebruikt voor het uitbreiden van de knowledge base. De mogelijke modellen van de knowledge base van het biedmanagementsysteem is de volgende: Berekening optimale doel De instellingen voor het doel van een advertentie kunnen worden ingesteld door de Adwords Professional. Een deel van deze instellingen zou kunnen worden overgenomen door een optimalisatieberekening. Hiermee kan het instellen van de managementinformatie worden berekend, zodat dit niet meer door de Adwords Professional ingesteld hoeft te worden. In de data-analyse zal dit uitgebreid aan bod komen. Optimale positie Uitzetten in een grafiek van ´e´en van de indicatoren tegen de positie. Over een langere periode zal berekend kunnen worden welke positie de hoogste indicatorwaarde oplevert. Optimale CPC waarde Uitzetten in een grafiek van ´e´en van de indicatoren tegen de CPC. Over een langere periode zal berekend kunnen worden welke CPC de hoogste indicatorwaarde oplevert. Op deze manier zijn niet alle indicatoren tegen elkaar uit te zetten. Er moet rekening mee worden gehouden dat veel indicatoren lineair afhankelijk zijn van elkaar en daarom niet tegen elkaar kunnen worden uitgezet om een optimum te berekenen. De indicatoren zijn lineair afhankelijk als de ene indicator een deelverzameling vormt van de andere. Zo is het ‘aantal bezoekers’, een deelverzameling van ‘vertoningen’. Optimale instellingen modelmanagement De instellingen van het model management worden door de Adwords Professional bepaald. Op deze manier kan het model management het knowledge management ondersteunen in het maken van de juiste instellingen.
HOOFDSTUK 4. SPECIFICATIE
35
Optimale marge De marge is een van de variabelen van de managementinformatie, aan de hand waarvan wordt berekend of het doel wordt bereikt. Bij een andere instelling van de marge zal vaker of minder vaak een update nodig zijn. Een benadering van de huidige werkwijze van de Adwords Professionals is een marge van ´e´en cent of een halve positie. Optimale geschiedenisperiode De geschiedenisperiode is een van de variabelen van de managementinformatie, aan de hand waarvan wordt berekend of het doel wordt bereikt. Bij een andere instelling van de geschiedenisperiode zal vaker of minder vaak een update nodig zijn. In een van de testen zal dit aan bod komen. Een benadering van de huidige werkwijze van de Adwords Professionals is een geschiedenisperiode van zeven dagen. Optimale updatefrequentie Niet elke advertentie moet met dezelfde frequentie worden ge¨ updatet. Van sommige advertenties is het aantal bezoekers zo laag, dat het pas na een langere periode nuttig is om de prijs te gaan wijzigen. Voor het aantonen van een verband tussen de kenmerken van de advertentiecampagne en een optimale updatefrequentie zijn niet genoeg gegevens beschikbaar. Zeer waarschijnlijk is dit verband wel aanwezig.
4.2.4
User interface
De user interface zal voor een deel dezelfde structuur als de Adwords pagina’s aanhouden. Een overzicht met campagneinformatie, onderverdeeld in pagina’s met AdGroups- en Adwords- informatie. Voor elke advertenties moet vervolgens de managementinformatie kunnen worden toegewezen: • De indicator die gebruikt moet worden voor het automatisch sturen. • De gewenste doelwaarde voor de geselecteerde indicator. • De managementinformatie om de werking van het systeem te be¨ınvloeden (updatefrequentie, marge, geschiedenisperiode). • Instellen van de bovengrens van de maximale CPC, tijden het bijsturen van de advertentie zal nooit meer worden geboden dan deze bovengrens. Deze ingestelde informatie moet ook weer verwijderd kunnen worden wanneer het biedmanagementsysteem voor deze advertentie uitgeschakeld moet worden.
Hoofdstuk 5
Evaluatie en resultaten In dit hoofdstuk wordt beschreven hoe het ontwerp en de ontwerpspecificaties ge¨evalueerd kunnen worden. De ontwerpspecificaties beschrijven het gehele biedmanagementsysteem, de synchronisatieapplicatie en het beslissysteem. In deze evaluatie wordt beschreven op welke manier de specificatie van het model management onderdeel van het biedmanagementsysteem ge¨evalueerd kan worden. De evaluatie van de synchronisatieapplicatie en van de database is alleen te evalueren aan de hand van een implementatie, waarbij wordt getest of de implementatie voldoet aan de specificatie. Voor dit hoofdstuk is ervoor gekozen het testen van de synchronisatie- en databaseapplicatie niet te bespreken, deze zijn in de bijlage te vinden. Van het model management is ´e´en onderdeel uitgelicht waarvoor de evaluatie verder is uitgewerkt. Vervolgens is dit onderdeel ge¨ımplementeerd in het prototype, de resultaten van deze opstelling komen in deze evaluatie aan bod. De evaluatie is gericht op de punten effectiviteit en effici¨entie.
5.1
Evaluatie specificatie
Het doel van de evaluatie is een beoordeling te maken van de algemene waarde van een systeem. Naast het beoordelen van de prestaties kan bekeken worden of het systeem efficient en kosten effectief is [10]. Voor het biedmanagementsysteem betekent dit een evaluatie van de verschillende methoden binnen het systeem; verschillende combinaties van prestatieindicatoren analyse en CPC berekeningen uit het model management.
5.1.1
Methoden evaluatie
Om de specificatie van het biedmanagementsysteem te evalueren zou een opstelling, waarbij eenzelfde situatie met behulp van verschillende methoden worden beheerd, gewenst zijn. Met zo’n opstelling zou vervolgens op basis van de resultaten een uitspraak gedaan kunnen worden welke methode het ‘beste’ werkt. Deze ideale opstelling is echter niet mogelijk. Het probleem is dat verschillende methoden niet goed vergeleken k` unnen worden. De evaluaties van de verschillende methoden kunnen alleen uitgevoerd worden door de nieuwe prijzen werkelijk bij Google te uploaden. Wanneer de prijzen worden ge¨ upload, wordt het klikgedrag, de invloed van de concurrenten, en de specifiek te bieden bedragen bij elke test anders. Ook is het niet mogelijk om verschillende methoden gelijktijdig uit te voeren, omdat dan een situatie ontstaat dat binnen een campagne de verschillende methoden met elkaar concurreren. Om verschillende methoden te kunnen vergelijken zijn de volgende alternatieven mogelijk:
36
HOOFDSTUK 5. EVALUATIE EN RESULTATEN
37
gebruikersvoorkeuren Door de prijssuggestie niet automatisch naar Google te uploaden, maar dit door de gebruiker te laten controleren en bevestigen, kun je de verschillende methoden laten controleren of ze de juiste beslissingen nemen. Het kan een gebruiker dan opvallen dat er ‘onhandige’ keuzes worden gemaakt, of dat een andere methode juist ‘slim’ lijkt. Zo ontstaat bij de gebruiker een voorkeur voor een bepaalde methode. nauwkeurigheid en snelheid De nauwkeurigheid en snelheid van een methode als instrument voor de evaluatie. De nauwkeurigheid van een methode geeft aan hoe vaak het biedmanagementsysteem een correcte beslissing maakt. Een niet correcte beslissing moet worden teruggedraaid. De snelheid van een methode wordt uitgedrukt in het aantal dagen dat het duurt voordat de verandering wordt opgemerkt. Deze twee onderdelen hangen nauw samen, daarom is niet te zeggen welke methode beter is. Bij een campagne waarbij voor een agressieve aanpak wordt gekozen zal snelheid belangrijk zijn en zal de nauwkeurigheid lager zijn dan mogelijk. Wanneer een voorzichtige aanpak wordt verkozen boven een agressieve, dan geldt dat de nauwkeurigheid belangrijker is dan de snelheid. afwijking tot ingestelde doel Het ingestelde doel moet wel bereikt worden; een evaluatie ´of dit lukt en hoe goed het doel bereikt wordt, kan gedaan worden door de gemiddelde afwijking tot het doel als maat te nemen. De methode waarbij de gemiddelde afwijking tot het doel het laagste is, is de beste methode. Hier moet echter wel rekening worden gehouden met het feit dat de mogelijkheid om het doel te bereiken afhankelijk is van de concurrentie en van het algoritme van Google voor het bepalen van de positie. De vergelijking tussen de methoden is niet verder uitgewerkt; hiervoor is gekozen omdat de onderzoeksvraag in eerste instantie is gericht op de vraag ` of het geautomatiseerd beheer van een advertentiecampagne mogelijk is. Daarnaast is voor het vergelijken van de verschillende methoden veel meer tijd en data nodig dan voor dit onderzoek beschikbaar is.
5.1.2
Evaluatie ´ e´ en methode
Om ´e´en methode op effectiviteit en effici¨entie te evalueren zonder deze te implementeren, zullen de wiskundige kenmerken van deze methode in kaart gebracht moeten worden. Om ook in de werkelijke omgeving de voorspelling te evalueren zal de methode ge¨ımplementeerd moeten worden. Voor het evalueren van het SMA zal de nauwkeurigheid en snelheid van het algoritme berekend moeten worden. Een manier om dit inzichtelijk te maken is het gebruik van kansberekening. Zoals in hoofdstuk 2.1 is beschreven zorgt het Google algoritme voor schommelingen in een situatie waarin eigenlijk geen veranderingen door de omgeving plaatsvinden. Deze schommelingen rond een bepaald gemiddelde is in kaart gebracht in testcase B.3. De nauwkeurigheid van een methode is de kans is dat het berekende gemiddelde binnen de marge valt. De snelheid van een methode is het verwachte tijdstip dat een verandering wordt opgemerkt. De verschillende methoden kunnen worden omgezet naar een wiskundig model, waarna de nauwkeurigheid en de verwachte snelheid waarmee een verandering wordt opgemerkt kan worden berekend. Om te evalueren of ook de andere voorspellingsmethoden werken, moeten ook van deze de wiskundige kenmerken in kaart worden gebracht, en zal een aanpassing in de implementatie nodig zijn om de werkelijke resultaten van de methode te evalueren. Voor het evalueren van de voorspelling zal de invloed van de berekening van de maximale CPC zo klein mogelijk gehouden moeten worden.
HOOFDSTUK 5. EVALUATIE EN RESULTATEN
38
Om aan te tonen dat een methode werkelijk de gewenste resultaten oplevert moet het model worden ge¨ımplementeerd. Bij de implementatie speelt ook de berekening van de maximale CPC een rol. Wanneer de uitkomsten van de evaluatie worden be¨ınvloed door de berekening van de CPC is de evaluatie minder betrouwbaar. Dit kan worden voorkomen door de CPC berekening zo eenvoudig mogelijk te houden. De optie waarbij de invloed van de berekening zo weinig mogelijk is, is een aanpassing van de maximale CPC met ´e´en cent. Om de verschillende berekeningen voor de maximale CPC te evalueren zal eerst ´e´en analysemethode grondig in kaart gebracht moeten zijn, om daarna de verschillen die door een andere berekeningsmethode voor de maximale CPC worden gemaakt, te kunnen aantonen.
5.2
Resultaten SMA
De methode die nauwkeuriger wordt bekeken is het traject welke het beste aansluit op de werkwijze van de Adwords Professional. Deze bestaat uit het berekenen van de voorspelling volgens het Single Moving Average en het berekenen van de maximale CPC. De Adwords Professional gebruikt het weekgemiddelde als uitgangspunt voor de verdere beslissingen, het algoritme SM A7 zal dan ook het uitgangspunt zijn voor de evaluatie. SMA is ook het uitgangspunt van de andere analysemethoden, EMA en WMA, waarbij extra variabelen worden toegevoegd. In het prototype is SM A7 gebruikt en voor het berekenen van de maximale CPC een aanpassing in de maximale CPC van ´e´en cent. De evaluatie is uitgevoerd aan de hand van deze twee (meet)instrumenten; de implementatie en de wiskundige simulatie. Het doel is niet de implementatie of de wiskundige theorie te evalueren, het zijn hulpmiddelen om de evaluatie van de ontwerpspecificaties uit te kunnen voeren. De wiskundige kenmerken van het Single Moving Average staan beschreven in bijlage C.
5.2.1
Wiskundige kenmerken
Met behulp van de wiskundige kenmerken zal worden gekeken naar de nauwkeurigheid van de gebruikte instellingen en naar de snelheid waarmee een verandering in de omgeving wordt opgemerkt. Deze twee onderdelen zijn afhankelijk van elkaar. In het ene uiterste geval, wordt nooit een verandering opgemerkt en doorgevoerd, waardoor het systeem erg zuinig is maar ook erg onnauwkeurig is. In het andere uiterste, wordt elke aanwijzing dat er maar iets niet klopt gebruikt om de prijs aan te passen, waardoor onnodig veel veranderingen worden doorgevoerd. Google algoritme Het Google algoritme zorgt voor schommelingen in een situatie waarin eigenlijk geen veranderingen door de omgeving plaatsvinden. Deze schommelingen rond een bepaald gemiddelde is in kaart gebracht in de bijlage B.3. Deze variantie bepaalt samen met de marge de nauwkeurigheid van de berekening. Wanneer we veronderstellen dat de schommelingen volgens een normaalverdeling verdeeld zijn, dan geldt voor de nauwkeurigheid dat deze gelijk is aan de kans dat een punt binnen de marges valt. (Bijlage C.1) Marge De marges zijn een belangrijke variabele. Voor de evaluatie van de kenmerken van SM A7 is gebruik gemaakt van de volgende marges (welke door de Adwords Professional gebruikt worden): Indicator
marge
CPC positie
1 cent 0.5 punten
39
HOOFDSTUK 5. EVALUATIE EN RESULTATEN
De marge wordt aan beide kanten van het doel ingesteld, het totale bereik voor het doel is [doel − marge . . . doel + marge]. De schommelingen rond de gemiddelde waarde zijn verschillend voor de verschillende indicatoren, om die reden is ook de marge per indicator anders. Nauwkeurigheid Uit de gebruikte marge’s in combinatie met de berekende schommelingen (variantie) van het Google algoritme (bijlage B.3) is de nauwkeurigheid van SM A7 te berekenen (bijlage C.3). In een situatie waarin de maximale CPC niet wordt aangepast, en waarin ook de concurrentie niets verandert, is er geen aanpassing van de prijs nodig. De schommeling van het Google algoritme kan echter een ‘uitschieter’ hebben waardoor het lijkt alsof de gewenste situatie niet langer behouden blijft. De nauwkeurigheid van deze theoretische situatie kan door kansberekening benaderd worden. In tabel 5.1 is voor de Google variantie de kans berekend dat de uitkomst van de berekening binnen de marge ligt; de nauwkeurigheid. De onnauwkeurigheid geeft aan in hoeveel gevallen het berekende gemiddelde buiten de marge valt; de kans dat er een onnodige update van de maximale CPC wordt gemaakt. De onder- en bovengrens van de (on)nauwkeurigheid is bepaald aan de hand van de minimale en maximale variantie van de metingen aan het Google Algoritme (bijlage B.3). Deze berekeningen laten zien dat het het sturen op ‘kosten per klik’ nauwkeuriger is dan sturen op ‘gemiddelde positie’. CPC (marge = 1 cent) positie (marge = 0.5 posities)
variantie Ondergrens Gemiddelde Bovengrens Ondergrens Gemiddelde Bovengrens
nauwkeurigheid 99.8% 99.3% 98.4% 98.4% 96.4% 91.4%
onnauwkeurigheid 0.209% 0.694% 1.62% 1.62% 3.57% 8.58%
Tabel 5.1: Benadering van de nauwkeurigheid van SM A7
Snelheid In een situatie waarin de maximale CPC niet wordt aangepast, maar door de concurrentie een aanpassing van de situatie wordt veroorzaakt, is de snelheid waarmee de aanpassing wordt opgemerkt een belangrijk kenmerk van het algoritme. De aanpassing van de concurrentie veroorzaakt een verandering in de trendlijn, de snelheid waarmee de verandering wordt opgemerkt wordt uitgedrukt in het aantal dagen T na het plaatsvinden van de verandering. Voor de instellingen van de marge en nauwkeurigheid kan de verwachtingswaarde van deze snelheid worden berekend. De verwachtingswaarde E(T ) wordt uitgedrukt in het aantal dagen nadat de verandering heeft plaatsgevonden waarop de gemiddelde waarde buiten de marge valt. De aanpassing die door de concurrentie wordt veroorzaakt, zal voor de advertentie een aanpassing van ∆v (verandering) betekenen. Bijvoorbeeld: advertentie staat gemiddeld op positie 4, op tijdstip nul (T = 0) komt er een concurrent bij die zoveel biedt dat deze op een hogere positie dan 4 komt, dan zal de eigen advertentie een gehele positie omlaag gaan. De verandering ∆v is dan 1. In figuur 5.2 staat de verwachtingswaardes E(T ) voor de dag dat de invloed van de concurrentie wordt opgemerkt, bij een verandering van ∆v op tijdstip T = 0 in de huidige situatie. T = 1 zou betekenen dat de verandering na 1 dag wordt opgemerkt.
40
HOOFDSTUK 5. EVALUATIE EN RESULTATEN Indicator CPC (marge = 1 cent) positie (marge = 0.5 posities)
∆v 1 cent 2 cent 3 cent 0.5 posities 1 positie 2 posities 3 posities
E(T ) in dagen 7 4 3 7 4 2 1
Tabel 5.2: Benadering van het verwachte tijdstip E(T ) wanneer de verandering wordt opgemerkt door SM A7 voor verschillende ∆v Conclusie De wiskundige kenmerken geven geen reden tot het wantrouwen van de gebruikte methoden. De snelheid en nauwkeurigheid van SM A7 is in het theoretische model goed. Zowel de instelling voor de indicator ‘CPC’ als ‘positie’ werkt goed en wanneer de Adwords Professional ´e´en maal per week de gegevens bekijkt. Een gemaakte aanpassing zal zijn invloed in de tussentijd hebben verwerkt, en een door de concurrent gemaakte verandering zal worden opgemerkt. De nauwkeurigheid van de beide methoden zijn beide gemiddeld hoger dan 95%. In een situatie waarbij 53x per jaar wordt gekeken of een update gemaakt moet worden, zal dus 2.7 keer een foute update gemaakt worden die pas na een week wordt hersteld. Vaker controleren (door een geautomatiseerd systeem) heeft dus ook het voordeel dat sneller grote veranderingen worden opgemerkt, en eventuele foute aanpassingen snel hersteld kunnen worden.
5.2.2
Implementatie resultaten
De werkelijke resultaten zijn verkregen door het prototype een bestaande advertentiecampagne te laten beheren. Hiervoor is, zoals al eerder genoemd, een prototype ontwikkeld. De resultaten van de implementatie zullen worden bekeken door de afwijking tot het ingestelde doel op te vragen. Deze wordt berekend door elke dag het gemiddelde te berekenen van de wortel uit de kwadratische afwijking tot het doel. In formulevorm: Voor een advertentiecampagne van n advertenties x(1) . . . x(n) is de doelwaarde xdoel (i) en het werkelijke waarde xwerkelijk (i). De gemiddelde afwijking tot het doel wordt dan berekend door: n q X 1 (xdoel (i) − xwerkelijk (i))2 n i=1 Opstelling 1 Opzet E´en advertentiecampagne van 40 woorden is ingesteld om elke advertentie door middel van de indicator ’kosten per klik’ te beheren. Voor het maken van de voorspelling wordt SM A7 gebruikt, en voor het maken van de aanpassing in de prijs een aanpassing van ´e´en cent. De analyse is gemaakt in de periode van 21 september tot 1 november 2006. Hypothese De verwachting is dat dat de gemiddelde afwijking ten opzichte van het ingestelde doel kleiner wordt.
41
HOOFDSTUK 5. EVALUATIE EN RESULTATEN
Resultaat Het resultaat is weergegeven in figuur 5.1. In de periode dat het biedmanagament wordt uitgevoerd door het prototype is er een duidelijke daling van de gemiddelde afwijking tot het doel te zien. Dit betekent dat de opstelling met het gebruikte algoritme in de praktijk werkt. 1.6
1.6
gemiddelde afwijking tot doel
gem. afw. tot doel
1.4
1.4
1.2
1.2
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0 0
5
10
15
20
25
30
35
40
45
Figuur 5.1: biedmanagementsysteem aan, gemiddelde afwijking tot het doel per dag
0 0
2
4
6
8 10 12 14 16
Figuur 5.2: biedmanagementsysteem uit, gemiddelde afwijking tot het doel per dag
opstelling 2 Opzet Nadat opstelling 1 voor een periode van 42 dagen door het prototype was beheerd, is het beheer stopgezet op 6 november tot 22 november 2006. Hypothese Wanneer het beheer van de campagne door het biedmanagementprototype wordt stopgezet zal de afwijking tot het ingestelde doel toenemen, omdat door de veranderingen van de concurrentie het gewenste doel niet vanzelf behouden blijft. Resultaat Het resultaat is weergegeven in figuur 5.2. Nadat het biedmanagementprototype is uitgezet is er een duidelijke stijging van de gemiddelde afwijking tot het doel te zien. Dit betekent dat, in dit geval, de effecten van het biedmanagementprototype en het gebruikte algoritme in dit geval verdwijnen na het uitschakelen van het geautomatiseerd beheer.
5.2.3
Conclusie
De conclusie die uit de resultaten van het implementatie biedmanagementsysteem getrokken kan worden is dat het ge¨ımplementeerde prototype in deze twee opstellingen aan de verwachtingen voldoet. In de eerste opstelling werden de gewenste doelen bereikt. Daarnaast is met behulp van dit prototype laten zien dat het geautomatiseerd beheren van een advertentiecampagne mogelijk is. Het was helaas niet mogelijk om meerdere campagnes te laten beheren. Hierdoor is onvoldoende bewijs aanwezig om een globale uitspraak voor het beheren van alle advertentiecampagnes te kunnen geven.
Hoofdstuk 6
Data-analyse In dit hoofdstuk wordt beschreven welke verbeteringen in het geautomatiseerd beheren van advertentiecampagnes mogelijk zijn. De instellingen die het beste overeenkomen met de huidige werkwijze van de Adwords Professional zijn waarschijnlijk niet de meest ideale instellingen voor de specifieke campagne. Om te analyseren hoe een advertentiecampagne kan worden verbeterd, wordt in dit hoofdstuk beschreven op welke manier de instellingen per advertentie te optimaliseren zijn.
6.1
Instellingen prestatieindicator
Een van de belangrijkste keuzes voor het instellen van het biedmanagementsysteem is het kiezen van de juiste indicator. Niet elke indicator is geschikt om daarmee een advertentiecampagne te sturen. Een indicator is niet geschikt wanneer deze te weinig relevante gegevens bevat, ´ of waarbij de variantie in de gegevens zo groot is dat deze alleen met behulp van een grote marge een acceptabele nauwkeurigheid haalt. In dat geval kan beter voor een andere indicator gekozen worden. De indicator ‘gemiddelde positie’ of ‘kosten per klik’ zal in iedere situatie gebruikt kunnen worden, omdat deze niet worden be¨ınvloed door het aantal bezoekers. Prestatieindicatoren waarbij de invloed van de bezoeker een rol speelt zijn o.a. vertoningen, kosten, kliks, conversies. Prestatieindicatoren waar de bezoeker geen invloed op heeft zijn gemiddelde positie en kosten per klik. Het is aan te raden om of de ‘gemiddelde positie’ of de ‘kosten per klik’ in eerste instantie in iedere situatie te gebruiken, tot er voldoende data beschikbaar is om aan te kunnen tonen dat ook andere indicatoren geschikt zijn.
6.2
Instellen doelwaarde
De instellingen die de Adwords Professional maakt om een advertentie naar een doel te sturen is gebaseerd op ervaring en literatuur (zie hoofdstuk 2). Het is echter aannemelijk dat er in veel situaties een betere instelling mogelijk is wanneer specifieker naar de eigenschappen van de advertentie(groep) wordt gekeken. Door prestatieindicatoren waarbij de invloed van de bezoekers een rol speelt uit te zetten tegen een prestatieindicator waar de bezoeker geen invloed op heeft, is te berekenen hoe de bezoeker maximaal be¨ınvloed kan worden. Om dit aan te tonen is, van een veel opgevraagd woord, in figuur 6.1 en 6.2 de positie uitgezet tegen respectievelijk de CTR en de conversie. Uit figuur 6.1 blijkt dat in deze situatie het optimale doel, waarmee de hoogste CTR wordt behaald, ongeveer positie 4.5 is. Daarentegen blijkt uit figuur 6.2 dat het optimale doel voor de conversies ongeveer positie 2 is. Voor de indicator ‘kosten per klik’ is in 6.3 de 42
43
HOOFDSTUK 6. DATA-ANALYSE
CPC uitgezet tegen de kosten. De kosten zijn uitgedrukt in microcenten1 . Hieruit is geen optimum te text (All) berekenen. Total text (All)
Total
Average of vertoningen_per_klik
90
S u m
of c onversions
10
80
9
70
8
7
60
6
50 Total
5
Total
40 4
30 3
20
2
10
1
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
s_pos
e optim
3
4
5
6
7
8
9
10
11
12
13
14
15
Figuur 6.2: Op de x-as de posities van de advertentie, uitgezet tegen het aantal conversies op die positie
alisatie
Total
S u m
of vertoningen_per_klik
300
250
200
150
Total
100
50
0 50000
250000
310000
370000
460000
560000
625000
670000
730000
780000
827500
940000
980000
1210000
1630000
s_c pc
Figuur 6.3: Op de x-as de CPC (in microcenten) van de advertentie, uitgezet tegen de doorklikverhouding
6.3
Instellen SMA
De in de evaluatie beschreven kenmerken van het Single Moving Average, nauwkeurigheid en snelheid, zijn bepaald op basis van de door de Adwords Professional gehanteerde instellingen, het weekgemiddelde en de marge. Door deze instellingen te veranderen is het mogelijk om op basis van theoretische modellen te komen tot ‘betere’ instellingen. Zo is een methode die ´en sneller ´en nauwkeuriger is altijd beter. Of daarna de nadruk wordt gelegd op ´of snelheid ´of nauwkeurigheid is afhankelijk van de campagne, en of de Adwords Professional kiest voor een voorzichtige of agressieve aanpak.
6.3.1
Geschiedenisperiode
E´en van de variabelen van SM Ap is de periode p waarover het gemiddelde wordt berekend; de geschiedenisperiode. Door een andere periode te kiezen verandert ook de standaardfout van de geschiedenisperiode, waarmee de nauwkeurigheid van de berekening wordt be¨ınvloed. In tabel 6.1 is de nauwkeurigheid voor verschillende geschiedenisperiodes weergegeven. In de tabel staan de verschillen in nauwkeurigheid voor de CPC en de positie. De nauwkeurigheid is opgedeeld in 1 De
16
s_pos
Figuur 6.1: Op de x-as de positie van de advertentie, uitgezet tegen de doorklikverhouding text (All) nam
2
eenheid microcenten wordt door Google gebruikt voor bedragen (1000 microcent = 1 cent)
44
HOOFDSTUK 6. DATA-ANALYSE
de verwachte nauwkeurigheid, en de boven- en ondergrens. Deze opdeling is gemaakt aan de hand van de berekende variantie (σcpc en σpostitie ) in het Google Algoritme (zie bijlage B.3). Daarnaast is voor de CPC een marge van 1 cent gebruikt en voor de positie een marge van 0.5 posities, gelijk aan de gebruikte marges in de evaluatie en implementatie.
SM A1 SM A2 SM A3 SM A4 SM A5 SM A6 SM A7 SM A8 SM A9 SM A10
bovengrens 75.5% 90.0% 95.6% 98.0% 99.1% 99.6% 99.8% 99.9% 100% 100%
σcpc gemiddelde 69.2% 85.1% 92.3% 95.9% 97.7% 98.8% 99.3% 99.6% 99.8% 99.9%
ondergrens 63.7% 80.1% 88.5% 93.1% 95.8% 97.4% 98.4% 99.0% 99.4% 99.6%
bovengrens 63.7% 80.1% 88.5% 93.1% 95.8% 97.4% 98.4% 99.0% 99.4% 99.6%
σpositie gemiddelde 57.3% 73.8% 83.1% 88.8% 92.4% 94.8% 96.4% 97.5% 98.3% 98.8%
ondergrens 48.4% 64.2% 73.9% 80.6% 85.3% 88.8% 91.4% 93.4% 94.9% 96.0%
Tabel 6.1: nauwkeurigheid bij specifieke geschiedenisperiodes, voor de CPC (marge=1 cent) en positie(marge=0.5 posities) Uit de gegevens blijkt dat voor een hogere geschiedenisperiode de nauwkeurigheid toeneemt. De reden om niet voor een hoge geschiedenisperiode te kiezen is de snelheid, wanneer een hoge geschiedenisperiode wordt gekozen is de snelheid waarmee een verandering wordt opgemerkt laag. De verwachtingswaarde voor de dag dat de update wordt uitgevoerd, na een verandering van ∆v op T = 0 is de het tijdstip T waarop geldt: T ∆v ⌉ ≥ marge ⌈ geschiedenisperiode Voor een ∆v van 1 en 0.5 eenheden staan een overzicht van verwachtingswaardes voor de snelheid T in respectievelijk tabel 6.2 en tabel 6.3.
SM A1 SM A2 SM A3 SM A4 SM A5 SM A6 SM A7 SM A8 SM A9 SM A10
0.20 1 1 1 1 1 2 2 2 2 2
0.50 1 1 2 2 3 3 4 4 5 5
marge 0.60 1 2 2 3 3 4 5 5 6 6
0.80 1 2 3 4 4 5 6 7 8 8
1.00 1 2 3 4 5 6 7 8 9 10
Tabel 6.2: Verwachte snelheid in dagen voor een specifieke marge, bij een verandering van 1 eenheid. (bv. cent)
SM A1 SM A2 SM A3 SM A4 SM A5 SM A6 SM A7 SM A8 SM A9 SM A10
0.10 1 1 1 1 1 2 2 2 2 2
0.20 1 1 2 2 2 3 3 4 4 4
marge 0.30 1 2 2 3 3 4 5 5 6 6
0.40 1 2 3 4 4 5 6 7 8 8
0.50 1 2 3 4 5 6 7 8 9 10
Tabel 6.3: Verwachte snelheid in dagen voor een specifieke marge, bij een verandering van 0.5 eenheid. (bv. positie)
Uit de tabel blijkt dat er geen instelling worden berekend waarmee ´en de snelheid ´en de nauwkeurigheid optimaal is. Wat een goede instelling is, is afhankelijk van de wensen van de Adwords Professional en de specifieke kenmerken van de campagne of advertenties. De theoretische nauwkeurigheid en snelheid die op deze manier kan worden berekend geeft de Adwords Professional meer inzicht in de mogelijke instellingen.
45
HOOFDSTUK 6. DATA-ANALYSE
Met behulp van bovenstaande gegevens kan voor de werkwijze van de Adwords Professional de nauwkeurigheid worden berekend. De gebruikte instellingen zijn: • • • •
indicator = positie; SM A7 ; marge = 0.5; ∆v = 1;
Deze instellingen hebben een gemiddelde nauwkeurigheid van 96.4% en een verwachte snelheid van 4 dagen. Uit de gegevens blijkt dat SM A8 even snel is maar nauwkeuriger. Een snellere methode is SM A6 maar daarvoor moet aan nauwkeurigheid worden ingeleverd; met een nauwkeurigheid van 94.8%. Het verhogen van de periode naar een grotere waarde dan SM A10 geeft een t´e afgezwakt beeld van de huidige situatie, en is daarom niet praktisch bruikbaar.
6.3.2
Marge
Een andere bepalende factor voor de nauwkeurigheid van de instellingen voor SMA is de marge die rond het doel wordt ingesteld; doel ± marge. In tabel 6.4 en 6.5 is de nauwkeurigheid voor de gemiddelde variantie van respectievelijk de prestatieindicator CPC en de gemiddelde positie weergegeven. Uit de gegevens blijkt dat een grotere marge bij gelijke geschiedenisperiode de nauwkeurigheid toeneemt. De reden om niet voor een hoge marge te kiezen is dat daarmee een verandering in de omgeving niet meer wordt opgemerkt. De verandering ∆v wordt namelijk niet opgemerkt als ∆v ≥ marge. Daarnaast is in de tabellen te zien dat voor een grotere geschiedenisperiode en gelijke marge de nauwkeurigheid toeneemt. Zoals in de vorige paragraaf beschreven heeft dit een negatieve invloed op de snelheid. Uit de tabel blijkt dat er geen instelling is met de optimale marge. Een grote marge is nauwkeuriger maar zal minder snel of helemaal niet meer een verandering opmerken, bij een kleine marge moet een lange geschiedenisperiode worden gekozen waardoor de trendlijn minder goed gevolgd wordt. Wat een goede instelling is, is afhankelijk van de wensen van de Adwords Professional, de specifieke kenmerken van de campagne of advertenties. De theoretische nauwkeurigheid en snelheid die op deze manier kan worden berekend geeft de Adwords Professional meer inzicht in de mogelijke instellingen.
SM A1 SM A2 SM A3 SM A4 SM A5 SM A6 SM A7 SM A8 SM A9 SM A10
0.2 16.2% 22.7% 27.6% 31.7% 35.2% 38.3% 41.1% 43.6% 46.0% 48.1%
0.6 46.0% 61.3% 71.1% 77.9% 82.9% 86.6% 89.5% 91.7% 93.4% 94.7%
marge 0.8 58.6% 75.2% 84.3% 89.7% 93.2% 95.4% 96.9% 97.9% 98.6% 99.0%
1.4 84.7% 95.7% 98.7% 99.6% 99.9% 100% 100% 100% 100% 100%
1.8 93.4% 99.1% 99.9% 100% 100% 100% 100% 100% 100% 100%
Tabel 6.4: nauwkeurigheid bij specifieke marges, voor de gemiddelde variantie van CPC
periode SM A1 SM A2 SM A3 SM A4 SM A5 SM A6 SM A7 SM A8 SM A9 SM A10
0.2 24.9% 34.7% 41.8% 47.5% 52.2% 56.3% 59.9% 63.1% 65.9% 68.5%
0.6 65.9% 82.2% 90.1% 94.3% 96.7% 98.0% 98.8% 99.3% 99.6% 99.7%
marge 0.8 79.6% 92.7% 97.2% 98.9% 99.5% 99.8% 99.9% 100% 100% 100%
1.4 97.4% 99.8% 100% 100% 100% 100% 100% 100% 100% 100%
1.8 99.6% 100% 100% 100% 100% 100% 100% 100% 100% 100%
Tabel 6.5: nauwkeurigheid bij specifieke marges, voor de gemiddelde variantie van de positie
HOOFDSTUK 6. DATA-ANALYSE
6.4
46
Conclusie
Uit de data-analyse blijkt dat er verbeteringen van de instellingen mogelijk zijn waardoor het heel aannemelijk is dat hiermee de gehele campagne verbetert. Dat er verbeteringen mogelijk zijn is aangetoond door middel van optimalisatieberekeningen voor de doelwaarde. Daarnaast is aangetoond dat de snelheid en de nauwkeurigheid berekend kunnen worden aan de hand van de wensen van de Adwords Professional en de kenmerken van de campagne of advertentie. Door het inzichtelijker te maken welke effecten de instellingen van het biedmanagementsysteem hebben, zal met deze informatie per advertentie een betere instelling gekozen kunnen worden. De wensen die de Adwords Professional heeft qua nauwkeurigheid en snelheid kan in combinatie met de eigenschappen van de advertentie vertaald worden naar de te maken instellingen. Dat deze instellingen uiteindelijk een verbetering van de gehele campagne bewerkstelligen is niet specifiek aangetoond; het is echter wel aannemelijk dat wanneer elk individueel item van de campagne optimaal wordt ingesteld, de gehele campagne verbetert. Op welke manier deze aanname ge¨evalueerd kan worden staat in het hoofdstuk Evaluatie beschreven. In dit onderzoek is er onvoldoende tijd en data beschikbaar om deze evaluatie uit te voeren. Het berekenen van een optimale doelwaarde is mogelijk wanneer er voldoende gegevens beschikbaar zijn, dit is ´e´en van de beschreven manieren waarop de instellingen voor het bijsturen van de advertentiecampagne verbeterd kan worden.
Hoofdstuk 7
Conclusie en aanbevelingen In dit hoofdstuk wordt de probleemstelling beantwoord aan de hand van de onderzoeksvragen. Daarnaast worden er aanbevelingen gedaan op welke manier het onderzoek voortgezet kan worden, en op welk gebied toekomstig onderzoek zich zou kunnen richten.
7.1
Conclusie
De centrale vraag van het onderzoek luidt: “Op welke manier kan een advertentiecampagne geautomatiseerd worden bijgestuurd en verbeterd?”. In de opdrachtsomschrijving is deze probleemstelling onderverdeeld in de volgende onderzoeksvragen. Op welke manier wordt handmatig een advertentiecampagne bijgestuurd? De Adwords Professional, die het beheer van de advertentiecampagnes uitvoert, heeft voor de verschillende campagnes verschillende mogelijkheden voor het bereiken van het doel. Hij kan ervoor kiezen om de positie van een advertentie te gebruiken en de prijs aan te passen tot de juiste positie wordt bereikt. Een andere methode is het vaststellen van de prijs op basis van een beschikbaar maandbudget, en aan de hand van deze prijs alle woorden van een advertentiecampagne in te stellen. De in te stellen prijs per klik, en het maximale budget per advertentie is voor elke advertentie anders. Per advertentie kan de maximale prijs per klik via de Google Adwords internetpagina worden ingesteld. Welke factoren be¨ınvloeden de beslissing van de Adwords Professional voor het maken van aanpassingen? Factoren die de beslissing be¨ınvloeden zijn omschreven door middel van prestatieindicatoren. Prestatieindicatoren zijn de factoren die inzicht verschaffen in de prestaties van een advertentie of internetpagina. Gegevens zoals de kosten, het aantal vertoningen, het aantal (ge¨ıntresseerde) bezoekers, het aantal conversies etcetera. Met behulp van deze gegevens kunnen de prestaties van de advertentie gekoppeld worden aan het rendement van de advertentie. Op deze manier kan een bovengrens aan het maximaal uit te geven bedrag per advertentie worden bepaald. Het is mogelijk om specifieker per woord een maximale prijs per klik te berekenen, en de prijs en positie van de advertentie hierop aan te passen. Hoe zijn deze factoren en beslissingen te verwerken naar een geautomatiseerd proces? De handelingen en beslissingen kunnen in een geautomatiseerd proces omgezet worden met behulp van de architectuur van een decision support system (DSS). Met behulp van de gestructureerde opbouw van een decision support system is het mogelijk om de werkwijze van de Adwords Professional te automatiseren. De handelingen en factoren worden opgedeeld in de verschillende onderdelen van het decision 47
HOOFDSTUK 7. CONCLUSIE EN AANBEVELINGEN
48
support system. De structuur van een DSS maakt onderscheid in het extraheren van de te gebruiken gegevens (het databasemanagement), de verwerking van de gegevens in heuristische- en optimalisatiemodellen (het modelmanagement), en de mogelijkheden voor verbetering van de instellingen (het knowledgemanagement). In deze onderdelen kunnen alle verschillende mogelijkheden voor het opvragen, verwerken en analyseren van de gegevens worden uitgewerkt. De specificatie van dit ontwerp staat in het hoofdstuk Specificatie beschreven. Op welke manier is een verbetering van een advertentiecampagne mogelijk? Op twee manieren is een verbetering mogelijk. Door het dagelijks controleren van de prestatieindicatoren met de ingestelde doelen, worden snel veranderingen opgemerkt en aangepast. In een evaluatie van de werkwijze van de Adwords Professional, dat naar een geautomatiseerd proces is omgezet, is voor de beheerde advertentiecampagne een daling van de afstand tot het ingestelde doel gerealiseerd. De tweede manier waarop een verbetering mogelijk is, is het berekenen van optimale doelwaarden voor de specifieke advertentietekst of -campagne. Uit de data-analyse van verzamelde gegevens blijkt, bij voldoende relevante gegevens, deze gebruikt kunnen worden om de instellingen per advertentie te optimaliseren. Het verbeteren van een advertentiecampagne is dan mogelijk, omdat inzichtelijk is op welke manier de bezoeker be¨ınvloed wordt door de positie van de advertentie.
7.2
Aanbevelingen
Aanbeveling is om het prototype of biedmanagementsysteem uit te breiden met de beschreven modellen van het model management. Op deze manier kan worden onderzocht, door middel van de in de evaluatie beschreven methode, of de beschreven aanpassingen op de huidige werkwijze een verbetering opleveren. Daarnaast moet het biedmanagementsysteem voor veel meer campagnes worden ingezet om zo voldoende gegevens te verzamelen om de data-analyse opnieuw uit te kunnen voeren. Met behulp van deze gegevens is het daarna mogelijk om de knowledge base te implementeren, waardoor een intelligent decision support systeem ontstaat. Door stapsgewijs elke invoer die door de Adwords Professional gedaan moet worden te analyseren en te modelleren zal uiteindelijk een systeem ontstaan waarbij alleen de te beheren campagnes geselecteerd hoeven te worden. Nadat voldoende gegevens beschikbaar zijn, wordt automatisch de juiste positie en maximale prijs berekend en voor die advertentie ingesteld. Een tweede aanbeveling is om de applicatie voor zo veel mogelijk campagnes te gebruiken, daarmee wordt veel waardevolle informatie verzameld om extra kenmerken uit deze data te kunnen gebruiken. Daarnaast levert het ook minder
7.3
Toekomstig onderzoek
Interessant is om te onderzoeken op welke manier de Adwords Professional de advertentiewoorden kiest. Google heeft op dit moment een applicatie beschikbaar waarmee synoniemen van de huidige woordenlijst opgevraagd kunnen worden. Het selecteren van juiste synoniemen of aanvullingen op het huidige pakket woorden, en deze vervolgens aan de campagne toevoegen, is een waardevolle aanvulling wat waarschijnlijk zeer interessante resultaten oplevert.
Bibliografie [1] H M Blanken and A P de Vries. Databasetoepassingen. Universiteit Twente, 2003. [2] Andrew Goodman. Winning Results with Google Adwords. McGraw-Hill, Emeryville, California, 2005. [3] Google. Developer’s guide - adwords api. http://www.google.com/apis/adwords/developer/adwords api classref.html, februari 2006. [4] Google. Hoe wordt de positie van een advertentie bepaald? https://adwords.google.com/support/bin/answer.py?answer=6111&ctx=nl:cuf2, februari 2006. [5] Boris MordKovich and Eugene Mordkovich. Pay-Per-Click: Search Engine Marketing Handbook. MordComm, Inc., 2005. [6] Erik T Peterson. The Big Book of Key performance indicators. n.p., 2006. [7] L F Pires and D A C Quartel. Protocol Engeneering. Universiteit Twente, 2002. [8] Catherine Seda. Search Engine Advertising: buying your way to the top to increase sales. New Riders, Berkeley, California, februari 2004. [9] ThinkMetrics. Web analytics - the basics: Key numbers for managing your website. http://www.thinkmetrics.com/thebasics.php, maart 2006. [10] Efraim Turban and Jay E Aronson. Decision support systems and intelligent systems. Prentice Hall International, Inc., 2001. [11] Kennisbasis Statistiek, 2006. [12] Robert Yaffee and Monnie McGee. Introduction to Time Series Analysis and Forecasting. Academic Press, Inc., 2000.
49