1import{C as i}from"./CUhnp7JR.js";import{u as n}from"./WgbT4tll.js";import{e as c,c as r,f as s,a as e,d as a,b as o,w as l,o as d,_ as f}from"./BfW3qa8s.js";import"./StJUadM-.js";const p={class:"approach"},b={class:"sec sec--origin"},h={class:"container"},y={class:"cta"},m={class:"cta-buttons"},v=c({__name:"approach",setup(u){return n({title:"Approach | ProDecs",meta:[{name:"description",content:"How ProDecs turns uncertainty into a decision. We model technical, cost, and market uncertainty coherently, price the flexibility you already have, and return the full distribution of outcomes with the optimal policy attached."}]}),(x,t)=>(d(),r("div",p,[t[5]||(t[5]=s('<section class="hero" data-v-0bc1f99b><div class="container" data-v-0bc1f99b><p class="eyebrow" data-v-0bc1f99b>Approach</p><h1 class="hero-title" data-v-0bc1f99b> Better project investment decisions under <em data-v-0bc1f99b>uncertainty.</em></h1><p class="hero-lede" data-v-0bc1f99b> A static spreadsheet returns one number. The world returns a distribution. ProDecs models the uncertainty, prices the flexibility, and gives you back a decision you can defend. </p></div></section><section class="sec sec--gap" data-v-0bc1f99b><div class="container" data-v-0bc1f99b><div class="gap-grid" data-v-0bc1f99b><div class="gap-copy" data-v-0bc1f99b><h2 class="sec-title" data-v-0bc1f99b>Deterministic NPV is a poor <em data-v-0bc1f99b>decision base.</em></h2><p data-v-0bc1f99b> Energy investment is evaluated based on a single forecasted NPV combined with a simple sensitivity analysis. That number underestimates the real uncertainty. The result: wrong allocation of capital, failed projects and missed profitable opportunities. </p><p data-v-0bc1f99b> We replace the point estimate with the underlying distribution, and the rigid plan with a policy that adapts as information arrives. </p></div><figure class="gap-figure" aria-label="Static DCF compared with the probabilistic distribution it hides." data-v-0bc1f99b><svg viewBox="0 0 480 320" preserveAspectRatio="xMidYMid meet" data-v-0bc1f99b><defs data-v-0bc1f99b><linearGradient id="distFill" x1="0" y1="0" x2="0" y2="1" data-v-0bc1f99b><stop offset="0%" stop-color="#2fb3bd" stop-opacity="0.42" data-v-0bc1f99b></stop><stop offset="100%" stop-color="#2fb3bd" stop-opacity="0.04" data-v-0bc1f99b></stop></linearGradient></defs><line x1="40" y1="260" x2="450" y2="260" stroke="rgba(160, 200, 210, 0.18)" stroke-width="1" data-v-0bc1f99b></line><path class="anim-fade" style="--d:300ms;" d="M 50 260 C 100 260, 140 250, 180 200 C 220 140, 260 130, 300 180 C 340 230, 390 258, 440 260 Z" fill="url(#distFill)" data-v-0bc1f99b></path><path class="anim-draw" style="--len:520;--d:200ms;" d="M 50 260 C 100 260, 140 250, 180 200 C 220 140, 260 130, 300 180 C 340 230, 390 258, 440 260" fill="none" stroke="#2fb3bd" stroke-width="1.6" stroke-linecap="round" data-v-0bc1f99b></path><line class="anim-fade" style="--d:900ms;" x1="245" y1="40" x2="245" y2="260" stroke="#d08a8a" stroke-width="1.3" stroke-dasharray="3 3" opacity="0.65" data-v-0bc1f99b></line><circle class="anim-fade" style="--d:900ms;" cx="245" cy="135" r="3.5" fill="#d08a8a" data-v-0bc1f99b></circle><g class="anim-fade" style="--d:1100ms;" font-family="Geist" font-size="11" data-v-0bc1f99b><text x="252" y="60" fill="#d08a8a" data-v-0bc1f99b>Static DCF</text><text x="252" y="76" fill="#5a6863" font-size="10" data-v-0bc1f99b>single point estimate</text></g><g class="anim-fade" style="--d:1300ms;" font-family="Geist" font-size="11" data-v-0bc1f99b><text x="50" y="160" fill="#7fd6dc" data-v-0bc1f99b>Probabilistic NPV</text><text x="50" y="176" fill="#5a6863" font-size="10" data-v-0bc1f99b>the actual range of outcomes</text></g><g class="anim-fade" style="--d:1500ms;" font-family="JetBrains Mono" font-size="9" fill="#8a958f" letter-spacing="0.06em" data-v-0bc1f99b><line x1="155" y1="258" x2="155" y2="266" stroke="#8a958f" data-v-0bc1f99b></line><text x="155" y="282" text-anchor="middle" data-v-0bc1f99b>P10</text><line x1="245" y1="258" x2="245" y2="266" stroke="#8a958f" data-v-0bc1f99b></line><text x="245" y="282" text-anchor="middle" data-v-0bc1f99b>P50</text><line x1="335" y1="258" x2="335" y2="266" stroke="#8a958f" data-v-0bc1f99b></line><text x="335" y="282" text-anchor="middle" data-v-0bc1f99b>P90</text></g></svg></figure></div></div></section>',2)),t[6]||(t[6]=e("section",{class:"sec sec--flow"},[e("div",{class:"container"},[e("header",{class:"sec-head"},[e("h2",{class:"sec-title"}
1,[a("How ProDecs "),e("em",null,"works.")]),e("p",{class:"sec-lede"}," One method, three movements. Uncertainty in, decision out. Nothing in between is hidden. ")]),e("div",{class:"flow"},[e("svg",{class:"flow-svg",viewBox:"0 0 1200 346",preserveAspectRatio:"xMidYMid meet",role:"img","aria-label":"ProDecs methodology flow: distributional inputs feed the engine, which produces probabilistic outputs and an optimal policy."},[e("defs",null,[e("linearGradient",{id:"inputFill",x1:"0",y1:"0",x2:"0",y2:"1"},[e("stop",{offset:"0%","stop-color":"#2fb3bd","stop-opacity":"0.35"}),e("stop",{offset:"100%","stop-color":"#2fb3bd","stop-opacity":"0.04"})]),e("linearGradient",{id:"outputFill",x1:"0",y1:"0",x2:"0",y2:"1"},[e("stop",{offset:"0%","stop-color":"#2fb3bd","stop-opacity":"0.55"}),e("stop",{offset:"100%","stop-color":"#2fb3bd","stop-opacity":"0.06"})]),e("filter",{id:"flowGlow",x:"-50%",y:"-50%",width:"200%",height:"200%"},[e("feGaussianBlur",{stdDeviation:"3"}),e("feMerge",null,[e("feMergeNode"),e("feMergeNode",{in:"SourceGraphic"})])])]),e("g",{"font-family":"JetBrains Mono","font-size":"10",fill:"#8a958f","letter-spacing":"0.22em"},[e("text",{x:"170",y:"34","text-anchor":"middle"},"01 · INPUTS"),e("text",{x:"600",y:"34","text-anchor":"middle"},"02 · ENGINE"),e("text",{x:"1030",y:"34","text-anchor":"middle"},"03 · OUTPUTS")]),e("g",{class:"anim-fade",style:{"--d":"200ms"}},[e("text",{x:"40",y:"86","font-family":"Geist","font-size":"12",fill:"#eef5f6"},"Market price"),e("path",{d:"M 170 100 C 195 100, 210 92, 225 76 C 240 64, 260 64, 275 76 C 290 92, 305 100, 330 100 Z",fill:"url(#inputFill)"}),e("path",{d:"M 170 100 C 195 100, 210 92, 225 76 C 240 64, 260 64, 275 76 C 290 92, 305 100, 330 100",fill:"none",stroke:"#2fb3bd","stroke-width":"1.2"}),e("text",{x:"40",y:"146","font-family":"Geist","font-size":"12",fill:"#eef5f6"},"Production"),e("path",{d:"M 170 160 C 200 160, 220 152, 240 138 C 255 130, 275 132, 295 146 C 310 156, 320 160, 330 160 Z",fill:"url(#inputFill)"}),e("path",{d:"M 170 160 C 200 160, 220 152, 240 138 C 255 130, 275 132, 295 146 C 310 156, 320 160, 330 160",fill:"none",stroke:"#2fb3bd","stroke-width":"1.2"}),e("text",{x:"40",y:"206","font-family":"Geist","font-size":"12",fill:"#eef5f6"},"CAPEX"),e("path",{d:"M 170 220 C 200 220, 215 213, 230 200 C 245 188, 265 188, 280 198 C 300 212, 315 220, 330 220 Z",fill:"url(#inputFill)"}),e("path",{d:"M 170 220 C 200 220, 215 213, 230 200 C 245 188, 265 188, 280 198 C 300 212, 315 220, 330 220",fill:"none",stroke:"#2fb3bd","stroke-width":"1.2"}),e("text",{x:"40",y:"266","font-family":"Geist","font-size":"12",fill:"#eef5f6"},"Production"),e("path",{d:"M 170 280 C 195 280, 215 272, 240 254 C 260 244, 280 248, 300 264 C 315 274, 322 280, 330 280 Z",fill:"url(#inputFill)"}),e("path",{d:"M 170 280 C 195 280, 215 272, 240 254 C 260 244, 280 248, 300 264 C 315 274, 322 280, 330 280",fill:"none",stroke:"#2fb3bd","stroke-width":"1.2"}),e("line",{x1:"345",y1:"60",x2:"345",y2:"300",stroke:"rgba(160, 200, 210, 0.18)","stroke-width":"0.8"})]),e("g",{class:"anim-fade",style:{"--d":"600ms"},stroke:"#2fb3bd","stroke-width":"0.8",opacity:"0.55",fill:"none"},[e("path",{d:"M 345 90 C 410 90, 440 170, 470 180","stroke-dasharray":"2 3"}),e("path",{d:"M 345 150 C 400 150, 430 175, 470 180","stroke-dasharray":"2 3"}),e("path",{d:"M 345 210 C 400 210, 430 185, 470 180","stroke-dasharray":"2 3"}),e("path",{d:"M 345 270 C 410 270, 440 200, 470 190","stroke-dasharray":"2 3"})]),e("g",{class:"anim-fade",style:{"--d":"800ms"},transform:"translate(-425, 0)"},[e("text",{x:"880",y:"86","font-family":"Geist","font-size":"12",fill:"#eef5f6"},"NPV distribution"),e("path",{class:"anim-fade",style:{"--d":"1000ms"},d:"M 880 220 C 920 220, 950 208, 980 168 C 1010 130, 1050 122, 1080 158 C 1110 192, 1140 218, 1170 220 Z",fill:"url(#outputFill)"}),e("path",{class:"anim-draw",style:{"--len":"520","--d":"800ms"},d:"M 880 220 C 920 220, 950 208, 980 168 C 1010 130, 1050 122, 1080 158 C 1110 192, 1140 218, 1170 220",fill:"none",stroke:"#2fb3bd","stroke-width":"1.8","stroke-linecap":"round"}),e("line",{x1:"880",y1:"220",x2:"1170",y2:"220",stroke:"rgba(160, 200, 210, 0.18)","stroke-width":"0.8"}),e("g",{"font-family":"JetBrains Mono","font-size":"9",fill:"#5a6863","letter-spacing":"0.06em"},[e("line",{x1:"930",y1:"218",x2:"930",y2:"226",stroke:"#8a958f"}),e("text",{x:"930",y:"242","text-anchor":"middle"},"P10"),e("line",{x1:"1030",y1:"125",x2:"1030",y2:"120",stroke:"#2fb3bd","stroke-width":"1"}),e("circle",{cx:"1030",cy:"120",r:"3.2",fill:"#2fb3bd",filter:"url
1(#flowGlow)"}),e("text",{x:"1030",y:"108","text-anchor":"middle",fill:"#7fd6dc","font-size":"10"},"P50"),e("line",{x1:"1130",y1:"218",x2:"1130",y2:"226",stroke:"#8a958f"}),e("text",{x:"1130",y:"242","text-anchor":"middle"},"P90")]),e("text",{x:"1025",y:"274","font-family":"JetBrains Mono","font-size":"9",fill:"#8a958f","text-anchor":"middle","letter-spacing":"0.16em"}," 10,000 SIMULATIONS · Full uncertainty landscape ")]),e("line",{class:"anim-fade",style:{"--d":"1400ms"},x1:"855",y1:"60",x2:"855",y2:"300",stroke:"rgba(160, 200, 210, 0.18)","stroke-width":"0.8"}),e("g",{class:"anim-fade",style:{"--d":"1400ms"},stroke:"#2fb3bd","stroke-width":"0.8",opacity:"0.6",fill:"none"},[e("path",{d:"M 730 180 C 780 180, 820 175, 855 175","stroke-dasharray":"2 3"}),e("path",{d:"M 730 190 C 780 195, 820 190, 855 195","stroke-dasharray":"2 3"}),e("path",{d:"M 730 200 C 780 210, 820 215, 855 215","stroke-dasharray":"2 3"})]),e("g",{class:"anim-fade",style:{"--d":"1500ms"},transform:"translate(425, 0)"},[e("text",{x:"600",y:"54","font-family":"Geist","font-size":"13",fill:"#eef5f6","text-anchor":"middle","font-weight":"500"}," Real options and portfolio optimization "),e("line",{x1:"495",y1:"110",x2:"495",y2:"250",stroke:"rgba(160, 200, 210, 0.18)","stroke-width":"0.8"}),e("line",{x1:"495",y1:"250",x2:"705",y2:"250",stroke:"rgba(160, 200, 210, 0.18)","stroke-width":"0.8"}),e("text",{x:"490",y:"104","font-family":"JetBrains Mono","font-size":"9",fill:"#5a6863","letter-spacing":"0.12em"},"RETURN"),e("text",{x:"705",y:"263","font-family":"JetBrains Mono","font-size":"9",fill:"#5a6863","text-anchor":"end","letter-spacing":"0.12em"},"RISK"),e("path",{class:"anim-draw",style:{"--len":"360","--d":"1700ms"},d:"M 528 218 C 558 168, 608 138, 652 128 C 672 124, 686 122, 698 120",fill:"none",stroke:"#2fb3bd","stroke-width":"2","stroke-linecap":"round",filter:"url(#flowGlow)"}),e("g",{class:"anim-fade",style:{"--d":"1800ms"},fill:"#7c8a86"},[e("circle",{cx:"560",cy:"222",r:"3"}),e("circle",{cx:"590",cy:"235",r:"3"}),e("circle",{cx:"628",cy:"205",r:"3"}),e("circle",{cx:"660",cy:"218",r:"3"}),e("circle",{cx:"682",cy:"190",r:"3"})]),e("g",{class:"anim-fade",style:{"--d":"2000ms"}},[e("circle",{cx:"600",cy:"149",r:"5.5",fill:"#2fb3bd",filter:"url(#flowGlow)"}),e("circle",{cx:"600",cy:"149",r:"2.4",fill:"#eef5f6"}),e("text",{x:"600",y:"133","text-anchor":"middle","font-family":"JetBrains Mono","font-size":"10",fill:"#7fd6dc"},"2")]),e("g",{class:"anim-fade",style:{"--d":"2100ms"},transform:"translate(495, 268)"},[e("rect",{x:"0",y:"0",width:"210",height:"66",rx:"6",fill:"rgba(47, 179, 189, 0.12)",stroke:"#2fb3bd","stroke-width":"0.7",opacity:"0.8"}),e("text",{x:"14",y:"16","font-family":"JetBrains Mono","font-size":"9",fill:"#7fd6dc","letter-spacing":"0.18em"},"OPTIMAL POLICY"),e("text",{x:"14",y:"32","font-family":"Geist","font-size":"10",fill:"#eef5f6"},"Portfolio combination 2 is optimal"),e("text",{x:"14",y:"46","font-family":"Geist","font-size":"10",fill:"#eef5f6"},"Sanction in Y3"),e("text",{x:"14",y:"60","font-family":"Geist","font-size":"10",fill:"#eef5f6"},"Stage capacity if price < $60")])])]),e("ol",{class:"flow-captions"},[e("li",null,[e("span",{class:"cap-num"},"01"),e("h3",{class:"cap-title"},"Model the uncertainty"),e("p",{class:"cap-text"}," Technical, cost, and market inputs enter as distributions with correlations taken into account. All risks are combined together rather than focusing on just a handful of them. ")]),e("li",null,[e("span",{class:"cap-num"},"02"),e("h3",{class:"cap-title"},"See the real risk profile"),e("p",{class:"cap-text"}," NPV, IRR, breakeven and payback as full distributions, each with a probability of crossing a needed sanctioning threshold. Every simulation is traceable. ")]),e("li",null,[e("span",{class:"cap-num"},"03"),e("h3",{class:"cap-title"},"Optimize the decision"),e("p",{class:"cap-text"}," Run the portfolio optimization to get an optimal decision policy, accounting for the value of flexibility in projects that can adapt to uncertainty as new information arrives. See when to sanction, expand, stage, switch, or walk, and at what scale. ")])])])])],-1)),t[7]||
1(t[7]=s('<section class="sec sec--lifecycle" data-v-0bc1f99b><div class="container" data-v-0bc1f99b><header class="sec-head" data-v-0bc1f99b><h2 class="sec-title" data-v-0bc1f99b>Where flexibility <em data-v-0bc1f99b>lives.</em></h2><p class="sec-lede" data-v-0bc1f99b> Every phase of an energy project holds at least one decision that changes expected NPV. ProDecs prices them as one adaptive policy. </p></header><ol class="phases" data-v-0bc1f99b><li class="phase" data-v-0bc1f99b><span class="phase-num" data-v-0bc1f99b>01</span><h3 class="phase-name" data-v-0bc1f99b>Concept</h3><p class="phase-lever" data-v-0bc1f99b>Wait or commit</p><span class="phase-dur" data-v-0bc1f99b>3â5 yrs</span></li><li class="phase" data-v-0bc1f99b><span class="phase-num" data-v-0bc1f99b>02</span><h3 class="phase-name" data-v-0bc1f99b>Planning</h3><p class="phase-lever" data-v-0bc1f99b>Capacity sizing</p><span class="phase-dur" data-v-0bc1f99b>1â2 yrs</span></li><li class="phase" data-v-0bc1f99b><span class="phase-num" data-v-0bc1f99b>03</span><h3 class="phase-name" data-v-0bc1f99b>Development</h3><p class="phase-lever" data-v-0bc1f99b>Stage or defer</p><span class="phase-dur" data-v-0bc1f99b>2â4 yrs</span></li><li class="phase phase--accent" data-v-0bc1f99b><span class="phase-num" data-v-0bc1f99b>04</span><h3 class="phase-name" data-v-0bc1f99b>Production</h3><p class="phase-lever" data-v-0bc1f99b>Expand, switch, idle</p><span class="phase-dur" data-v-0bc1f99b>15â25 yrs</span></li><li class="phase" data-v-0bc1f99b><span class="phase-num" data-v-0bc1f99b>05</span><h3 class="phase-name" data-v-0bc1f99b>Decommissioning</h3><p class="phase-lever" data-v-0bc1f99b>Extend or repurpose</p><span class="phase-dur" data-v-0bc1f99b>2â5 yrs</span></li></ol></div></section>',1)),e("section",b,[e("div",h,[t[3]||(t[3]=s('<h2 class="sec-title" data-v-0bc1f99b>Where this <em data-v-0bc1f99b>comes from.</em></h2><div class="origin-grid" data-v-0bc1f99b><div class="origin-copy" data-v-0bc1f99b><p data-v-0bc1f99b> ProDecs is a research-based NTNU spin-off built on the methodology developed inside the <strong data-v-0bc1f99b>BRU21 Research and Innovation programme</strong> since 2018. The programme spans cybernetics, data science, engineering and economics, focused on investment valuation under uncertainty. Three doctoral theses, six master projects and over ten peer-reviewed publications are underlying our work. </p><p data-v-0bc1f99b> We have been collaborating with the Norwegian offshore industry since day 1, validating our concept for decision making and investment valuation under uncertainty based on dozens of case studies and developing our software product together with the industry. </p></div><aside class="partners" data-v-0bc1f99b><p class="partners-label" data-v-0bc1f99b>Commercial and research partners</p><ul data-v-0bc1f99b><li data-v-0bc1f99b><span data-v-0bc1f99b>OKEA</span><span class="partners-since" data-v-0bc1f99b>since 2018</span></li><li data-v-0bc1f99b><span data-v-0bc1f99b>Aker BP</span><span class="partners-since" data-v-0bc1f99b>since 2022</span></li><li data-v-0bc1f99b><span data-v-0bc1f99b>Norwegian Offshore Directorate</span><span class="partners-since" data-v-0bc1f99b>since 2022</span></li><li data-v-0bc1f99b><span data-v-0bc1f99b>DNO</span><span class="partners-since" data-v-0bc1f99b>since 2025</span></li></ul></aside></div>',2)),t[4]||(t[4]=e("div",{class:"origin-videos"},[e("div",{class:"origin-video"},[e("iframe",{src:"https://www.youtube-nocookie.com/embed/_RLSOsppOjM",title:"ProDecs",loading:"lazy",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerpolicy:"strict-origin-when-cross-origin",allowfullscreen:""})]),e("div",{class:"origin-video"},[e("iframe",{src:"https://www.youtube-nocookie.com/embed/SkhcqlVoyGk?start=42",title:"ProDecs",loading:"lazy",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerpolicy:"strict-origin-when-cross-origin",allowfullscreen:""})])],-1)),e("div",y,[t[2]||(t[2]=e("div",{class:"cta-text"},[e("h3",{class:"cta-head"},[a(" Improve your investment decisions in "),e("em",null,"energy projects.")]),e("p",{class:"cta-body"}," Talk to us about a pilot, or join the Joint Industry Project on portfolio optimisation. ")],-1)),e("div",m,[o(i,{to:"/simulate",variant:"primary"},{default:l(()=>[...t[0]||(t[0]=[a("Quick estimate",-1)])]),_:1}),o(i,{to:"/platform",variant:"ghost"},{default:l(()=>[...t[1]||(t[1]=[a("See the platform",-1)])]),_:1})])])])])]))}}),M=f(v,[["__scopeId","data-v-0bc1f99b"]]);export{M as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.