De grenzen van Excel product configurators in een tijd van big data
Excel is binnen veel bedrijven niet meer weg te denken. De vrijheid is enorm! Zelf slimme formules en functies bouwen, macro’s opnemen, en met Visual Basic een mooie user interface maken. En als je met cijfers wilt spelen en creatief bent, dan kun je er goed je ei in kwijt.
Maar in hoeverre blijft Excel ook een goede oplossing in een tijd van ‘big-data’ waarbij bedrijven steeds efficiënter moeten produceren, betere levertijden moeten halen, tegen een lagere prijs? Hoe pas je Excel nu op een goede manier toe binnen je bedrijf, wat zijn de risico’s als ik Excel op deze manier blijf gebruiken? Wat kan een ‘Configure Price Quote’ oplossing (een slimme product configurator die samenstellingen, prijzen en offertes kan genereren zoals Tacton of DriveWorks) op dit gebied voor meerwaarde leveren?
En bij elk foutje of onduidelijkheid komen alle collega’s naar mij, want ja, ik had alles gebouwd, ik was de Excel-nerd.
Privé gebruik ik Excel vooral voor de administratie en verder heb ik bij meerdere bedrijven verschillende Excel toepassingen gebouwd zoals onder andere prijscalculatie bladen en product configurators. Maar na vaak enkele maanden in Excel programmeren, werden de sheets toch wel erg groot, zwaar en complex. ‘If-then-else’ formules waar geen einde meer aan leek te komen. Macro’s waarvan ik na een maand eigenlijk al niet meer goed wist wat ik nou geprogrammeerd had. En dan die ene collega die vraagt of ik even een aantal tarieven wilde aanpassen, deze stonden op meerdere plekken dus ik moest zorgen dat ze wel op elke plek aangepast zouden worden!
En op een dag kwam ik erachter dat een formule al die tijd een cel was vergeten mee te nemen in de berekening…oeps! En bij elk foutje of onduidelijkheid komen alle collega’s naar mij, want ja, ik had alles gebouwd, ik was de Excel-nerd.
En toen verliet ik het bedrijf. Ondanks zorgvuldige kennisoverdracht, begreep na een paar maanden niemand meer wat er precies in de Excel formules gebeurde. Ze besloten de Excel sheet waar ik maanden aan had gebouwd, opnieuw te bouwen.
Binnen Excel kan de complexiteit snel toenemen. Wie heeft nog het overzicht? Hoe gaan we dit onderhouden?
We moeten af van de situatie dat maar één persoon de configurator kan onderhouden. De oplossing? = data scheiden!
Het is dus verstandig om een systeem te kiezen waarbij we met elkaar het onderhoud kunnen verrichten. Immers willen we niet afhankelijk zijn van één persoon die alles heeft gebouwd. Stel je voor dat deze ziek wordt of een nieuwe baan gevonden heeft. Daarnaast zal het systeem ook de mogelijkheid moeten bieden waar alle collega’s zelf de inhoud van de configurator kunnen optimaliseren.
Daar zijn verschillende opties voor. Om te beginnen: Verschillende typen data en logica gescheiden houden. Wat ik in Excel product configurators veel zie, is dat binnen in de formules veel data staat, bijvoorbeeld binnen ‘if-then-else’ formules. Wanneer een configurator hoofdzakelijk gebaseerd is op ‘if-then-else’ formules, dan noemen we dit ‘rule-based’.
Voorbeeld: Als ik optie A kies, dan is de prijs 200 euro, en anders 300 euro. Of, als dit frame groter is dan 1000mm breed, dan komt er een extra steun bij. In deze regels kom ik dus data tegen als prijzen, en ook logica.
If-then-else formules in Excel, een typische rule-based benadering
Met oogpunt op eenvoudiger onderhoud moet ik af van dit soort formules. Zeker voor als ik meer wil doen met bijvoorbeeld prijslijsten, meer denken in artikelnummers voor modules / samenstellingen, toepassen van slimme tabellen (hier kom ik later op terug), enzovoorts. Ik moet dus eigenlijk allerlei verschillende typen data van elkaar gaan onderscheiden, categoriseren en op logische plekken opslaan binnen de softwaretoepassing. Dat geldt ook voor het onderhouden van logische modellen, formules, ‘constraints’, enzovoorts.
Excel zou dit in theorie kunnen, maar het bij elkaar brengen van allerlei verschillende type data vraagt een behoorlijke programmeer behendigheid. Die kennis is lang niet altijd beschikbaar binnen een gemiddeld productiebedrijf wat niet ICT georiënteerd is.
Een succesvolle CPQ implementatie bouw en onderhoud je met elkaar!
Het voordeel van zoveel mogelijk soorten data gescheiden te hebben, is dat we in staat zijn om verschillende mensen in het bedrijf onderhoud te laten plegen. Zo kan iemand die niet technisch onderlegd is prima prijslijsten onderhouden. Iemand die analytisch en abstract kan denken kun je inzetten om de logische formules en modellen onderhouden. Excel is overigens de perfecte tool voor het onderhouden van de data. Maar voor het bouwen van de logica en de structuur hebben we Configure-Price-Quote gespecialiseerde software als bijvoorbeeld Tacton of DriveWorks nodig.
"Het liefst willen we dan ook zoveel mogelijk relaties leggen tussen verschillende data om steeds betere inzichten te krijgen."
Grote hoeveelheden data? Denk in constraints!
Doorgaans werk ik graag met een ‘rule-based’ CPQ oplossingen voor minder complexe producten. Zolang de formules niet te groot en te complex worden, is dit goed te onderhouden. De ‘rule-based’ benadering heeft als grootste nadeel dat het vooral gericht is op individuele data. Als de machine er dus een optie bij krijgt, zal er ook een regel moeten worden aangepast. Bouwt je bedrijf complexe producten? Dan adviseer ik je te richten op een ‘constraint-based’ CPQ oplossing.
Een constraint is net als een if-then-else regel, ook een regel. Wel zijn er een aantal belangrijke verschillen: Deze regels worden nooit lang en daardoor eenvoudig te begrijpen. Daarbij zijn ze inzetbaar om een grote hoeveelheid data te kunnen verwerken. Dit kan data zijn uit externe bronnen zoals bijvoorbeeld een database of tabel. De beste vergelijking met een ‘constraint’ is de bekende filter in Excel of een query in een database.
Voorbeeld: Laat mij alle Auto’s zien met een vermogen van kleiner dan 100 pk. Resultaat, 4 opties mogelijk! De gebruiker dient er alleen nog één te kiezen. Of we laten dat de configurator doen met behulp van een slimme optimaliseer functie.
Een typische slimme specificatie tabel, puur data!
Optimaliseren?
Ik richt me nog even op een voorbeeld uit de tabel hierboven. Elke auto in dit voorbeeld heeft een specifiek brandstof verbruik, hoeveelheid bagageruimte, vermogen en andere kenmerken. Dit soort eigenschappen noemen we features. Wat ik wil is een auto met een vermogen minder dan 100 pk, maar ook de snelste levertijd. Ik dien dus een kolom toe te voegen met levertijden van verschillende auto’s.
Een ‘constraint-based’ configurator (bijvoorbeeld Tacton) is dan in staat om met slechts 2 functies een constraint-regel en een optimaliseer-functie de beste oplossing te vinden. Dit uit misschien wel duizenden rijen aan data. In Excel termen pas ik eigenlijk dan een filter toe (= de constraint) en tegelijkertijd een sorteerfunctie (= de optimalisatie). Hetzelfde zou ik kunnen doen met het gewicht van de machine, of emissies, et cetera. Met Excel zou ik hier heel wat macro’s en VB-scripts voor moeten programmeren.
Voorbereiden op de toekomst van de big-data
Tegenwoordig draait het in de technologische wereld om steeds meer data te verzamelen en de klant nog betere specifieke oplossingen te bieden. Het liefst willen we dan ook zoveel mogelijk relaties leggen tussen verschillende data om steeds betere inzichten te krijgen. Een groeiend aantal bedrijven gaat hier in mee. Vaak moeten ze wel om niet ingehaald te worden concurrentie met bijvoorbeeld snellere levertijden en lagere kosten.
Sinds dat de hoeveelheid aan te verwerken data exponentieel groeit, is het bijna onmogelijk geworden om via een ‘rule-based’ configurator de beste oplossing voor de klant te selecteren. We zullen dus naast constraints (filters) optimaliseer functies moeten toevoegen. Denk hierbij ook vooral aan de bekende hotel websites (zoals Booking.com en Trivago) waar je met een aantal slimme filters de beste hotels bovenaan kunt laten verschijnen. Waarom staan bepaalde hotels bovenaan? Er wordt gebruik gemaakt van slimme algoritmes!
En zolang we data en logica strikt gescheiden houden, zijn we ook in staat om op een overzichtelijke manier in deze data bestanden meer data toe te voegen. Dit kan wederom prima met Excel.
Hotelvergelijkers maken ook slim gebruik van 'big-data'
Samengevat
Excel is en zal een belangrijk hulpmiddel blijven binnen organisaties, mits deze op de goede manier wordt toegepast. Het is uitermate geschikt om data in te beheren, bewerken, en er niet te al te complexe analyses op los te laten. Laten we het daar vooral voor blijven gebruiken. Produceert en verkoopt u een complex product, en wilt u een goede en toekomst bestendige onderhoudbare product configurator? Richt u zich dan vooral op de ‘constraint-based’ configurator als bijvoorbeeld Tacton en laat Excel de data voorbereiden die deze configurator zal voeden.
Loopt u tegen dezelfde problematiek aan binnen Excel en heeft u interesse in een betere oplossing? Bel me via 073 6456222. Ik ga graag met je in gesprek over de beste oplossing het opzetten van een (product) configurator.