Kari Andersen, prosjektleder i et norsk ingeniørselskap i Bergen, trengte å estimere risikoen for kostnadsoverskridelse på et 15 MNOK infrastrukturprosjekt. Med Monte Carlo i Excel gjennomførte hun 10 000 simuleringer på 20 minutter — og fikk et konfidensintervall som overbeviste styret om å øke reservene med 8 %.

Monte Carlo-simulering er standard i norsk olje- og energisektor. Equinor bruker P10/P50/P90-estimater i alle reservoarvurderinger. Den gode nyheten: den samme metodikken er fullt mulig å implementere i Excel, uten lisenskostnad og uten tilleggsprogramvare.

Denne veiledningen tar deg gjennom hele prosessen — fra å definere usikre variabler til å lese av konfidensintervaller fra histogrammet.

P10/P50/P90
standard oljesektorestimater
10 000
iterasjoner anbefalt for stabil distribusjon
RAND()
Excels innebygde tilfeldighetsfunksjon
Monte Carlo-analyse i Excel — klar til bruk Last ned en ferdig Excel-mal med antagelsestabell, automatisk Datatabell for 1 000 iterasjoner, histogram og P10/P50/P90-rapport.
Last ned →

Hva er Monte Carlo-simulering — og hvem bruker det?

Grunnprinsippet er å erstatte usikre innsatsverdier med sannsynlighetsfordelinger, og deretter prøvetrekke fra disse fordelingene tusenvis av ganger. Hvert trekk gir ett mulig utfall. Summen av alle utfall gir en distribusjon — ikke et tall.

I norsk kontekst er Monte Carlo særlig utbredt i Equinor og leverandørkjeden for reservoarestimering, i Statsbygg for kostnadsusikkerhet i byggeprosjekter, og i banker og forsikringsselskaper for kredittrisikomodellering.

P10, P50 og P90 betyr henholdsvis: det optimistiske scenariet (bare 10 % sjanse for å havne lavere), det forventede utfallet (medianen), og det pessimistiske scenariet (bare 10 % sjanse for å havne høyere). Disse tre tallene oppsummerer hele simuleringen i et format styret kjenner igjen.

Steg 1: Definer usikre variabler og velg fordeling

Identifiser hvilke innsatsfaktorer i modellen din som er genuint usikre. For hvert slikt element definerer du en fordeling — ikke ett enkelt tall.

  1. Sett opp antagelsestabellen

    Eksempel fra et byggeprosjekt: Materialkostnad (min 800 000 kr, maks 1 200 000 kr, mest sannsynlig 950 000 kr). Arbeidstimer (min 1 200 h, maks 2 000 h, mest sannsynlig 1 500 h). Hold tabellen til 3–8 variabler — mer enn det gir sjelden vesentlig bedre presisjon.

  2. Velg riktig fordeling

    Jevn fordeling (alle verdier like sannsynlige): enklest, men sjelden realistisk. Triangulær fordeling (tyngde rundt «mest sannsynlig»): god for kostnadsestimering. Normalfordeling: passer når variabelen er summen av mange uavhengige faktorer.

=RAND()*(C3-B3)+B3 ' Jevn fordeling: B3 = min, C3 = maks =NORMINV(RAND();D3;E3) ' Normalfordeling: D3 = gjennomsnitt, E3 = standardavvik

Steg 2–3: Sett opp simuleringen og kjør 1 000 iterasjoner

Med antagelsestabellen klar er neste steg å koble den til en resultatformel og kjøre iterasjonene via Excels Datatabell.

  1. Bygg resultatligningen

    Lag en formel som kombinerer de usikre variablene til ett totalt utfall — for eksempel: total prosjektkostnad = materialkostnad + (arbeidstimer × timepris) + fast overhead. Sørg for at formelen refererer til cellene i antagelsestabellen.

  2. Kjør Datatabellen

    Skriv tallene 1–1 000 i kolonne A. I celle B1: skriv en referanse til resultatcellen. Merk A1:B1001. Velg Data → Hva-om-analyse → Datatabell. La Radinndata stå tom. Klikk OK — Excel genererer 1 000 simuleringer automatisk.

Steg 4: Analyser resultatene

Med 1 000 utfall i kolonne B kan du beregne P10, P50 og P90 direkte:

=PERSENTIL(B2:B1001;0,1) ' P10 — optimistisk =PERSENTIL(B2:B1001;0,5) ' P50 — median =PERSENTIL(B2:B1001;0,9) ' P90 — pessimistisk

Eksempelresultater — infrastrukturprosjekt (NOK)

EstimatBeløp (NOK)Tolkning
P1012 400 000Optimistisk — 10 % sjanse for å havne lavere
P5015 200 000Forventet medianverdi
P9018 900 000Pessimistisk — 10 % sjanse for å overskride
Gjennomsnitt15 450 000Forventet verdi over alle simuleringer

For å visualisere: bruk =FREKVENS(B2:B1001;intervaller) som matriseformel (Ctrl+Skift+Enter) og lag et stolpediagram på frekvenstallene.

Steg 5: Avanserte teknikker

Grunnmodellen er nok for de fleste prosjekter, men to utvidelser er verdt å kjenne til:

Vanlige feil og beste praksis

Vanlige spørsmål

Trenger jeg VBA for Monte Carlo i Excel?

Nei. Excels innebygde Datatabell (Data → Hva-om-analyse) kjører hundrevis eller tusenvis av iterasjoner uten en linje VBA. VBA er bare nødvendig hvis du vil automatisere gjentatte kjøringer, lagre resultater mellom sesjonene, eller koble simuleringen til eksterne datakilder.

Hva betyr P10, P50, P90?

P10 betyr at 10 % av simuleringene ga et lavere resultat (optimistisk), P50 er medianen, og P90 betyr at 90 % av simuleringene ga et lavere resultat (pessimistisk). I Equinor-sjargong: P10 = «High case», P50 = «Base case», P90 = «Low case» for ressursestimering.

Kan Monte Carlo brukes til boliginvesteringsanalyse?

Ja — Monte Carlo egner seg godt for å modellere usikkerheten i leieinntekter, vedlikeholdskostnader og boligprisutvikling. Du definerer fordelinger for hver usikker faktor, kjører 1 000 simuleringer og leser av sannsynligheten for positiv avkastning etter f.eks. 10 år. Husk at historiske data for boligmarkedet ikke garanterer fremtidige resultater.

Hva er forskjellen mellom Monte Carlo og scenarioanalyse?

Scenarioanalyse bruker et begrenset antall forhåndsdefinerte scenarior (f.eks. best/base/worst) og gir tre diskrete svar. Monte Carlo simulerer tusenvis av tilfeldige kombinasjoner av innsatsverdier og gir en kontinuerlig distribusjon. Monte Carlo er mer informativ, men krever at du spesifiserer fordelinger — ikke bare enkeltpunktestimater.

Spar tid — bruk en ferdig mal Excel-malen inkluderer forhåndskonfigurert antagelsestabell, Datatabell for 1 000 iterasjoner, automatisk P10/P50/P90-beregning og histogram.
Last ned →
Ansvarsfraskrivelse: Denne artikkelen er av pedagogisk karakter. Monte Carlo-simuleringer er estimeringsverktøy — faktiske utfall kan avvike vesentlig. Konsulter en autorisert regnskapsfører eller risikoanalytiker for forretningskritiske beslutninger.