Food Cost

Food cost berekenen voor restaurants: de complete gids

Kort antwoord

Food cost percentage = (inkoopwaarde verkochte producten ÷ omzet) × 100. Maar dat getal op zichzelf zegt bijna niets. Een restaurant met 31% totale food cost kan op gerechtniveau zes verlieslatende items verbergen achter twaalf sterke marges. De echte analyse begint bij de food cost variance: het verschil tussen theoretische en werkelijke kosten, uitgesplitst naar een prijs-effect, een volume-effect en een mix-effect. Pas als je die drie componenten uit elkaar trekt, weet je welke knop je moet draaien — en het antwoord is zelden alleen "portioner strikter."

Een casual dining restaurant in Amsterdam had een food cost van 31,4% over het afgelopen kwartaal. Zit binnen de norm. Niets aan de hand — zo redeneerde de eigenaar. Totdat we per gerecht gingen kijken en ontdekten dat achter dat gemiddelde zes gerechten verborgen zaten met een food cost boven de 44%, die volledig gecompenseerd werden door vier high-margin items. Het restaurant draaide in feite twee aparte businesses: een winstgevende en een verlieslatende. Het gemiddelde verborg allebei.

Dit artikel gaat verder dan de basisformule. Het laat zien hoe je food cost variance uitsplitst naar drie componenten, hoe yield-correctie werkt bij vlees en vis met leverancierswisselingen, en wat je concreet doet als de analyse wijst op een mix-probleem in plaats van een inkoopprobleem.

De basisformule — en waarom die onvoldoende is

Food cost percentage wordt op twee niveaus berekend: voor het hele restaurant en per gerecht. Beide heb je nodig — maar ze stellen heel verschillende vragen.

Formule · Restaurant niveau
Food cost % = (beginvoorraad + inkopen − eindvoorraad) ÷ omzet × 100
Gebruik inkoopwaarden excl. btw. Voer maandelijks een echte voorraadtelling uit — geschatte voorraden maken dit getal onbruikbaar.
Formule · Per gerecht (met yield-correctie)
Food cost % = (Σ (brutogew. × inkoopprijs/kg ÷ yield%) ÷ verkoopprijs excl. btw) × 100
Yield toepassen op het brutogekochte gewicht, niet het netto gewicht. Yield verschilt per leverancier, snijwijze en seizoen — gebruik periodiek gemeten yields, geen vaste aannames.

Het restaurant-niveau geeft je het gemiddelde. Het gerecht-niveau geeft je de oorzaak. Maar zolang je niet weet welke oorzaak — prijs, portie of mix — kun je niet gericht ingrijpen.

Normen per restauranttype

Concept Gezonde food cost Aandachtgrens Typische valkuil
Fine dining28 – 32%> 36%Dagverse producten met hoge yield-variatie
Casual dining30 – 34%> 38%Mix-effect door hoge verkoop goedkope items
Fastcasual / bistro25 – 30%> 34%Portioneringsfouten bij hoog volume
Bedrijfscatering32 – 38%> 42%Contractprijzen die niet geïndexeerd zijn
Bakkerij / lunch28 – 34%> 38%Verspilling door te grote productie runs

Food cost variance: de drie componenten die je moet uit elkaar trekken

Het verschil tussen theoretische food cost (wat je zou moeten kosten bij perfecte uitvoering) en werkelijke food cost (wat je daadwerkelijk uitgeeft) heet de food cost variance. Een variance van 2–3% is acceptabel. Daarboven is altijd een specifieke oorzaak aan te wijzen — maar die oorzaak is niet altijd dezelfde.

Er zijn precies drie mechanismen die een variance veroorzaken, en ze vragen elk een andere reactie:

Component 1: het prijseffect

De werkelijke inkoopprijs wijkt af van de prijs waarmee de theoretische cost is berekend. Dit is de meest zichtbare oorzaak — en ook de meest misleidende, omdat ondernemers hem gebruiken om andere variances te maskeren. Bereken het prijseffect als:

Formule · Prijseffect
Prijseffect = (werkelijke inkoopprijs − theoretische inkoopprijs) × werkelijk verbruikt volume
Positief = duurder ingekocht dan verwacht. Negatief = goedkoper. Isoleer dit per productcategorie (eiwitten, zuivel, groenten, droge waren).

Bij het Amsterdam-restaurant zagen we dat zalmprijzen in het kwartaal met 14% waren gestegen. De theoretische receptuurcost was niet bijgewerkt. Op een verkoopvolume van 420 porties zalm (€19,50 per portie) leidde dit tot een prijseffect van +€840 in het kwartaal — op zichzelf behapbaar. Maar gecombineerd met de andere twee effecten vertelde dit een ander verhaal.

Component 2: het volume-effect (portionering + verspilling)

Het werkelijk verbruikte volume wijkt af van het theoretisch benodigde volume. Dit omvat portioneringsfouten, verspilling door slechte mis-en-place planning, personeelsmaaltijden, proefpotten en niet-geregistreerde consumptie.

