Data opschonen en voorbereiden voor process mining
Effectief process mining begint met data van goede kwaliteit. Het meeste werk draait om dezelfde paar problemen: gebeurtenissen die nooit zijn vastgelegd, identificaties die niet overeenkomen tussen systemen, verschillende indelingen en extracten die te groot of te gevoelig zijn om zomaar te verwerken. Op deze pagina behandelen we die problemen en de stappen om ze op te lossen. Zie voor hetzelfde werk in ProcessMind Je dataset configureren en Datakwaliteit.
Waarom zijn het opschonen en voorbereiden van data belangrijk?
Process mining is gebaseerd op event logs: datasets met de gedetailleerde volgorde van activiteiten binnen een bedrijfsproces. Als die datasets onvolledig of inconsistent zijn of fouten bevatten, zijn de inzichten die je eruit haalt onbetrouwbaar. Met schone, goed gestructureerde data kan de tool workflows in kaart brengen, bottlenecks herkennen en verbeterpunten zichtbaar maken.
Belangrijkste stappen voor het opschonen en voorbereiden van data
1. Verzamel data uit elk betrokken systeem
Data komt meestal uit verschillende systemen: een ERP voor orders en facturen, een CRM voor klantstappen en een servicedesk voor tickets. Verzamel data uit al deze systemen voordat je begint met opschonen. Een stap uit een systeem dat je hebt overgeslagen, kun je later niet meer terughalen.
- Breng databronnen samen: noteer welke systemen een deel van het proces vastleggen en extraheer data uit elk systeem. Een order-to-cash-proces loopt bijvoorbeeld via een verkoopsysteem (zoals Salesforce) en een financieel systeem (zoals SAP).
- Doorbreek datasilo’s: spreek met proceseigenaren af welke systemen meetellen en wie data daaruit mag exporteren. Ontbrekende data komt meestal uit een systeem dat niet is meegenomen, niet uit een defecte query. Integratietools zoals Apache NiFi, Talend, Informatica of Power BI kunnen meerdere bronnen samenvoegen tot één bestand.
- Plan voor data die je niet kunt extraheren: gebeurt een stap buiten een systeem, bijvoorbeeld een goedkeuring per telefoon of op papier, leg het resultaat dan ten minste vast in een digitaal systeem. Je kunt de stap ook modelleren, zodat de procesweergave compleet blijft. Waar haal je data vandaan? behandelt de bronnen per systeem.
2. Verwijder duplicaten
Dubbele records vertekenen de analyse doordat ze aantallen activiteiten opblazen en één event meerdere events laten lijken. Herken ze aan een identieke case-ID, activiteit en timestamp. Verwijder ze daarna of voeg ze samen tot één rij.
3. Ga om met ontbrekende data
Ontbrekende timestamps, activiteiten of case-ID’s verstoren de volgorde van events en leveren onvolledige procesmodellen op.
- Vind ontbrekende waarden: zoek naar lege timestamps, lege activiteitsnamen en lege case-ID’s.
- Vul de gaten aan: gebruik waar mogelijk andere bronnen of domeinkennis. Als één timestamp ontbreekt, kunnen de tijden van omliggende events het bereik verkleinen.
- Modelleer in plaats van te verzinnen: voeg stappen die nooit zijn vastgelegd toe via procesmodellering in plaats van timestamps te verzinnen. Zo komen het geminede proces en het gedocumenteerde proces bij elkaar.
- Vul aan of verwijder: gebruik voor kritieke hiaten een imputatietechniek, zoals gemiddelde substitutie of een regressiemodel. Kan een case niet worden hersteld, verwijder deze dan en noteer waarom.
4. Normaliseer indelingen, ID’s en namen
- Timestamps: gebruik overal één indeling, bijvoorbeeld
YYYY-MM-DD HH:MM:SS. Als de extractie verschillende tijdzones bevat, zet je alles om naar UTC. Bekijk de lijst met ondersteunde datumindelingen - Case-ID’s: hetzelfde proces heeft in verschillende systemen vaak verschillende identificatiegegevens, zoals een ordernummer in het CRM en een factuurnummer in de financiële administratie. Maak een koppeling tussen deze ID’s, in de extractie of in een opzoektabel, zodat elk event onder één case valt. Geef elke procesinstantie een unieke ID. Controleer in ProcessMind of de kolom met de case-ID voor elke gecombineerde dataset op dezelfde manier is gekoppeld. Zie datasetattributen.
- Activiteitsnamen: systemen geven dezelfde stap vaak verschillende namen. Kies per stap één benaming. “Order goedkeuren” en “Ordergoedkeuring” zijn bijvoorbeeld dezelfde activiteit.
- Waarden en typen: houd getallen numeriek, zoals kosten, doorlooptijden en bedragen, en gebruik per kolom één eenheid.
5. Verwijder irrelevante events
Niet elk vastgelegd event hoort bij het proces dat je analyseert. Systeemaanmeldingen, technische nieuwe pogingen en administratieve taken maken de map onoverzichtelijk zonder extra inzicht te geven.
- Filter uit wat er niet bij hoort: gebruik domeinkennis om te bepalen welke events het proces beschrijven en sluit de rest uit.
- Kies het juiste detailniveau: events die te grof zijn, zoals “order afgehandeld”, verbergen de variaties die je zoekt. Events die te gedetailleerd zijn, vullen de map met technische details. Groepeer gebeurtenissen op laag niveau onder de bedrijfsactiviteit waar ze bij horen. Laat procese experts bepalen waar de grens ligt.
6. Ga om met uitschieters en ruis
Uitschieters geven een onjuist beeld van hoe het proces normaal verloopt. Een taak die door een zeldzame gebeurtenis uitzonderlijk lang duurde, kan de gemiddelden sterk beïnvloeden.
- Herken uitschieters: markeer doorlooptijden die ver buiten het normale bereik voor die stap vallen.
- Bepaal of je ze behoudt: een echte uitzondering, zoals een zeldzame maar kritieke fout, bevat vaak waardevolle informatie. Een datafout niet. Verwijder alleen wat onjuist is, niet wat onhandig uitkomt.
7. Controleer de volgorde van events
Als events niet in de juiste volgorde staan, volgt de tool de verkeerde flow.
- Valideer de volgorde: de events van elke case moeten de timestamps volgen. Staat het event “Order goedgekeurd” vóór “Order aangemaakt” in dezelfde case, dan moeten de timestamps worden gecontroleerd.
- Sorteer op timestamp: sorteer de events van elke case vóór het uploaden op de timestampkolom.
8. Ga om met grote datasets
Grote extracties zijn langzaam voor te bereiden en te uploaden. Plan daarom voor de omvang in plaats van ertegen te vechten.
- Gebruik een steekproef om te verkennen en laad alles voor de analyse: met een representatieve steekproef kun je controleren of de geëxtraheerde events logisch zijn. Laad de volledige extractie wanneer de analyse dat vereist.
- Laad stapsgewijs: voeg nieuwe perioden toe met incrementele (delta-)uploads in plaats van alles te vervangen.
- Kies bij voorkeur kolomindelingen: Parquet- en ORC-bestanden zijn bij grote volumes kleiner en sneller te uploaden dan CSV- of Excel-bestanden. Zie Ondersteunde data-indelingen.
9. Bescherm gevoelige data
Event logs bevatten namen, adressen, klantnummers en gebruikers-ID’s. Behandel de extractie daarom als persoonsgegevens.
- Anonimiseer of maskeer: verwijder of maskeer wat de analyse niet nodig heeft. Bewaar gebruikers-ID’s alleen wanneer resourceanalyse belangrijk is.
- Beperk toegang: geef de extractie aan zo weinig mogelijk mensen, alleen wanneer zij deze nodig hebben. Gebruik rolgebaseerde toegangscontrole voor de datasets die je uploadt.
- Volg de regels die voor jou gelden: bewaartermijnen, versleuteling tijdens transport en opslag, en regelgeving zoals de AVG voor klantdata.
10. Maak het event log
Zodra de data schoon, consistent en geordend is, maak je het event log, de primaire dataset voor process mining. Elk log heeft nodig:
- Case-ID: een unieke identificatie voor elke procesinstantie.
- Activiteit: de naam van de uitgevoerde stap.
- Timestamp: het moment waarop de activiteit plaatsvond, waarmee de volgorde van events wordt bepaald.
Optionele kolommen voegen context toe: de bron, afdeling, kosten of een ander aangepast attribuut waarop je het proces wilt uitsplitsen. Alle vereisten staan in Ondersteunde data-indelingen.
11. Valideer de dataset
Controleer voordat je op de resultaten vertrouwt of de dataset het proces weergeeft dat je denkt te analyseren.
- Controleer enkele cases: loop een paar procesinstanties van begin tot eind door en controleer of de volgorde van events logisch is.
- Voer een testanalyse uit: mine het proces één keer en zoek naar duidelijke onzin, zoals activiteiten die nooit plaatsvinden, een onjuist start- of eindevent of cases die al gesloten hadden moeten zijn.
- Bevestig dit met proceseigenaren: bedrijfsexperts kunnen je binnen enkele minuten vertellen of de data overeenkomt met de manier waarop het werk werkelijk verloopt.
Data opschonen in ProcessMind
Veel van de voorbereiding hierboven kun je na het uploaden in ProcessMind uitvoeren:
- Kolommen toewijzen en configureren: stel weergavenamen, datatypen en timestamp-indelingen in bij de datasetattributen in plaats van het bronbestand opnieuw te bewerken.
- Kwaliteit controleren: het dashboard Datakwaliteit markeert ontbrekende waarden en inconsistenties, zodat je die vóór de analyse kunt oplossen. AI-data-aanbevelingen stelt toewijzingen en oplossingen voor.
- Niet-relevante data verbergen of filteren: verberg kolommen bij datasetattributen en gebruik filters om gebeurtenissen uit te sluiten die je niet nodig hebt.
- Opnieuw laden in plaats van opnieuw uploaden: vervang data op dezelfde plek of gebruik incrementele (delta-)uploads voor datasets die voortdurend groeien.
Voor opschonen buiten ProcessMind kun je algemene tools gebruiken, zoals Python/Pandas, Excel, Google Sheets, ETL-tools en OpenRefine. Gebruik deze vóór het uploaden. Zie voor de bredere werkwijze rond naamgeving, indelingen, incrementeel laden en archiveren ETL voor process mining.
Gerelateerde onderwerpen
- Waar haal je data vandaan - haal één rij per stap uit je systemen
- Ondersteunde data-indelingen - bestandstypen en structuurvereisten
- Datakwaliteit - wat de kwaliteitsbadge controleert
- Dataproblemen oplossen - oplossingen per symptoom
- ETL voor process mining - de bredere aanpak voor datavoorbereiding