Ik kan me haast niet voorstellen dat jij als marketeer niet meerdere keren per dag denkt: “Dit moet toch sneller kunnen?”. Wij marketeers willen toffe campagnes uitdenken, nieuwe strategieën implementeren of een sterke optimalisatieronde uitvoeren die de ROI flink doet stijgen, maar we ontkomen er vaak niet aan om veelvuldig repetitieve handelingen uit te voeren.

 Dit onderstaande is dan ook een te vaak gehoord gesprek:

“Ik moet nog even die rapportage afmaken”

“Ok, hoelang duurt dat dan denk je?”

“Nou, ik weet precies wat ik erin wil hebben en welke cijfers ik met elkaar wil vergelijken, maar Excel maakt het me lastig, en de bestanden moet ik eerst nog opschonen voordat ik ze met elkaar kan vergelijken…”

Zin om eens een ander gesprek te voeren bij de koffieautomaat? Dan wil ik je in dit blog introduceren aan Python, de ‘programmeertaal voor marketeers’!

Wat is Python?

Python is op het eerste gezicht een programmeertaal net als vele anderen. Maar ondanks dat Python eind jaren 80 al bedacht is, wint het de laatste jaren enorm aan populariteit.

‘Hoe komt dat?’ vraag je misschien af. Python is relatief makkelijk te leren en eenvoudig te lezen. Die twee eigenschappen hebben ervoor gezorgd dat andere werkvelden de taal, en daarmee het programmeren, zijn gaan omarmen.

Het idee achter Python:

  • Beautiful is better than ugly.
  • Explicit is better than implicit.
  • Simple is better than complex.
  • Complex is better than complicated.
  • Readability counts.

En juist dit credo is één van de redenen dat het niet alleen enorm populair is onder programmeurs, maar ook onder data-analisten, webshopeigenaren, antropologen, sociologen en ja, ook online marketeers! Hieronder volgt een voorbeeld van zomaar een stukje Pythoncode waarin een crawl van een website vanuit Google Sheets wordt ingeladen. De functie is met een beetje creativiteit vrij eenvoudig te interpreteren.

creds = ServiceAccountCredentials.from_json_keyfile_name(google-creds.json”, scope)

client = gspread.authorize(creds)
sheet1 = client.open(“Crawl”).sheet1
dataset1 = sheet1.get_all_records()

Ik kan me haast niet voorstellen dat jij als marketeer niet meerdere keren per dag denkt: “Dit moet toch sneller kunnen?”

Hoe werkt Python?

Simpel gezegd bestaat Python uit een hoofdmodule die je vervolgens kunt aanvullen met nieuwe modules. Deze modules bestaan uit grote stukken code die samengevoegd zijn tot simpele functies. Deze functies kun je vervolgens vanuit een library aanroepen in je eigen code. De hele lappen code zijn daardoor in één keer op te roepen, zonder dat je al het voorwerk opnieuw hoeft te doen. Zie je de trend? Ook de makers en de vele programmeurs die iets toevoegen aan Python leven volgens het principe dat alles simpeler kan, niks twee keer tijd hoeft te kosten en dat simpel beter is dan complex.

PandaS

Eén van de modules waar je veel mee te maken gaat krijgen tijdens data-analyse is de PandaS module. PandaS is een statistisch monster en stelt je onder andere in staat om razendsnel en foutloos door Excelbestanden te gaan, gemiddelden uit te rekenen en kolommen te selecteren en vergelijken. PandaS biedt te veel om op te noemen en jouw eigen creativiteit betreft data-analyse is in deze de grens tot waar je kunt gaan.

