2 Way Match
Overzicht
De 2 Way Match verrijking vergelijkt numerieke waarden van twee sets activiteiten binnen een case om te bepalen of deze overeenkomen, en creëert daarmee een krachtig validatiemechanisme voor documentafstemming en analyse van procesnaleving. Deze verrijking berekent aggregatiewaarden (zoals som, gemiddelde, eerste of laatste voorkomen) van gespecificeerde activiteiten en hun bijbehorende numerieke attributen, en vergelijkt deze waarden om overeenkomsten of afwijkingen te identificeren. De verrijking maakt zowel een boolean attribuut aan dat aangeeft of de waarden overeenkomen, als een optioneel verschilattribuut dat het verschil tussen de twee waarden toont.
Deze verrijking is essentieel in inkoop-, financiële en logistieke processen waar meerdere documenten of activiteiten met elkaar vergeleken moeten worden. Bijvoorbeeld, in een procure-to-pay proces kunt u controleren of de aantallen in de inkooporder overeenkomen met de aantallen in de goederenontvangst, of dat factuurbedragen overeenkomen met inkooporderwaarden. De verrijking werkt op casusniveau, wat het ideaal maakt voor het valideren van processen met meerdere stappen waarbij verschillende activiteiten gerelateerde informatie vastleggen die consistent moet zijn. Door ondersteuning van meerdere aggregatiemethoden (som, gemiddelde, min, max, eerste, laatste) past de verrijking zich aan diverse zakelijke scenario's aan, van eenvoudige vergelijking van laatste waarden tot complexe sommaties over meerdere regelitems.
De 2 Way Match verrijking vormt de basis voor drie-weg- en vier-wegvergelijkingen door de fundamentele vergelijkingslogica vast te stellen. Nadat u afwijkingen hebt geïdentificeerd, kunt u filters en analyses gebruiken om patronen in discrepanties te begrijpen, nalevingspercentages te meten, en cases met afwijkingen door te sturen voor handmatige controle of goedkeuring.
Veelvoorkomende Toepassingen
- Valideren van inkooporder aantallen tegen goederenontvangst aantallen in inkoopprocessen
- Vergelijken van factuurbedragen met inkooporderwaarden voor financiële naleving en betalingsgoedkeuring
- Afstemmen van verkooporder aantallen met verzendingsaantallen in orderafhandeling
- Controleren of geplande productieaantallen overeenkomen met daadwerkelijke productie-output in productie
- Vergelijken van aanvraagbedragen met goedgekeurde budgetten in uitgavenbeheer
- Valideren van geleverde servicetijden tegen contractuele uren in professionele diensten
- Afstemmen van voorraadtelling tussen fysieke tellingen en systeemrecords
- Controleren of klantorder aantallen overeenkomen met pick- en pack aantallen in magazijnoperaties
Instellingen
Activity Names 1: Specificeer één of meer activiteiten die het eerste document- of transactietype in uw vergelijking vertegenwoordigen. Bijvoorbeeld, in een inkoopproces kan dit "CreatePurchaseOrderLine" of "UpdatePurchaseOrderLine" zijn om de bestelde hoeveelheden vast te leggen. U kunt meerdere activiteiten selecteren als hetzelfde type informatie in verschillende activiteitennamen voorkomt. De verrijking haalt de numerieke waarde uit deze activiteiten op basis van de geselecteerde Event Selection 1 methode.
Event Selection 1: Kies hoe waarden worden geaggregeerd wanneer meerdere instanties van Activity Names 1 in een case voorkomen. Opties zijn:
- First: Gebruikt de waarde van de eerste keer dat de activiteit in de case voorkomt
- Last: Gebruikt de waarde van de laatste keer (standaard - meest gebruikelijk bij documentupdates)
- Sum: Telt alle waarden van alle keren bij elkaar op (ideaal voor totalen van regelitems)
- Average: Berekent het gemiddelde van alle waarden
- Min: Gebruikt de kleinste gevonden waarde
- Max: Gebruikt de grootste gevonden waarde
Activity Names 2: Specificeer één of meer activiteiten die het tweede document- of transactietype vertegenwoordigen om mee te vergelijken. Bijvoorbeeld, in inkoop kan dit "ProductReceipt" of "GoodsReceipt" zijn om de ontvangen hoeveelheden vast te leggen. De verrijking vergelijkt de geaggregeerde waarde van deze activiteiten met de waarde van Activity Names 1.
Event Selection 2: Kies hoe waarden worden geaggregeerd wanneer meerdere instanties van Activity Names 2 in een case voorkomen. Dit gebruikt dezelfde opties als Event Selection 1. De standaard is "Sum", wat vaak wordt gebruikt voor ontvangst van meerdere zendingen. Bijvoorbeeld, als een inkooporder voor 100 stuks uit drie zendingen bestaat (40, 35, en 25 stuks), zorgt "Sum" ervoor dat het totaal van 100 correct wordt vergeleken.
Column Name: Selecteer het numerieke eventattribuut dat de te vergelijken waarden bevat. Dit moet een numeriek veld zijn (integer, decimaal of float) dat bestaat op de events voor beide activiteitssets. Voorbeelden zijn "Quantity," "Amount," "Value," "Hours," of "Weight." De verrijking haalt deze attribuutwaarde uit de opgegeven activiteiten en voert de vergelijking uit.
New Attribute Name: Specificeer de naam voor het boolean caseattribuut waarin het resultaat van de vergelijking wordt opgeslagen. Kies een beschrijvende naam die duidelijk aangeeft wat wordt vergeleken, zoals "PO_Matches_GR_Quantity" of "Invoice_Amount_Matches_PO." Dit attribuut is True wanneer de waarden exact overeenkomen en False wanneer ze verschillen. Standaardvoorbeeld: "Quantity for CreatePurchaseOrderLine = ProductReceipt"
New Attribute Difference Name: Optioneel: specificeer de naam voor een numeriek caseattribuut dat het verschil tussen de twee waarden opslaat. Dit attribuut berekent Waarde1 min Waarde2, zodat u de grootte en richting van discrepanties kunt analyseren. Een positief verschil betekent dat de eerste waarde groter is dan de tweede (bijv. meer besteld dan ontvangen), terwijl een negatief verschil het omgekeerde betekent. Laat dit leeg als u alleen de boolean indicator wilt. Standaardvoorbeeld: "Quantity difference CreatePurchaseOrderLine - ProductReceipt"
Filter Cases (Advanced): Optioneel filters toepassen om te beperken welke cases door deze verrijking worden geëvalueerd. Deze geavanceerde instelling maakt het mogelijk de 2-way match alleen uit te voeren op cases die aan specifieke criteria voldoen, zoals bepaalde statussen, datumbereiken of attribuutwaarden. Cases die niet aan het filter voldoen krijgen geen nieuwe attributen berekend.
Voorbeelden
Voorbeeld 1: Matchen van hoeveelheden inkooporder tegen goederenontvangst
Scenario: In een procure-to-pay proces moet u valideren dat de totaal ontvangen hoeveelheid overeenkomt met de bestelde hoeveelheid. Inkooporders kunnen meerdere keren worden bijgewerkt voor finale goedkeuring, en goederen kunnen in meerdere zendingen worden ontvangen. U wilt cases identificeren waarbij ontvangen hoeveelheden niet overeenkomen met de uiteindelijke bestelde hoeveelheid.
Instellingen:
- Activity Names 1: CreatePurchaseOrderLine, UpdatePurchaseOrderLine
- Event Selection 1: Last
- Activity Names 2: GoodsReceipt, ProductReceipt
- Event Selection 2: Sum
- Column Name: Quantity
- New Attribute Name: PO_Quantity_Matches_GR
- New Attribute Difference Name: PO_GR_Quantity_Variance
Uitvoer: Maakt twee nieuwe caseattributen aan:
PO_Quantity_Matches_GR (Boolean):
- True: Cases waarin de finale bestelde hoeveelheid gelijk is aan de totaal ontvangen hoeveelheid (bijv. besteld 100, ontvangen 100)
- False: Cases met verschillen (bijv. besteld 100, ontvangen 95 of 105)
PO_GR_Quantity_Variance (Numeriek):
- 0: Perfecte match
- +5: 5 eenheden meer besteld dan ontvangen (tekort in zending)
- -5: 5 eenheden meer ontvangen dan besteld (overzending)
Voorbeeld data:
- Case 12345: Besteld 100 eenheden (laatste PO-update), ontvangen in 3 zendingen (40, 35, 25 = 100 totaal) → PO_Quantity_Matches_GR = True, Verschil = 0
- Case 12346: Besteld 50 eenheden, ontvangen 48 eenheden → PO_Quantity_Matches_GR = False, Verschil = +2
- Case 12347: Besteld 75 eenheden, ontvangen 80 eenheden → PO_Quantity_Matches_GR = False, Verschil = -5
Inzichten: Deze verrijking maakt het mogelijk te filteren op cases met hoeveelheid-afwijkingen, de frequentie en omvang van onder- of overshipping te analyseren, leveranciers met consistente hoeveelheidsproblemen te identificeren, en afwijkende cases door te sturen voor goedkeuring of onderzoek. U kunt metrieken berekenen zoals "98% van de orders heeft exact overeenkomende hoeveelheden" of "gemiddeld verschil in hoeveelheid is +2,3 eenheden, wat wijst op lichte onderlevering."
Voorbeeld 2: Validatie factuurbedrag tegen inkooporderbedrag
Scenario: Bij accounts payable moet u controleren of factuurbedragen overeenkomen met oorspronkelijke inkooporderwaarden voordat betaling wordt verwerkt. Deze two-way match zorgt ervoor dat u alleen betaalt voor hetgeen daadwerkelijk is besteld en helpt prijsafwijkingen of factuurfouten te ontdekken.
Instellingen:
- Activity Names 1: CreatePurchaseOrder, ApprovePurchaseOrder
- Event Selection 1: Last
- Activity Names 2: ReceiveInvoice
- Event Selection 2: Sum
- Column Name: TotalAmount
- New Attribute Name: Invoice_Matches_PO_Amount
- New Attribute Difference Name: Invoice_PO_Amount_Difference
Uitvoer: Maakt twee nieuwe caseattributen die factuur- naar PO-overeenkomsten tonen:
Invoice_Matches_PO_Amount (Boolean):
- True: Factuurbedrag komt exact overeen met PO-bedrag (bijv. beiden $5.000,00)
- False: Bedragen verschillen (bijv. PO $5.000,00, factuur $5.250,00)
Invoice_PO_Amount_Difference (Numeriek):
- 0,00: Exacte match
- +500,00: PO-bedrag hoger dan factuur met $500 (ondergefactureerd)
- -250,00: Factuur hoger dan PO met $250 (overgefactureerd, vereist goedkeuring)
Voorbeeld data:
- Case INV-001: PO-bedrag $10.000, factuur $10.000 → Match = True, Verschil = $0
- Case INV-002: PO-bedrag $7.500, factuur $7.750 → Match = False, Verschil = -$250
- Case INV-003: PO-bedrag $3.200, factuur $3.200 → Match = True, Verschil = $0
Inzichten: Hiermee kunnen facturen die overeenkomen automatisch worden goedgekeurd, facturen die het PO-bedrag overschrijden worden gemarkeerd voor handmatige controle, systematische prijsproblemen met specifieke leveranciers worden geïdentificeerd en straight-through processing rates worden gemeten. Zo kunt u bedrijfsregels maken als "auto-goedkeuren als Invoice_Matches_PO_Amount True is" of "managergoedkeuring vereisen als Invoice_PO_Amount_Difference meer dan $500 is."
Voorbeeld 3: Afstemming verkooporder tegen verzendhoeveelheid
Scenario: In een orderafhandelingsproces moet u controleren of de verzonden hoeveelheid overeenkomt met wat de klant heeft besteld. Orders kunnen worden aangepast voor de fulfilment, en verzendingen kunnen in meerdere pakketten plaatsvinden. Deze validatie helpt bij het identificeren van tekorten in zendingen en zorgt voor klanttevredenheid.
Instellingen:
- Activity Names 1: CreateSalesOrder, ModifySalesOrder
- Event Selection 1: Last
- Activity Names 2: ShipProduct, ConfirmShipment
- Event Selection 2: Sum
- Column Name: OrderedQuantity
- New Attribute Name: Order_Shipment_Quantity_Match
- New Attribute Difference Name: Unshipped_Quantity
Uitvoer: Maakt attributen aan die de nauwkeurigheid van orderafhandeling monitoren:
Order_Shipment_Quantity_Match (Boolean):
- True: Volledige afhandeling (besteld 50, verzonden 50)
- False: Gedeeltelijke of over-afhandeling (besteld 50, verzonden 48 of 52)
Unshipped_Quantity (Numeriek):
- 0: Volledig verzonden
- +2: 2 eenheden te weinig verzonden (achterstand/backorder)
- -2: 2 eenheden te veel verzonden (mogelijk voorraadprobleem)
Voorbeeld data:
- Order SO-5001: Besteld 200 eenheden, verzonden in 4 zendingen (75, 50, 50, 25 = 200) → Match = True, Unshipped = 0
- Order SO-5002: Besteld 150 eenheden, verzonden 145 → Match = False, Unshipped = +5
- Order SO-5003: Besteld 100 eenheden, verzonden 100 → Match = True, Unshipped = 0
Inzichten: Deze verrijking helpt bij het meten van nauwkeurigheidspercentages in orderafhandeling, het identificeren van producten met frequente tekorten, het berekenen van backorderhoeveelheden en trends, en het aansturen van klantservicemeldingen voor incomplete zendingen. U kunt KPI’s maken zoals "95% volledige vulgraad" of "gemiddelde onvolledige hoeveelheid: 2,3 eenheden per incomplete order."
Voorbeeld 4: Productieplan tegen daadwerkelijke productie-output
Scenario: In een productieproces wilt u geplande productiehoeveelheden vergelijken met daadwerkelijke output om efficiëntie te meten en capaciteits- of kwaliteitsproblemen te identificeren. Productieplannen kunnen worden geüpdatet en output wordt geregistreerd na het voltooien van batches.
Instellingen:
- Activity Names 1: CreateProductionOrder, UpdateProductionPlan
- Event Selection 1: Last
- Activity Names 2: RecordProduction, CompleteProductionBatch
- Event Selection 2: Sum
- Column Name: Quantity
- New Attribute Name: Production_Met_Plan
- New Attribute Difference Name: Production_Variance
Uitvoer: Maakt attributen aan die de productieprestaties meten:
Production_Met_Plan (Boolean):
- True: Werkelijke productie is gelijk aan plan (gepland 1000, geproduceerd 1000)
- False: Over- of onderproductie (gepland 1000, geproduceerd 950 of 1050)
Production_Variance (Numeriek):
- 0: Exact volgens plan
- +50: 50 eenheden te weinig geproduceerd (capaciteits- of kwaliteitsprobleem)
- -50: 50 eenheden te veel geproduceerd (efficiencywinst of voorspellingsprobleem)
Voorbeeld data:
- Productieorder PR-8001: Gepland 5000 eenheden, geproduceerd 5000 → Met_Plan = True, Variantie = 0
- Productieorder PR-8002: Gepland 3000 eenheden, geproduceerd 2850 → Met_Plan = False, Variantie = +150
- Productieorder PR-8003: Gepland 1500 eenheden, geproduceerd 1520 → Met_Plan = False, Variantie = -20
Inzichten: Hiermee kunt u de productie-efficiëntie meten, productielijnen met aanhoudende onderprestaties identificeren, variantiepatronen analyseren per producttype of ploeg, en vroegtijdig capaciteitsproblemen signaleren. Bijvoorbeeld: "85% van de productieorders voldoet precies aan het plan" of "gemiddelde product.variantie: -2,5% (lichte overproductie)."
Voorbeeld 5: Uren dienst - contractueel versus geleverd
Scenario: In een professionele dienstverleningsorganisatie moet u controleren of de geleverde uren aan klanten overeenkomen met de contractuele uren in de serviceovereenkomst. Contracten kunnen worden gewijzigd, en uren worden geregistreerd in meerdere serviceactiviteiten.
Instellingen:
- Activity Names 1: CreateServiceContract, AmendServiceContract
- Event Selection 1: Last
- Activity Names 2: LogServiceHours, SubmitTimesheet
- Event Selection 2: Sum
- Column Name: Hours
- New Attribute Name: Hours_Match_Contract
- New Attribute Difference Name: Hours_Variance
Uitvoer: Maakt attributen aan voor validatie van servicelevering:
Hours_Match_Contract (Boolean):
- True: Geleverde uren gelijk aan contracturen (gecontracteerd 80, geleverd 80)
- False: Over- of onderlevering (gecontracteerd 80, geleverd 75 of 85)
Hours_Variance (Numeriek):
- 0: Exacte match
- +5: 5 uur te weinig geleverd (mogelijk ontevreden klant)
- -10: 10 uur te veel geleverd (omzetverlies indien niet factureerbaar)
Voorbeeld data:
- Project SVC-2001: Gecontracteerd 160 uur, geleverd 160 uur → Match = True, Variantie = 0
- Project SVC-2002: Gecontracteerd 120 uur, geleverd 115 uur → Match = False, Variantie = +5
- Project SVC-2003: Gecontracteerd 200 uur, geleverd 215 uur → Match = False, Variantie = -15
Inzichten: Deze verrijking maakt het mogelijk de nauwkeurigheid van servicelevering te meten, projecten met scope creep (overlevering) te identificeren, onderlevering te detecteren en facturatie-accuraatheid te analyseren. U kunt volgen "92% van de projecten levert contractuele uren" of "gemiddelde overlevering: 3,2 uur per project."
Uitvoer
De 2 Way Match verrijking maakt afhankelijk van uw configuratie één of twee nieuwe caseattributen aan:
Match Indicator Attribute (Altijd Aangemaakt): Een boolean attribuut met de naam gespecificeerd in "New Attribute Name" dat bevat:
- True: Wanneer de geaggregeerde waarde van Activity Names 1 gelijk is aan die van Activity Names 2
- False: Wanneer de waarden op enigerlei wijze verschillen
- Geen waarde (null): Wanneer één of beide activiteitssets niet bestaan in de case, of wanneer de gespecificeerde kolom geen waarden bevat voor de activiteiten
Difference Attribute (Optioneel): Als u een "New Attribute Difference Name" specificeert, maakt de verrijking een numeriek attribuut aan met het verschil berekend als Waarde1 min Waarde2:
- Positieve waarden: Geven aan dat de eerste waarde groter is dan de tweede (bijv. meer besteld dan ontvangen)
- Negatieve waarden: Geven aan dat de tweede waarde groter is dan de eerste (bijv. meer ontvangen dan besteld)
- Nul: Geeft een exacte match aan
- Geen waarde (null): Wanneer de vergelijking niet kan worden uitgevoerd door ontbrekende activiteiten of waarden
Beide attributen worden aangemaakt als afgeleide caseattributen en integreren naadloos met andere mindzieStudio-functionaliteiten:
Filtering: Maak filters om alleen cases te tonen met mismatches (Match = False), significantie afwijkingen (Difference > drempel) of cases met specifieke afwijkingspatronen (Difference > 0 voor tekorten).
Conformance Analyse: Bereken matchpercentages en variantie-statistieken over de gehele dataset of segmenten. Meet bijvoorbeeld "98% van inkooporders heeft overeenkomende ontvangst" of "gemiddelde hoeveelheidsvariantie: 2,3 eenheden."
Procesvisualisatie: Splits processtromen op basis van matchresultaten om verschillende paden voor overeenkomende en niet-overeenkomende cases te visualiseren, en help te identificeren waar mismatches ontstaan of worden opgelost.
Berekeningen: Gebruik het boolean matchattribuut in logische expressies om complexe validatieregels te creëren, zoals het combineren van two-way match resultaten met andere nalevingscontroles.
Dashboards en KPI’s: Maak meetpunten die matchpercentages in de tijd tonen, variantieverdelen en nalevingstrends. Bouw grafieken die verschillen tonen per leverancier, productcategorie of tijdsperiode.
Automatisering en Routing: Gebruik matchresultaten om procesautomatisering aan te sturen, bijvoorbeeld automatisch goedkeuren van cases waar de match True is en cases met False door te sturen naar handmatige review.
De verrijking voert vergelijkingen alleen uit op cases waar beide activiteitssets bestaan en numerieke waarden bevatten in de gespecificeerde kolom. Cases waar activiteiten of waarden ontbreken krijgen null-waarden voor de outputattributen, zodat u incomplete cases apart kunt herkennen van mismatches.
Zie Ook
- Compare Case Attributes - Voor het rechtstreeks vergelijken van twee case-niveau attributen zonder aggregatie uit activiteiten
- Compare Event Attributes for Two Activities - Voor het vergelijken van eventattributen uit twee specifieke activiteiten zonder aggregatie
- Attribute Changes Between Two Activities - Voor het detecteren van wijzigingen in attribuutwaarden tussen twee activiteiten
- Subtract - Voor het berekenen van verschillen tussen caseattributen die door andere verrijkingen zijn aangemaakt
- Filter Process Log - Voor het filteren van cases op basis van matchresultaten en afwijkingen
- Divide - Voor het berekenen van ratio-gebaseerde vergelijkingen tussen gematchte waarden
Deze documentatie maakt deel uit van het mindzie Studio process mining platform.