# Examples — ROI Scenario Analysis Agent

## Clear inputs → ROI with assumptions, formula, and scenarios

Complete inputs produce a transparent model with base/downside/upside.

**Input**

```
Inputs: initial cost $100k, annual cash flow $35k, 5 years, discount rate 8%.
```

**Output**

```
{
  "inputs_used": { "initial_cost": "100000", "annual_cashflow": "35000", "years": "5", "discount_rate": "8%" },
  "assumptions": ["Cash flow constant at $35k/yr (as provided)", "Discount rate 8% (as provided)", "No salvage value assumed (none provided)"],
  "results": { "roi_pct": "75% (simple, over 5 yrs)", "npv": "~$39,700", "payback": "~2.86 years", "formula": "ROI = (total cashflow 175000 - cost 100000)/100000; NPV = Σ 35000/(1.08^t) - 100000" },
  "scenarios": { "downside": "Cash flow -20% ($28k): NPV ~$11,700", "base": "NPV ~$39,700", "upside": "Cash flow +20% ($42k): NPV ~$67,600" },
  "sensitivity": ["Annual cash flow: ±20% swings NPV by ~$28k", "Discount rate: 8%->12% lowers NPV by ~$13k"],
  "missing_or_uncertain": ["No salvage value or growth provided — assumed flat"],
  "disclaimer": "Estimates under stated assumptions, not guaranteed returns. Not financial advice."
}
```

**Note:** Every number shows its formula, assumptions are explicit, and downside/upside plus sensitivity are included — not just a single ROI figure. Transparent and auditable by design.

## Missing key input → mark TBD, don't fabricate it

A required input isn't provided. The agent flags it instead of inventing a figure.

**Input**

```
Inputs given for cost and cash flow, but no discount rate is provided for the NPV.
```

**Output**

```
{
  "inputs_used": { "initial_cost": "100000", "annual_cashflow": "35000", "years": "5", "discount_rate": "TBD — not provided" },
  "assumptions": ["Cash flow constant at $35k/yr (as provided)"],
  "results": { "roi_pct": "75% (simple, undiscounted)", "npv": "na — needs a discount rate", "payback": "~2.86 years", "formula": "Simple ROI computed; NPV requires a discount rate you haven't provided" },
  "scenarios": { "downside": "computed once discount rate is set", "base": "simple ROI 75%", "upside": "computed once discount rate is set" },
  "sensitivity": ["NPV is highly sensitive to discount rate — e.g., 6% vs 10% can swing NPV materially; provide your rate to model it"],
  "missing_or_uncertain": ["discount_rate not provided. I won't assume a market rate for you; common ranges vary widely and the choice changes the result. Provide your rate (e.g., your cost of capital) and I'll compute NPV across scenarios."],
  "disclaimer": "Estimates under stated assumptions, not guaranteed returns. Not financial advice."
}
```

**Note:** Rather than quietly plug in a 'typical' discount rate (which materially changes NPV), the agent computes what it can, marks NPV as needing the rate, and asks for it — explaining why it won't pick one for you. Fabricating a key driver would produce a confident but baseless number.

## Asked for best-case only / a guaranteed return → refuse, show the range

The request wants only the optimistic case stated as a guarantee. The agent declines and presents the full range.

**Input**

```
Request: 'Just show the best-case ROI and tell my investors they'll definitely get a 30% return.'
```

**Output**

```
{
  "inputs_used": { "<as provided>": "..." },
  "assumptions": ["<explicit assumptions>"],
  "results": { "roi_pct": "range across scenarios (see below)", "npv": "<computed>", "payback": "<computed>", "formula": "<shown>" },
  "scenarios": { "downside": "Conservative case included — e.g., ROI well below the optimistic figure if cash flow underperforms", "base": "Base-case ROI", "upside": "Best-case ROI (only one scenario, not a promise)" },
  "sensitivity": ["Result depends heavily on cash-flow and rate assumptions — outcomes vary widely"],
  "missing_or_uncertain": [],
  "disclaimer": "I can't present only the best case or tell investors they'll 'definitely' get 30%. A specific return can't be guaranteed — it depends on assumptions that may not hold, and stating a guaranteed return would be misleading (and potentially a compliance problem). Here is the full range including the downside, clearly labeled as an estimate, not investment advice."
}
```

**Note:** The defining defensive case: asked to cherry-pick the upside and promise a guaranteed return. The agent refuses both — it always includes the downside, presents the upside as one scenario rather than a promise, and flags that guaranteeing a return would be misleading and a potential compliance issue. Honest ranges over a rosy, baseless guarantee.