Hieronder enkele voorbeelden van het gebruik van Python / PandaS voor marketing en automatisering. Hopelijk schetst dit een beeld van het legio aan mogelijkheden die er zijn.

  • Google AutoSuggest tool (automatisch alle Google suggesties uitdraaien, terwijl je zelf tot 5 zoekwoorden opgeeft)
  • Automatisch ingeplande maandelijkse analyses uitvoeren vanuit Google Sheets en Excel
  • E-mail Bot die automatisch e-mails schrijft op basis van de input van jouw scripts
  • Desktop file cleaner die files rangschikt op naam en type bestand en vervolgens in de juiste mappen stopt
  • Google Ads keyworddata vergelijken met Google Search Console data om zo optimaal te profiteren van SEO en SEA
  • SEO pagina checker die de title, meta en header controleert op lengte en het bevatten van belangrijke keywords

Waarom zou je als marketeer Python moeten gebruiken?

  1. Rapportages automatiseren
  2. Snel waardevolle inzichten in grote datasets opdoen
  3. Makkelijk vergelijken van verschillende databronnen
  4. Repetitieve handelingen automatiseren

“Maar Sjoerd, ik wil niet leren programmeren”.

Nou, ik kan je aanraden dat wel te doen. En niet alleen ik, ook Christian vindt dat je er goed aan doet om te leren programmeren. (Bekijk hier wat Christian te zeggen heeft tijdens zijn TEDx Talk).

Een top comment bij de video

Of het zo radicaal gaat zijn dat weet ik niet, maar ik had in het jaar 1400 liever niet de gok gewaagd en gedacht dat lezen maar een hype was.

De misconceptie is dat coderen nerdy en niet toegankelijk is. Terwijl je in essentie eigenlijk een puzzel oplost die je werk een stuk eenvoudiger maakt. Ga je er op die manier naar kijken, dan kan het zelfs leuk zijn!

Marketing is boring so automate it

Voor een marketeer zijn er nou eenmaal (vervelende) routineklussen. Je weet wat je moet doen, je hebt het zelfs ontelbaar keren gedaan, maar toch kan het niet sneller. Denk bijvoorbeeld aan het periodiek vergelijken van data. Zoals een maand op maand of jaar op jaar analyse.

  1. Excel bestand openen
  2. .csv bestand erbij
  3. Misschien zelfs wel met pijn en moeite aan ‘verticaal zoeken’ gedacht
  4. Of het staat (deels) in een dashboard
  5. …En anders zoeken maar!

Maar wat als dat allemaal met één druk op de knop kan? Het echte denkwerk is immers gedaan. Je kunt de routine inmiddels dromen, maar de uitvoering laat eigenlijk te wensen over. Dit wil je automatiseren, en als je daar nog niet aan had gedacht, dan ga je dankzij een beetje kennis van Python de mogelijkheden vanzelf zien.

Sterker nog, het wordt waarschijnlijk een uitdaging om niet bij alles te gaan denken dat het automatisch of sneller kan. Ter illustratie heb ik het volgende automatiseringsprobleem dat opgelost moest worden.

Downtime website automatisch controleren

Probleemstelling: “Ik wil de downtime van mijn website automatisch monitoren en direct een melding krijgen wanneer mijn website offline is.”

De stapsgewijze (simpele) oplossing voor dit probleem:

  1. De juiste website benaderen
  2. Op basis van de URL van de homepage de statuscode opvragen
  3. Notificatie: Wanneer de statuscode niet gelijk is aan 200

Vertalen we dit naar een stukje pythoncode dan is te zien dat je door het uitschrijven van de handelingen die je normaal zou uitvoeren eigenlijk een blueprint hebt gemaakt voor je stukje code. Hieronder zie je dat eerst via een try functie de website wordt benaderd (stap 1). Vervolgens geven we een ‘if’ variabele mee die zegt, wanneer de status code niet gelijk is aan 200 dan is de site offline en wordt er een notificatie uitgestuurd (Stap 2 en 3).

‘notify_user_site_down()’ is vrij duidelijk te interpreteren, omdat je zelf de naam aan dergelijke functies kunt geven. Wat je hier doet is een uitgebreidere functie, zoals het sturen van een notificatie naar een bepaalde gebruiker op basis van een bepaalde actie simpelweg verpakken in een simpele afgeleide functie. Je hoeft deze maar één keer te bedenken en uit te schrijven om vervolgens overal in je code toe te passen, zonder alles weer opnieuw te hoeven schrijven.

