feat: add functional requirements for profitability, Monte Carlo simulation, and Capex/Opex management; enhance user guide with planners

This commit is contained in:
2025-11-13 09:20:10 +01:00
parent d3597bc8c9
commit fb6be6d84f
11 changed files with 526 additions and 24 deletions

53
requirements/FR-011.md Normal file
View File

@@ -0,0 +1,53 @@
# Functional Requirement FR-011: Basic Profitability Calculation
## Description
The system shall provide functionality to perform basic profitability calculations for ore mining products based on user-defined input parameters.
A detailed specification is available in [specifications/price_calculation.md](specifications/price_calculation.md)
## Rationale
Profitability calculations are essential for mining companies to assess the financial viability of their operations. By enabling users to input key parameters and receive profitability metrics, the system will support informed decision-making and strategic planning.
## Acceptance Criteria
1. **Input Parameters**: The system shall accept the following input parameters:
- Metal type (e.g., copper, gold, lithium)
- Ore tonnage processed
- Head grade (%)
- Recovery rate (%)
- Treatment charge (currency/tonne)
- Smelting charge (currency/tonne)
- Moisture content (%)
- Impurity content (ppm for relevant impurities)
- Moisture penalty factor (currency/%)
- Impurity penalty factor (currency/ppm)
- Premiums/credits (currency)
- FX rate (currency conversion rate)
2. **Calculation Logic**: The system shall implement the profitability calculation logic as specified in the detailed specification document, including:
- Calculation of metal content based on ore tonnage, head grade, and recovery rate.
- Computation of gross revenue using metal content and reference prices.
- Deduction of treatment and smelting charges.
- Application of moisture and impurity penalties.
- Adjustment for premiums/credits.
- Conversion of final revenue to scenario currency using the FX rate.
3. **Output Metrics**: The system shall provide the following output metrics:
- Gross revenue (in scenario currency)
- Total charges (treatment and smelting)
- Total penalties (moisture and impurities)
- Net revenue before premiums
- Final adjusted revenue (after premiums/credits)
## Dependencies
- Accurate and up-to-date reference prices for supported metals.
- User interface components for inputting parameters and displaying results.
- Data validation mechanisms to ensure input parameters are within acceptable ranges.
- Integration with existing scenario management and reporting modules for seamless user experience.
## Notes
- The system should allow for easy updates to reference prices and other key parameters as market conditions change.
- User training and documentation will be essential to ensure effective use of the profitability calculation features.
- Future enhancements may include sensitivity analysis and scenario comparisons based on profitability metrics.

50
requirements/FR-012.md Normal file
View File

@@ -0,0 +1,50 @@
# Functional Requirement FR-012: Monte Carlo simulation engine
## Description
The system shall provide a Monte Carlo simulation engine to model uncertainties in mining project parameters. This engine will allow users to define probability distributions for key input variables and run simulations to assess the impact of these uncertainties on project outcomes.
A detailed specification is available in [specifications/monte_carlo_simulation.md](specifications/monte_carlo_simulation.md)
## Rationale
Monte Carlo simulations are a powerful tool for risk analysis and decision-making in mining projects. By modeling the variability of input parameters, users can better understand potential outcomes, identify risks, and make informed decisions based on probabilistic results.
## Acceptance Criteria
1. **Input Parameter Definitions**: The system shall allow users to define probability distributions for key input parameters, including but not limited to:
- Ore grade
- Recovery rate
- Operating costs
- Metal prices
2. **Simulation Configuration**: The system shall provide options for users to configure the simulation, including:
- Number of simulation iterations
- Random seed for reproducibility
- Output metrics to be recorded
3. **Result Analysis**: The system shall offer tools for analyzing simulation results, including:
- Summary statistics (mean, median, percentiles)
- Visualization of result distributions (histograms, box plots)
- Comparison of different scenarios or input configurations
4. **Integration with Existing Workflows**: The Monte Carlo simulation engine shall be integrated with existing scenario management and reporting tools within the system, allowing users to easily incorporate simulation results into their decision-making processes.
5. **Documentation**: The system shall include comprehensive documentation on how to use the Monte Carlo simulation engine, including examples and best practices.
## Dependencies
- Access to historical data for key input parameters to inform probability distribution definitions.
- Computational resources to support the execution of large-scale simulations.
- Integration with data management systems to facilitate the use of external data sources.
- User interface components for defining input parameters, configuring simulations, and visualizing results.
## Notes
- The Monte Carlo simulation engine should be designed for scalability to accommodate large datasets and complex models.
- Users should be able to easily update probability distributions and other simulation parameters as new information becomes available.
- Collaboration features may be beneficial to allow multiple users to work on simulation scenarios simultaneously.
- Future enhancements may include sensitivity analysis and scenario optimization based on simulation results.

40
requirements/FR-013.md Normal file
View File

