breos.economics.cost_analysis_projection#

breos.economics.cost_analysis_projection(results_df, costs, num_years=20, inflation_rate=0.03, sell_price_inflation=0.0, discount_rate=0.02, degradation_rate=0.005, results_directory=None, scenario_name='', freq='h', yearly_summary_df=None, total_replacement_cost=None, emissions_params=None)[source]#

Perform multi-year cost projection analysis.

Includes inflation, discount rate, and PV degradation.

Parameters:
  • results_df (DataFrame) – DataFrame with simulation results. Required columns are Datetime, PV_Production, Houseload, Import_From_Grid, and Sell_To_Grid.

  • costs (Dict[str, float]) – Dictionary with cost parameters (from calculate_costs())

  • num_years (int) – Number of years to project

  • inflation_rate (float) – Annual inflation for electricity/operation costs

  • sell_price_inflation (float) – Annual inflation for sell price

  • discount_rate (float) – Discount rate for NPV calculations

  • degradation_rate (float) – Annual PV degradation rate

  • results_directory (Optional[str]) – Optional directory to save results

  • scenario_name (str) – Optional name suffix for saved files

  • freq (str) – Simulation frequency string (‘h’, ‘15min’)

  • yearly_summary_df (Optional[DataFrame]) – Optional DataFrame from singleyear propagation with Year, PV_Production_kWh, Import_kWh, Export_kWh, etc. for each year. When provided, uses actual yearly data instead of estimation.

  • total_replacement_cost (Optional[float]) – Total battery replacement cost from propagation

Return type:

DataFrame

Returns:

DataFrame with yearly cost projections