Optimize enterprise technology capital plan
Optimize a two-stage enterprise technology portfolio that commits initial capital now and allocates follow-on capital only after observable signals; enforce non-anticipativity, dependencies, exclusions, signal-specific budget/capacity and eligibility, compare with the best one-shot portfolio, quantify option value and CVaR loss, and disclose solver certainty.
What it's for
Gives CEOs, CTOs, boards, and investors an adaptive technology capital plan that preserves money until real evidence arrives and quantifies the value over committing the whole portfolio today.
What you give it
Inputs split into evidence read from your connected systems, calibration your team owns, and numerical controls that affect precision but never the result's meaning.
| Field | Type | Role | Required |
|---|---|---|---|
| follow_on_capital_budget_by_signal | object | Evidence | Yes |
| follow_on_implementation_capacity_by_signal | object | Evidence | Yes |
| initial_capital_budget | number ≥ 0 | Your calibration | Yes |
| initial_implementation_capacity | number ≥ 0 | Your calibration | Yes |
| initiatives | array of objects (9 fields) ≥ 1 item | Evidence | Yes |
| max_detail_rows | integer ≥ 1, ≤ 500 | Numerical control | Optional |
| maximum_cvar_loss | number ≥ 0 | Your calibration | Optional |
| maximum_exact_states | integer ≥ 2, ≤ 1000000 | Numerical control | Optional |
| minimum_expected_npv | number | Your calibration | Optional |
| minimum_option_value | number ≥ 0 | Your calibration | Optional |
| scenarios | array of objects (3 fields) ≥ 2 items | Evidence | Yes |
| tail_probability | number > 0, ≤ 0.5 | Your calibration | Optional |
Each initiatives
record
| Field | Type | Required |
|---|---|---|
| dependency_ids | array of string | Yes |
| eligible_follow_on_scenarios | array of boolean (≥ 2 items) | Yes |
| eligible_initial | boolean | Optional |
| exclusion_ids | array of string | Yes |
| follow_on_investment_cost | number (≥ 0) | Yes |
| gross_value_scenarios | array of number (≥ 2 items) | Yes |
| id | string (non-empty) | Yes |
| implementation_capacity_units | number (≥ 0) | Yes |
| initial_investment_cost | number (≥ 0) | Yes |
{
"follow_on_capital_budget_by_signal": {
"adverse": 6,
"favorable": 6
},
"follow_on_implementation_capacity_by_signal": {
"adverse": 1,
"favorable": 1
},
"initial_capital_budget": 6,
"initial_implementation_capacity": 1,
"initiatives": [
{
"dependency_ids": [],
"eligible_follow_on_scenarios": [
true,
true
],
"eligible_initial": true,
"exclusion_ids": [],
"follow_on_investment_cost": 7,
"gross_value_scenarios": [
10,
10
],
"id": "foundation",
"implementation_capacity_units": 1,
"initial_investment_cost": 5
},
{
"dependency_ids": [],
"eligible_follow_on_scenarios": [
false,
true
],
"eligible_initial": true,
"exclusion_ids": [],
"follow_on_investment_cost": 6,
"gross_value_scenarios": [
0,
20
],
"id": "growth-option",
"implementation_capacity_units": 1, Truncated for display — the full payload is 60 lines.
What you get back
This is the actual output of running the example above — computed by the same function the platform calls, not an illustration.
{
"decision": "approve_staged_signal_contingent_capital_plan",
"failed_gates": [],
"guardrails": [
"Follow-on actions are constant for all futures sharing the same submitted signal and eligibility; hidden future outcomes cannot choose capital inside a signal cell.",
"Gross values must be incremental, mutually reconciled, finance-approved, and comparable across initial and follow-on timing; activity, code volume, executive enthusiasm, or prior spend is not economic value.",
"The exact certificate covers the submitted two-stage initiatives, dependencies, exclusions, budgets, capacity, signals, values, and scenarios only; omitted liquidity, tax, security, procurement, workforce, delivery, interaction, or financing constraints invalidate promotion.",
"The output is decision support for accountable executives and investment committees—not autonomous spending, procurement, hiring, firing, vendor action, company ranking, or employee evaluation."
],
"method": "two_stage_signal_contingent_enterprise_capital_plan_v1",
"policy_by_signal": [
{
"follow_on_capacity_used": 0,
"follow_on_capital_used": 0,
"follow_on_initiative_ids": [],
"signal_id": "adverse",
"signal_probability": 0.5
},
{
"follow_on_capacity_used": 1,
"follow_on_capital_used": 6,
"follow_on_initiative_ids": [
"growth-option"
],
"signal_id": "favorable",
"signal_probability": 0.5
}
],
"scenario_diagnostics": [
{
"policy_npv": 5,
"probability": 0.5,
"scenario_id": "adverse",
"selected_initiative_ids": [
"foundation"
],
"signal_id": "adverse"
},
{
"policy_npv": 19,
"probability": 0.5,
"scenario_id": "favorable",
"selected_initiative_ids": [
"foundation", Truncated for display — the full payload is 79 lines.
How it works
Constrained optimization — Pick the best feasible option under real limits — budget, headcount, dependencies, capacity — rather than ranking a list and hoping it fits.
- 1 Freeze incremental initiative values across coherent scenarios, initial/follow-on investment cost, implementation capacity, dependencies, exclusions, timing eligibility, scenario signals, and stage-specific capital/capacity limits.
- 2 Enumerate three-way initiative states inside the exact boundary or build deterministic value-density supported policies; choose initial actions and then a single identical follow-on action for every future inside each observable signal partition.
- 3 Replay scenario NPVs, compare the adaptive policy with the best initial one-shot portfolio, calculate signal-contingent option value and CVaR loss, and apply governed value/tail gates before approval.
Before you trust it
Every tool in the catalog ships with the conditions under which its answer is meaningful — and the conditions under which it should abstain instead of guessing.
Assumptions & guardrails
- Objectives use commensurable locally governed value units, constraints reflect real feasibility, and uncertainty covers plausible adverse inputs.
- Gross values are incremental and nonduplicative; signal and eligibility are genuinely observable before follow-on action; dependencies/exclusions and capital/capacity constraints are complete; scenario probabilities and values share one finance horizon.
- The recommendation is optimal only for its stated objective, feasible set, evidence, and solver guarantee; it is not a universal management optimum.
- Exactness covers only the submitted two-stage model; output is not autonomous spending, procurement, hiring/firing, vendor action, company ranking, or employee evaluation.
Minimum evidence
- initiatives: at least 1 rows/items
- scenarios: at least 2 rows/items
- initial_capital_budget: required and organization-defined
- follow_on_capital_budget_by_signal: required and organization-defined
- initial_implementation_capacity: required and organization-defined
- follow_on_implementation_capacity_by_signal: required and organization-defined
How to validate it
Backtest the chosen action against simple feasible baselines on held-out scenarios, sweep costs/constraints/risk tolerance, and require constraint feasibility under adverse inputs.
Calibrating it to your org
Same for everyone
The mathematical kernel, validation rules, method version, and JSON output semantics are organization-independent; no tenant-trained coefficients or company benchmark is embedded in the function.
Specific to you
- investment-committee scenario tree joining finance-reconciled value/cost, architecture and security feasibility, delivery capacity, immutable signal release, dependencies, exclusions and later realized outcomes without future leakage or duplicated benefit
- enterprise portfolio perimeter, two-stage decision rights, value/cost/currency/horizon, scenario law, signal observability, eligibility, dependency/exclusion semantics, capital and implementation limits, NPV/option/CVaR gates, tail, solver boundary, and human authority
Calibration workflow
- 1 Define the management decision, target outcome, aggregate unit, privacy boundary, cadence, and prediction/intervention horizon for this organization.
- 2 Build a tenant-scoped historical cohort using only information available before each prediction or decision; preserve zero periods, censoring, assignment probabilities, and unresolved outcomes when the method requires them.
- 3 Estimate statistical parameters on training history, but obtain costs, utilities, risk tolerance, practical-effect thresholds, capacity, and policy constraints from accountable decision owners.
- 4 Validate on later time windows or held-out aggregate units at the deployment grain, against a simple baseline and the function-specific validation strategy.
- 5 Deploy only if the returned decision clears evidence, overlap, calibration, robustness, and guardrail checks; warning, unsupported, schema-gap, and fallback decisions are abstentions.
- 6 Monitor realized outcomes, data drift, coverage, and decision regret; recalibrate at a governed cadence or after a detected regime/definition change, never merely because a stakeholder dislikes the result.
Call it from your AI
You don't wire up 388 tools in your MCP client. The GitRevio MCP server exposes 18 tools, three of which let an agent search the catalog, read a tool's schema, and run it — so the assistant finds this one on its own.
gitrevio_capabilities_search
{ "q": "optimize a twostage enterprise technology portfolio" }
→ finds "optimize_enterprise_technology_capital_plan"
gitrevio_capability_describe
{ "capability_id": "optimize_enterprise_technology_capital_plan" }
→ returns the input schema and agent guidance shown on this page
gitrevio_capability_run
{ "capability_id": "optimize_enterprise_technology_capital_plan", "arguments": { ... } }
→ returns the result shown above Works in Claude Desktop, Claude Code, Cursor, Cline, Continue.dev, Goose and Aider. See the MCP server.
Related tools
Audit cash flow timing consistency
Audit whether economic-event and cash-settlement timing obey governed lag rules across coherent scenarios, quantify the resulting NPV distortion, reconstruct scenario liquidity paths, and separate timing exceptions from liquidity-tail exposure without treating exceptions as wrongdoing.
Optimize cloud reserved capacity
Choose an integer portfolio of dated cloud reservations across coherent demand, realization, spot, and on-demand scenarios; price unused commitment and unserved demand explicitly, enforce coverage and capital gates, optimize expected-plus-CVaR cost, and disclose exact versus deterministic supported-set search.
Audit benefit double counting
Reconcile business-case benefit claims to unique economic source pools and allocation fractions, exposing overallocated sources and claim-level mismatches before portfolio value is aggregated.
Audit cost allocation consistency
Audit whether shared engineering, platform, cloud, vendor, or operating cost pools reconcile to source totals and follow their declared pro-rata allocation bases at every target.
Audit cost capitalization sensitivity
Audit whether permitted software-cost capitalization choices change reported project ROI and priority even though scenario cash NPV, downside, and economic rank are unchanged.
Audit delivery to cash chain integrity
Reconcile each governed milestone from delivery-ready evidence through customer acceptance, billing eligibility, net invoicing and collected cash; enforce temporal ordering, eligible-unbilled and outstanding-receivable identities, evidence separation and bounded diagnostics without treating Git activity as an accounting fact.