12.000 producten, 200 winnaars: de SKU-analyse die alles veranderde
Een webshop met €6,8M omzet en 12.000 actieve SKU's rapporteerde een brutomarge van 31%. Gezond, dacht de directeur. Pas toen logistiek, retours en klantenservice werden doorberekend per productcategorie bleek dat de meubelcategorie (16% van de omzet) een nettoverlies van 18% draaide, dat €340.000 aan werkkapitaal vastzat in dead stock met minder dan drie orders per jaar, en dat de top-200 SKU's 11% onder marktprijs zaten omdat de pricing gebaseerd was op een catalogus-gemiddelde dat door verliezers werd neergetrokken. De analyse vroeg ook een CLV-berekening per acquisitiekanaal — want één verlieslatende categorie bleek de meest loyale klantgroep te trekken, wat de beslissing aanzienlijk complexer maakte dan "stop ermee."
Brutomarge is het meest misleidende getal in e-commerce. Het vertelt je wat je overhoudt nadat je de inkoopprijs hebt betaald. Maar het vertelt je niet wat er daarna gebeurt: het pakket dat retour komt, de klantenservicetickets per productcategorie, de opslagkosten van traaglopende artikelen, de kortingen die worden weggeven om de voorraad te laten bewegen.
De directeur van deze webshop — actief in woonaccessoires en interieur, B2C, opgericht in 2017 — wist dat niet alle producten even winstgevend waren. Maar hij had geen idee hoe groot het verschil was, en al helemaal niet welke producten de winst maakten en welke hem jaarlijks geld kostten.
De boekhoudwerkelijkheid versus de bedrijfswerkelijkheid
De jaarrekening zag er als volgt uit:
| Post | Bedrag | % omzet |
|---|---|---|
| Omzet | €6.800.000 | 100% |
| Inkoopwaarde | €4.692.000 | 69,0% |
| Brutomarge | €2.108.000 | 31,0% |
| Logistiek (fulfillment + verzending) | €952.000 | 14,0% |
| Retourverwerking | €340.000 | 5,0% |
| Klantenservice | €204.000 | 3,0% |
| Marketing & overig | €476.000 | 7,0% |
| Netto operationele marge | €136.000 | 2,0% |
Een netto marge van 2,0% op €6,8M omzet is uiterst kwetsbaar. Eén tegenvallend kwartaal, een stijging van de verzendkosten of een extra retourpiek en het bedrijf staat quitte — of maakt verlies. De directeur wist dit. Maar hij zag geen patroon, geen oorzaak, en daardoor geen oplossing.
Het probleem was dat logistiek, retours en klantenservice als één blok op de P&L stonden. Gemiddeld over alle 12.000 producten. En gemiddelden liegen altijd.
Stap 1: variabele kosten toerekenen per productcategorie
De eerste stap was het uitsplitsen van de drie variabele kostenposten naar productcategorie. Hiervoor werden drie databronnen gecombineerd: het ordermanagementsysteem (Picqer), de klantenservicesoftware (Zendesk) en de retourdata uit de webshopbackend.
De catalogus bestond uit zes categorieën. Wat eruit kwam:
| Categorie | Omzetaandeel | Brutomarge | Logistiekkosten | Retourquote | Retourkosten/order | Nettomarge |
|---|---|---|---|---|---|---|
| Wanddecoratie (posters, kunst) | 28% | 44% | 8% | 4% | €1,20 | +28% |
| Textiel (kussens, dekens) | 22% | 38% | 11% | 18% | €6,40 | +9% |
| Verlichting | 19% | 29% | 16% | 14% | €9,80 | +1% |
| Meubilair (kleine meubels) | 16% | 27% | 22% | 26% | €38,00 | −18% |
| Keukenaccessoires | 10% | 36% | 12% | 7% | €2,10 | +17% |
| Seizoens- & gelegenheidsartikelen | 5% | 24% | 18% | 31% | €11,50 | −22% |
De meubelcategorie — 16% van de omzet, €1,1M — leverde een nettoverlies op van 18%. Elke euro omzet kostte €0,18 netto. Dat verlies werd volledig gecamoufleerd door de hoge brutomarge van wanddecoratie. De directeur groeide actief de meubelcategorie omdat de omzet steeg. Hij maakte daarmee zijn verlies groter.
Waarom meubels zo zwaar verlieslatend waren
Een brutomarge van 27% klinkt laag, maar niet alarmerend. Het probleem zat in de combinatie van drie factoren die samen optellen:
Hoge logistieke kosten. Meubels zijn zwaar, groot en fragiel. Gemiddelde verzendkosten per order: €22 voor heen, plus €16 retourkosten bij een retour. Op een gemiddelde orderwaarde van €89 zijn die €22 al 24,7% van de verkoopprijs — vóór inkoop.
Een retourquote van 26%. Klanten bestellen een fauteuil, zetten hem neer en vinden de kleur toch niet passen. Of de afmetingen kloppen niet met wat de foto deed vermoeden. Elke retour kost €38 inclusief keuring, herverwerking en afschrijving op beschadigde items — en dat is conservatief. Bij producten met een orderwaarde van €89 is dat 42% van de verkoopprijs voor één op de vier orders.
Hoge klantenservice-ratio. Meubels genereerden verhoudingsgewijs driemaal zo veel supporttickets als wanddecoratie — vragen over montage, beschadigingen bij bezorging, klachten over kleurverschil met de foto. Klantenservice kostte op deze categorie effectief 6% van de omzet, versus 1,2% op wanddecoratie.
Stap 2: de SKU-analyse binnen de winstgevende categorieën
Wanddecoratie was de sterkste categorie — maar ook hier zat grote spreiding. Van de 3.400 actieve SKU's in die categorie leverden 180 producten samen 71% van de categorie-marge op. De overige 3.220 producten genereerden de rest, maar veroorzaakten ook 68% van de klantenservice-uren binnen de categorie: foutieve productomschrijvingen, afwijkende maten, slechte productfoto's die leidden tot verwachtingsklachten.
Dat bracht een tweede inzicht boven tafel: de 180 topproducten werden structureel ondergeprijsd. De gemiddelde verkoopprijs van die producten lag 12% onder het marktniveau — benchmarked tegen drie vergelijkbare webshops. De reden: de prijsstrategie was gebaseerd op een margedoelstelling van 31% brutomarge voor de hele catalogus. Producten die makkelijk 44% of hoger konden dragen werden teruggetrokken naar het gemiddelde, terwijl verlieslatende categorieën het gemiddelde omlaag trokken.
De complicerende factor: CLV per acquisitiekanaal
Voordat de drie beslissingen genomen werden, was er één vraag die de analyse bijna op zijn kop zette: wat als de verlieslatende categorie de meest waardevolle klanten aantrekt?
Dit is de cruciale CLV-vraag (Customer Lifetime Value) bij productbeslissingen. Een product dat per transactie verlies maakt kan nog steeds rationeel zijn als de klant die het koopt daarna structureel hogere marges genereert via vervolgaankopen.
We analyseerden de ordergeschiedenis van klanten die hun eerste aankoop in de meubelcategorie deden versus klanten die startten met wanddecoratie of keukenaccessoires:
| Eerste aankoop in categorie | Gem. eerste orderwaarde | Marge eerste order | Gem. orders jaar 1-2 | CLV 24 maanden | CLV-marge 24 mnd |
|---|---|---|---|---|---|
| Wanddecoratie | €28 | +28% | 3,8 | €94 | €24,80 |
| Keukenaccessoires | €42 | +17% | 4,1 | €148 | €28,40 |
| Meubels | €89 | −18% | 1,4 | €112 | €4,20 |
| Textiel | €54 | +9% | 5,2 | €196 | €31,60 |
De meubelklant heeft na 24 maanden een CLV-marge van slechts €4,20 — vergeleken met €28-31 voor klanten via andere entrycategorieën. De reden: meubelkopers kopen weinig na hun eerste aankoop. Ze zijn geen herhaalaankopers, en hun herhaalaankopen zijn ook niet in de hoge-margecategorieën.
Dit weerlegde de intuïtie dat "meubels als acquisitie-instrument werken." De data liet het tegendeel zien. De meubelcategorie trekt een klanttype dat structureel lage lifetime value heeft — precies het omgekeerde van wat de directeur vermoedde.
Dead stock: het werkkapitaal dat niemand ziet
De catalogusreductie had een neveneffect dat in de analyse pas laat zichtbaar werd: de 4.800 gedeactiveerde SKU's stonden niet voor niets in de catalogus. Er lag voorraad. En die voorraad had werkkapitaal gebonden dat ergens anders beter ingezet kon worden.
Berekening van de dead stock impact:
- Gemiddelde inkoopwaarde per gedeactiveerde SKU: €68 per eenheid
- Gemiddelde hoeveelheid op voorraad per SKU: 4,2 eenheden
- Totale gebonden werkkapitaal: 4.800 × 4,2 × €68 = €1.370.880
- Opslagkosten per jaar (magazijnhuur, handling): €0,48/eenheid/maand × 20.160 eenheden × 12 = €116.122
Ruim €1,37M aan werkkapitaal zat vast in producten die gemiddeld minder dan eens per vier maanden verkochten — en dan nog verlieslatend. Door uitverkoop, retour aan leverancier (waar mogelijk) en afboeking van restwaarde werden over zes maanden €610.000 aan werkkapitaal vrijgemaakt. Een deel ging naar schuldaflossing (rekening-courant bank), een deel naar extra inkoop van de top-200 winnende SKU's met lagere inkoopprijs bij hogere volumes.
Prijselasticiteitsanalyse: de methode achter de 11% verhoging
De beslissing om de top-200 SKU's gemiddeld 11% in prijs te verhogen klinkt riskant. In de praktijk was het gebaseerd op een concrete elasticiteitsanalyse — niet op intuïtie.
Stap 1: historische prijsvariaties analyseren
Elke webshop heeft periodiek prijsaanpassingen gedaan. Zelfs kleine aanpassingen (2-5%) creëren een natuurlijk experiment: hoe reageerde het volume op die prijswijziging, gecorrigeerd voor seizoensinvloed en marketingspend in dezelfde periode?
Voor 60 van de top-200 producten waren er voldoende historische datapunten om een elasticiteitsschatting te maken. Gemiddelde prijselasticiteit: −0,7. Dit betekent dat een prijsstijging van 10% leidt tot een volumedaling van 7% — een netto positief effect op omzet (omzet stijgt met 2,3%) en een significant positief effect op marge.
Stap 2: benchmarking tegen concurrenten
Voor de overige 140 producten zonder voldoende historische variatie: prijsvergelijking met drie directe concurrenten via een gestructureerde steekproef. De gemiddelde prijspositie van de top-200 was 11% onder het marktgemiddelde — wat duidt op een pricing die conservatiever is dan noodzakelijk.
Stap 3: gefaseerde invoering met monitoring
De prijsverhogingen werden niet in één keer doorgevoerd. Over zes weken werden de producten in vier batches bijgesteld, met wekelijkse monitoring van conversieratio en ordervolume per product. Bij drie producten waarbij de volumedaling hoger was dan de elasticiteitsschatting voorspelde, werd de verhoging teruggedraaid. De rest bleef staan.
De drie beslissingen die volgden
1. Meubelcategorie afbouwen, niet uitbreiden
De actieve uitbreiding van de meubelcategorie werd gestopt. Bestaande voorraad werd uitverkocht zonder bijbestelling. Voor de 40 best lopende meubel-SKU's — met een retourquote onder 15% en een orderwaarde boven €140 — werd een prijsverhoging van gemiddeld 19% doorgevoerd om de logistieke en retourkosten te dekken. Producten onder die drempel: direct gedeactiveerd. Verwacht effect: omzetdaling €400k op meubels, verliesvermindering €198k.
2. Prijsverhoging op de top-200 SKU's — gefaseerd en gemonitord
Op basis van de elasticiteitsanalyse: gemiddeld +11% op de top-200 meest winstgevende producten. Volumedaling verwacht: 7-9%. Netto marge-effect op die producten: +3,2 procentpunten gemiddeld. Werkelijke uitkomst na zes weken: volumedaling 6,4%, marge-effect +3,4pp — iets beter dan verwacht.
3. Catalogusreductie: 4.800 SKU's gedeactiveerd, €610k werkkapitaal vrijgemaakt
Producten met minder dan 3 orders in 12 maanden én negatieve nettomarge: gedeactiveerd. Effect op omzet: minimaal (1,2% van totaal). Effect op werkkapitaal: €610.000 vrijgemaakt. Effect op klantenservice: −31% ticketvolume. Effect op SEO: gemiddeld +4 posities op overblijvende productpagina's door betere page authority-verdeling.
Het resultaat na twee kwartalen
Omzet daalde met 10%. Netto resultaat steeg van €136.000 naar €415.000 — een verdrievoudiging. Niet door harder te groeien, maar door te stoppen met producten die groei simuleerden terwijl ze winst wegvraten.
Wat dit niet is
Dit is geen verhaal over het verkleinen van een bedrijf als strategie. Het is een verhaal over zichtbaarheid. De directeur van deze webshop was niet onzorgvuldig. Hij had een boekhouder, een accountant, een maandelijkse P&L. Hij keek naar zijn brutomarge en die was 31% — de norm in zijn sector.
Wat hij niet had, was iemand die de vraag stelde: welke 31% is dat precies? Die logistiekkosten opende per productcategorie in plaats van als totaalpost. Die retourdata koppelde aan SKU-niveau in plaats van er een gemiddeld percentage op los te laten.
De data bestond al. Ze stond in Picqer, in Zendesk, in de webshopbackend. Het kostte drie weken om die samen te brengen, twee weken om te analyseren, en één gesprek om drie beslissingen te nemen die het bedrijfsresultaat in twee kwartalen verdrievoedigden.
Veelgestelde vragen
Weten welke producten jouw winst maken — en welke hem wegvreten?
In een gesprek van 30 minuten kijk ik met je mee welke data je hebt en waar de analyse het meeste oplevert.
Gesprek inplannen →