Zie hieronder de definitie van de ‘notify_user_site_down()’ functie. Deze geeft aan dat Gmail benaderd dient te worden, vervolgens vindt de inlog plaats zoals een normaal mens ook zou doen door middel van gebruikersnaam en wachtwoord en daarna staat het opgestelde bericht klaar om verzonden te worden. 

Data-analyse zonder dat ene getalletje over het hoofd te zien

Hoe ga je foutloos te werk als je te maken hebt met miljoenen regels aan data? Dat grotere overzicht – ondanks gigantische bestanden – is ook iets waar Python een uitkomst biedt. Denk je analyse één keer grondig uit en leg dit vast in Python code. Vervolgens hoef je nooit meer al het harde werk te doen, maar heb je wél altijd foutloze analyses.

Zelfs als een klant toch besluit dat een andere variabele in de analyse moet worden meegenomen?

Ja, zelfs dan betekent het niet meer dan enkel je code een beetje bijschaven. Nooit meer een analyse opnieuw uitvoeren, omdat een databron niet helemaal klopt: dat is erg lekker!

Python leren?

YouTube! Het is geen geheim dat je tegenwoordig alles op YouTube kunt leren. Zo ook Python. Je leert Python het beste door het te doen. Doordat de tutorials direct met praktische voorbeelden aan de slag te gaan, is het ook makkelijker om de abstractheid van de formules te vertalen richting echte werksituaties.

Voor een leek is het natuurlijk lastig inschatten welk van de duizenden tutorials op YouTube relevant zijn, dus dat uitzoekwerk wil ik je besparen.

Hieronder de (wat mij betreft) meest effectieve (gratis!) tutorialsreeksen.:

Python zelf installeren?

Je kunt natuurlijk niet beginnen zonder Python te installeren. Nu is dat erg simpel. Wel moet je rekening houden met de ontelbare hoeveelheid modules die je kunt – of soms zelfs moet – toevoegen aan je scripts. Ikzelf werk daarom het liefst met Jupyter Notebook of Google CoLab. De laatste twee zijn ook voor een ‘niet-programmeur’ simpel op te starten en houden de code leesbaar. Doordat elke stap uitgevoerd en aangepast kan worden, kom je met trail and error vaak al een heel eind. Mocht je toch wat dieper willen gaan, heb ik onderaan ook een fijne code editor toegevoegd. Wanneer je meer code gaat schrijven en de syntax door hebt, is een code editor essentieel aangezien deze enorm veel ondersteuning biedt op het gebied van spelling en foutmeldingen. Ook geeft een code editor tips voor het schrijven van je huidige code.

Jupyter Notebook

Jupyter is een non profit open source project dat gebruikt wordt als interactieve data science tool waarin meerdere programmeertalen makkelijk samen komen. Het classic notebook gebruikt Python als basis en heeft heel wat handige toevoegingen die het je makkelijker maken om door de data heen te gaan.

Probeer het in je browser
Officiële Installatie documentatie
Installatie instructies van Corey Schafer

Google CoLab

Starten met CoLab

  • Gratis te benaderen via elk Google-account.
  • Geschikt voor meerdere programmeertalen, waaronder Python.
  • Stelt je in staat om gezamenlijk in een codebestand te werken.

PyCharm

Hier gratis te downloaden

PyCharm is een Code Editor speciaal ingericht voor Python. Wanneer je bezig gaat met grotere applicaties of uitgebreide automatiseringen is het aan te raden met een code editor te werken. Deze heeft onder andere een autocorrect terwijl je code schrijft, wat soms uren frustratie bespaard.

Net als ik enthousiast geworden over Python? Laat een berichtje achter! Ik praat je graag bij over de laatste nieuwtjes omtrent deze programmeertaal.