@@ -0,0 +1,40 @@
# Functional Requirement FR-013: Capital Expenditure (Capex) management and calculation tools for mining projects
## Description
The system shall provide tools to calculate and manage Capital Expenditures (Capex) associated with mining projects. This includes the ability to input, store, and analyze various capital cost components such as equipment purchases, infrastructure development, land acquisition, and other one-time expenses.
## Rationale
Accurate Capex calculations are essential for budgeting, financial planning, and profitability analysis in mining projects. By providing robust tools to manage these costs, the system will enable users to make informed decisions regarding project feasibility and capital allocation.
## Acceptance Criteria
1. **Capex Component Definition**: The system shall allow users to define and categorize various Capex components, including but not limited to:
- Equipment purchases
- Infrastructure development
- Land acquisition
- Other one-time expenses
2. **Input and Storage**: The system shall provide interfaces for users to input Capex data and store it in a structured format for easy retrieval and analysis.
3. **Capex Calculation**: The system shall include tools to calculate total Capex based on the defined components and their respective values. This includes the ability to apply formulas and algorithms to derive insights from the data.
4. **Reporting and Visualization**: The system shall offer reporting and visualization features to help users understand Capex trends, identify cost drivers, and make data-driven decisions.
5. **Integration**: The system shall support integration with other financial and operational systems to ensure seamless data flow and consistency across platforms.
## Dependencies
- Integration with existing financial modules for comprehensive cost analysis.
- User interface components for inputting and managing Capex data.
- Data validation mechanisms to ensure accuracy and consistency of Capex inputs.
- Reporting and visualization libraries to support analysis and presentation of Capex data.
## Notes
- The Capex management tools should be designed for scalability to accommodate large datasets and complex cost structures.
- Users should be able to easily update Capex components and their values as project conditions change.
- Collaboration features may be beneficial to allow multiple users to work on Capex scenarios simultaneously.
- Future enhancements may include predictive analytics and machine learning capabilities to improve Capex forecasting and optimization.

41
requirements/FR-014.md Normal file
View File

@@ -0,0 +1,41 @@
# Functional Requirement FR-014: Operational Expenditure (Opex) management and calculation tools for mining projects
## Description
The system shall provide tools to calculate and manage Operational Expenditures (Opex) associated with mining projects. This includes the ability to input, store, and analyze various operational cost components such as labor, materials, energy consumption, maintenance, and other recurring expenses.
## Rationale
Accurate Opex calculations are essential for budgeting, financial planning, and profitability analysis in mining projects. By providing robust tools to manage these costs, the system will enable users to make informed decisions regarding project feasibility and operational efficiency.
## Acceptance Criteria
1. **Opex Component Definition**: The system shall allow users to define and categorize various Opex components, including but not limited to:
- Labor costs
- Material costs
- Energy costs
- Maintenance costs
- Other recurring expenses
2. **Input and Storage**: The system shall provide interfaces for users to input Opex data and store it in a structured format for easy retrieval and analysis.
3. **Opex Calculation**: The system shall include tools to calculate total Opex based on the defined components and their respective values. This includes the ability to apply formulas and algorithms to derive insights from the data.
4. **Reporting and Visualization**: The system shall offer reporting and visualization features to help users understand Opex trends, identify cost drivers, and make data-driven decisions.
5. **Integration**: The system shall support integration with other financial and operational systems to ensure seamless data flow and consistency across platforms.
## Dependencies
- Integration with existing financial modules for comprehensive cost analysis.
- User interface components for inputting and managing Opex data.
- Data validation mechanisms to ensure accuracy and consistency of Opex inputs.
- Reporting and visualization libraries to support analysis and presentation of Opex data.
## Notes
- The Opex management tools should be designed for scalability to accommodate large datasets and complex cost structures.
- Users should be able to easily update Opex components and their values as project conditions change.
- Collaboration features may be beneficial to allow multiple users to work on Opex scenarios simultaneously.
- Future enhancements may include predictive analytics and machine learning capabilities to improve Opex forecasting and optimization.

View File

@@ -22,5 +22,9 @@ This document outlines the key functional requirements for the CalMiner project.
| FR-008 | Facilitate export of analysis results in various formats (PDF, Excel, etc.). | Medium | [FR-008](../requirements/FR-008.md) |
| FR-009 | Provide a user-friendly interface accessible via web browsers. | High | [FR-009](../requirements/FR-009.md) |
| FR-010 | Enable collaboration features for multiple users to work on scenarios simultaneously. | Medium | [FR-010](../requirements/FR-010.md) |
| FR-011 | Basic Profitability calculation for ore mining products based on input parameters. | High | [FR-011](../requirements/FR-011.md) |
| FR-012 | Monte Carlo simulation engine to model uncertainties in mining project parameters. | High | [FR-012](../requirements/FR-012.md) |
| FR-013 | Capital Expenditure (Capex) management and calculation tools for mining projects. | High | [FR-013](../requirements/FR-013.md) |
| FR-014 | Operational Expenditure (Opex) calculation tools for processing costs in mining. | High | [FR-014](../requirements/FR-014.md) |
Each functional requirement is detailed in its respective document, providing a comprehensive description, rationale, acceptance criteria, and dependencies. Please refer to the linked documents for more information on each requirement.