{% extends "base.html" %} {% block title %}Scenario Distribution | CalMiner{% endblock %} {% block content %} {% include "partials/reports_header.html" with context %}

Scenario Details

Name
{{ scenario.name }}
Project ID
{{ scenario.project_id }}
Status
{{ scenario.status | title }}
Currency
{{ scenario.currency or "—" }}
Discount Rate
{{ metrics.discount_rate | percentage_display }}
Updated
{{ scenario.updated_at | format_datetime }}

Financial Totals

  • Inflows {{ summary.inflows | currency_display(scenario.currency) }}
  • Outflows {{ summary.outflows | currency_display(scenario.currency) }}
  • Net Cash Flow {{ summary.net | currency_display(scenario.currency) }}
{% if summary.by_category %}

By Category

    {% for label, value in summary.by_category.items() %}
  • {{ label | replace("_", " ") | title }} {{ value | currency_display(scenario.currency) }}
  • {% endfor %}
{% endif %}

Deterministic Metrics

Key financial indicators calculated from deterministic cash flows.

NPV {{ metrics.npv | currency_display(scenario.currency) }}
IRR {{ metrics.irr | percentage_display }}
Payback Period {{ metrics.payback_period | period_display }}
{% if metrics.notes %} {% endif %}

Monte Carlo Distribution

Simulation-driven distributions contextualize stochastic variability.

{% if monte_carlo and monte_carlo.available %}

Iterations: {{ monte_carlo.iterations }} · Percentiles: {{ percentiles | join(", ") }}

{% for metric, summary in monte_carlo.metrics.items() %} {% endfor %}
Metric Mean P5 Median P95
{{ metric | replace("_", " ") | title }} {{ summary.mean | format_metric(metric, scenario.currency) }} {{ summary.percentiles['5'] | format_metric(metric, scenario.currency) }} {{ summary.percentiles['50'] | format_metric(metric, scenario.currency) }} {{ summary.percentiles['95'] | format_metric(metric, scenario.currency) }}
{% if monte_carlo.notes %} {% endif %}
{% else %}

Monte Carlo output is unavailable for this scenario.

{% if monte_carlo and monte_carlo.notes %} {% endif %} {% endif %}
{% endblock %}