Formule · Volume-effect
Volume-effect = (werkelijk verbruikt volume − theoretisch benodigd volume) × theoretische inkoopprijs
Bereken "theoretisch benodigd volume" als: aantal verkochte porties per gerecht × receptuurgewicht × (1 ÷ yield%). Vergelijk met werkelijk ingekochte en verbruikte hoeveelheid.

In het Amsterdam-restaurant bleek het volume-effect bij vlees structureel positief: gemiddeld 18 gram per portie meer dan de receptuur voorschreef. Op 380 porties entrecôte per kwartaal en een inkoopprijs van €28/kg is dat: 0,018 kg × 380 × €28 = €191 aan extra kosten. Klein op zichzelf, maar structureel en volledig stuurbaar.

Component 3: het mix-effect

Dit is het lastigste effect — en het meest onderschatte. De verkochte productmix wijkt af van de aangenomen mix waarmee de theoretische food cost berekend is. Als gasten vaker kiezen voor low-margin gerechten en minder voor high-margin items, stijgt de totale food cost zonder dat er iets mis is met portionering of inkoop.

Formule · Mix-effect
Mix-effect = Σ [(werkelijk aandeel − theoretisch aandeel) × (gerecht food cost% − gemiddelde food cost%)] × totale omzet
Het mix-effect is nul als de verkoopverdeling overeenkomt met de aanname. Elk procentpunt extra verkoop van een item dat 8pp boven gemiddeld zit, kost bij €1M omzet €8.000.

In Amsterdam: de risotto (food cost 42%) werd door een speciale aanbieding op social media ineens 60% vaker besteld dan historisch normaal, terwijl de pasta (food cost 26%) corresponderende daalde. Mix-effect over het kwartaal: +€1.620. Niet zichtbaar zonder de uitsplitsing.

€2.650
Totale food cost variance in één kwartaal bij het Amsterdam-restaurant: €840 prijseffect + €191 volume-effect + €1.620 mix-effect. De totale food cost was 31,4% in plaats van 29,8% theoretisch. Zonder uitsplitsing was de oorzaak onzichtbaar gebleven.

Yield-analyse: de berekening die de meeste chefs fout doen

Yield is het percentage van een ingekocht product dat bruikbaar is na schoonmaken, snijden of bereiden. Het klinkt eenvoudig. Maar in de praktijk zijn er drie subtiliteiten die de berekening systematisch fout doen gaan.

Subtiliteit 1: yield verschilt per leverancier

Een zalmfilet van leverancier A heeft een yield van 91% (weinig graat, nette snit). Dezelfde filet van leverancier B heeft een yield van 84% door een andere snijwijze. Als je inkoopprijs A is €18,50/kg en prijs B is €17,20/kg, lijkt B goedkoper. Maar de effectieve kosten per netto kilogram bruikbaar product zijn:

  • Leverancier A: €18,50 ÷ 0,91 = €20,33/kg netto
  • Leverancier B: €17,20 ÷ 0,84 = €20,48/kg netto

Leverancier B is per bruikbaar kilogram duurder — ondanks de lagere factuurprijs. Dit type vergelijking wordt zelden gemaakt, omdat inkoop op brutoprijzen vergelijkt terwijl de keuken op netto gewichten werkt.

Subtiliteit 2: yield verandert met seizoen

Asperges hebben in april een yield van 72%, in mei 78%. Courgette loopt in de zomer op naar 90%, daalt in de herfst naar 82%. Als je receptuurcosts op vaste yield-percentages zijn gebaseerd, en je koopt seizoensgebonden, is je theoretische food cost structureel verkeerd — niet door portioneringsfouten maar door een verkeerde aanname.

Subtiliteit 3: kookverlies telt mee

Vlees verliest bij bereiden 20-35% gewicht door kookverlies (vochtverlies bij verhitting). Een entrecôte van 250g bruto, yield 94% na schoonmaken (235g netto), verliest bij medium-rare bereiden nog eens 22%: uiteindelijk 183g op het bord. De werkelijke effectieve yield is niet 94% maar 73%. Op een inkoopprijs van €28/kg is de kostprijs per portie niet €6,58 maar €9,56.

Product Brutogew. Yield schoonmaken Kookverlies Effectief nettogew. Inkoopprijs/kg Werkelijke kostprijs
Entrecôte250g94%22%183g€28,00€7,00
Zalmfilet (leverancier A)220g91%12%176g€18,50€4,07
Zalmfilet (leverancier B)220g84%12%163g€17,20€4,04
Asperge (april)180g72%8%119g€6,80€1,22
Asperge (mei)180g78%8%133g€5,40€0,97

De conclusie over de zalmfilets: leverancier B is per portie marginaal goedkoper (€4,04 vs. €4,07) — maar pas nadat je kookverlies meerekent. Zonder die stap had de inkoper de verkeerde conclusie getrokken.

Menu engineering: het vierkwadrantenmodel dat de prioriteit bepaalt

Zodra je food cost per gerecht hebt berekend, combineer je die met verkoopvolume in een menu engineering matrix. Dit model stamt oorspronkelijk van Kasavana & Smith (1982), maar is in de praktijk het meest bruikbare instrument om te bepalen wáár je actie nodig is.

