The Financial Analysis Chatbot is a Flask-based application that analyzes financial data for companies and provides insights through natural language queries. It supports both custom data upload (CSV/JSON) and includes a sample dataset featuring Apple, Microsoft, and Tesla.
The input data must contain the following columns:
- Company (company names)
- Year (fiscal years)
- Total Revenue
- Net Income
- Total Assets
- Total Liabilities
- Cash Flow from Operating Activities
- Query: "Compare companies"
- Returns a comparison of all companies' profit margins, asset turnover, and operating cash flow
- Query: "What is [Company]'s growth?"
- Example: "What is Apple's growth?"
- Returns revenue growth analysis including:
- Average revenue growth
- Growth range (min/max)
- Trend assessment
- Query: "Show [Company]'s profit margins"
- Example: "Show Microsoft's profit margins"
- Provides:
- Average profit margin
- Range of profit margins
- Performance assessment
- Query: "What is [Company]'s risk profile?"
- Example: "What is Tesla's risk profile?"
- Analyzes company risk factors
- Query: "Show industry trends"
- Provides:
- Latest industry revenue
- Year-over-year growth
- Operating cash flow trends
- Query: "How is [Company]'s financial health?"
- Example: "How is Apple's financial health?"
- Returns:
- Operational efficiency
- Profitability metrics
- Cash flow strength
- Overall financial assessment
-
Data Loading:
- Click "Use Sample Data" to use pre-loaded data, OR
- Upload your own CSV/JSON file with the required columns
-
Querying:
- Type your query in the input box
- Use the predefined query formats listed above
- Type "help" to see available commands
- Only supports CSV and JSON file formats
- Maximum file size: 16MB
- Requires specific column names as listed above
- Limited to predefined query patterns
- Financial metrics are calculated using basic formulas
- Historical analysis limited to available years in dataset
- Provides feedback for invalid file formats
- Returns error messages for missing data
- Validates data structure before processing
- Handles query processing errors gracefully