The question changes faster than the answer arrives.
A reprice is not hard. It is long. Pull the models, agree the assumptions, chase the asset teams, rebuild the rollup, reconcile the variance, put it in slides. Weeks of elapsed time and a handful of people, every time — and the market has moved again before the deck is printed.
So you ration your questions. You run the two scenarios you can defend and skip the eleven you'd like to see. The plan you present isn't the best one you could find. It's the best one you had time to price.
A price-deck change means starting the cycle over.
Assembled by hand, stale the day it lands.
Priced, approved, and infeasible. You find out in execution.
One model, always solved.
EPPortfolioEPPortfolio's core is a portfolio calculator and scheduler — candidates, rigs, facilities and dependencies resolved as one program — with economics computing over it continuously. Nothing is a batch job. Move a sanction date and the cash flows, the constraints downstream and the portfolio total all settle together.
The economics engine is yours to shape, not ours to gate. Today we implement your fiscal terms with you, inside the engine, alongside a sealed calibrated core — results from your models and results from the core stay distinguishable, and the reference math is always recoverable. The no-code editor that lets your team do it unaided is in build, shaped by the operators we build alongside. Either way, your fiscal terms are not a vendor ticket.
omni proposes. The engine computes. You decide.
Ask in the language you'd use with a colleague — what does 2028 free cash flow do if we defer the Phase 2 tieback and Brent sits at 58? — and get the answer with its workings attached. omni's job is to find the question inside your sentence and route it to the right tool. It never computes a number. Arithmetic belongs to the versioned engine, where it can be checked.
Every write is gated: propose → confirm → audit. MCP-native, so you point omni at your own frontier model, in your own tenant, under your own terms.
The rollup is a view, not another calculation result.
Opportunities, sanctioned projects and their measured performance live on the same data model. The portfolio total isn't assembled from twelve spreadsheets each Thursday — it is the model, read at a different altitude. Walk down through it: business unit, asset, project, well. Nobody spends the first twenty minutes of the meeting arguing whose version is current.
And because outcomes sit beside forecasts on that same model, learning from what happened is a property of the data, not an exercise someone runs once a year.
The same method prices a barrel and a kilowatt — oil and gas today, the rest of the mix on the same model.
The economics assume a schedule. The schedule assumes nobody is in the way.
A model that prices projects one at a time is answering the wrong question. In a development program the projects are not independent: pads share a frac spread, wells share a gathering system and a plant, and a well completed next door changes the curve on the one already producing.
So the plan clears the hurdle rate and still cannot be executed. Two pads want the same crew in March. The plant is full in July, and the volume you booked is curtailed — not deferred, gone. The offset completion lands and the parent never returns to the type curve you sanctioned it on.
None of this is in the spreadsheet, because a spreadsheet has no way to represent it. EPPortfolio resolves candidates, crews, facilities and dependencies as one program and computes economics over the resolved schedule, not the intended one.
We are starting where these constraints bind hardest and public production data is good enough to show the method before anything of yours changes hands.
Ranges and probabilistic evaluation are on the roadmap. Today the engine is deterministic over an explicit schedule.