Kwadrant Populair? Hoge marge? Naam Actie
IJaJaStarsBeschermen, eventueel prijs verhogen
IIJaNeePlowhorsesPrijs verhogen of food cost reduceren
IIINeeJaPuzzlesZichtbaarheid vergroten, verkooptraining
IVNeeNeeDogsVerwijderen of radicaal herformuleren

Bij het Amsterdam-restaurant was de risotto een Plowhorse: hoog verkoopvolume (favoriet van gasten), maar food cost van 42%. De reactie was niet "risotto van de kaart" — dat zou omzet kosten. De reactie was: food cost reduceren door deelcomponenten te herformuleren (goedkopere truffelpasta, kleiner portiegewicht van de Parmezaan die achteraf geraspt wordt) én prijs met €1,50 verhogen. Gecombineerd effect: food cost daalde naar 34%, marge per portie steeg met €2,40.

€18k
Extra jaarlijkse bijdrage na herformulering van de risotto en twee andere Plowhorses — zonder enig item van de kaart te halen. Alleen food cost en prijs van bestaande bestsellers geoptimaliseerd.

Categorie-analyse: splits food cost per productgroep

Een totaal food cost van 31% verbergt de werkelijkheid. Splits altijd per productcategorie — want elke categorie heeft zijn eigen dynamiek, leveranciers en sturingsknoppen:

  • Eiwitten (vlees, vis, gevogelte): hoogste inkoopprijs, sterkste yield-variatie, meeste inkoopkracht bij volume-consolidatie. Dit is waar 60-70% van de food cost zit bij een gemiddeld restaurant.
  • Zuivel en eieren: stabiele prijzen, lage yield-variatie. Een hoge food cost hier wijst bijna altijd op portioneringsfouten of slordig gebruik.
  • Verse groenten en kruiden: sterk seizoensgebonden, hoge yield-variatie. Vergelijk werkelijk gebruik met theoretisch per seizoen — niet op jaarbasis.
  • Droge waren (pasta, rijst, sausbases): lage kostprijs per portie, maar hoog volume. Kleine portioneringsafwijkingen worden hier pas zichtbaar bij analyse over langere periode.

De meest effectieve manier: bereken food cost variance per categorie per maand, en zoek de categorie met de hoogste onverklaarbare variance. Dat is je startpunt voor de diepere analyse.

Wat dit vraagt dat een standaard boekhouding niet geeft

Een P&L geeft je de totale inkoopkosten. Een kassasysteem geeft je de totale omzet. De food cost percentage kun je met die twee cijfers berekenen. Maar de variance-uitsplitsing, de yield-analyse per leverancier, het mix-effect en de menu engineering matrix — die vragen om een laag die de standaard boekhouding niet heeft.

Je hebt nodig: receptuurregistratie per gerecht (met yield-factoren), periodieke voorraadtellingen per categorie, en een koppeling tussen kassadata (aantallen verkocht per gerecht) en inkoopdata (volume en prijs per product). Zijn die drie aanwezig? Dan is de analyse maakbaar. Ontbreekt er één? Dan werk je op aannames — en aannames kosten uiteindelijk geld.

Veelgestelde vragen

Wat is een goede food cost voor een restaurant?
Een gezonde food cost ligt tussen 25% en 35%, afhankelijk van het concept. Maar het percentage zegt pas iets wanneer je het vergelijkt met je theoretische food cost én uitsplitst per gerecht. Een gemiddelde van 31% kan zes verlieslatende items verbergen die gecompenseerd worden door hoge-marge bestsellers.
Wat zijn de drie componenten van food cost variance?
Prijseffect (werkelijke inkoopprijs vs. theoretische), volume-effect (portioneringsfouten en verspilling) en mix-effect (verschuiving in de verkoopverdeling). Elk vraagt een andere reactie: prijseffect → leveranciersonderhandeling of menuprijs-aanpassing. Volume-effect → portioneringsprotocol. Mix-effect → menu engineering of verkooptraining.
Hoe vergelijk je twee leveranciers correct op prijs?
Vergelijk altijd op effectieve kostprijs per netto bruikbaar kilogram: inkoopprijs ÷ yield% (schoonmaken) ÷ (1 − kookverlies%). Een product met lagere factuurprijs maar lagere yield is vaak duurder per bruikbare portie.
Hoe werkt het menu engineering model in de praktijk?
Plot elk menu-item op twee assen: verkoopvolume (hoog/laag) en bijdragemarge in euro's per portie (hoog/laag). Stars beschermen, Plowhorses in food cost of prijs aanpassen, Puzzles promoten, Dogs verwijderen of herformuleren. Doe dit minimaal per seizoen.
Hoe vaak moet je food cost berekenen?
Werkelijke food cost: maandelijks op basis van een echte voorraadtelling. Theoretische food cost bijwerken: bij elke leveranciersprijs-wijziging van meer dan 5%, en minimaal eens per kwartaal. Variance-analyse: maandelijks, per categorie.

Weten wat jouw food cost werkelijk kost?

In een kennismaking van 30 minuten kijken we samen naar jouw cijfers — van inkoopfactuur tot menuprijs.

Gesprek inplannen →