Leveraging Python's data science libraries to create comprehensive financial analyses, visualizations, and automated reports for business decision-making.
This project showcases a comprehensive financial analysis system for a bakery business, demonstrating Python's capabilities for business intelligence and financial reporting.
Analyzed 3-year financial projections showing a 20.2% revenue growth and 17.5% EBITA increase
Automated calculation of monthly break-even points for financial planning and risk assessment
Generated professional PDF reports with visualizations and key metrics for stakeholders
Using Python to transform financial data into actionable insights
1# -------------------------------
2# 1. DATA PREPARATION
3# -------------------------------
4# Note: All figures below are projected numbers as outlined in the business plan.
5# Revised Yearly Financial Data (Projections for Years 1-3)
6data_years = {
7 "Year": ["Year 1", "Year 2", "Year 3"],
8 "Total Sales (USD)": [2970000, 3320000, 3570000],
9 "Total Cost of Sales (USD)": [928000, 1038000, 1120000],
10 "Gross Profit Margin (USD)": [2042000, 2282000, 2450000],
11 "Total Staff Costs (USD)": [775400, 885000, 940000],
12 "Operating Expenses (USD)": [425000, 486200, 548950],
13 "EBITA (USD)": [590600, 652300, 694050],
14}
15df_years = pd.DataFrame(data_years)
16
17# Revised Monthly Financial Data for Year 1 (Projections)
18data_months = {
19 "Month": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
20 "Total Sales (USD)": [148500, 178200, 197505, 276210, 276210, 259875, 259875, 259875, 326700, 259875, 259875, 267300],
21 "Total Cost of Sales (USD)": [46400, 55680, 61712, 86304, 86304, 81200, 81200, 81200, 102080, 81200, 81200, 83520],
22 "Gross Profit Margin (USD)": [102100, 122520, 135793, 189906, 189906, 178675, 178675, 178675, 224620, 178675, 178675, 183780],
23 "Total Staff Costs (USD)": [38770, 46524, 51564, 72112, 72112, 67847, 67847, 67847, 85294, 67847, 67847, 69786],
24 "Operating Expenses (USD)": [21250, 25500, 28262, 39525, 39525, 37187, 37187, 37187, 46750, 37187, 37187, 38250],
25 "EBITA (USD)": [21163, 29579, 35049, 57352, 57352, 52723, 52723, 52723, 71659, 52723, 52723, 54827],
26}
27df_months = pd.DataFrame(data_months)
Using Pandas DataFrames for data manipulation, Matplotlib/Seaborn for visualizations, and custom calculations for financial metrics. FPDF generates professional PDF reports integrating all analysis components.
Analysis identified seasonal fluctuations requiring $145,700 monthly revenue to break even. Automated reporting saved ~15 hours of manual work per review cycle and supported successful funding acquisition.
Creating dynamic PDF reports with Python for business insights
Key financial projections and business insights
Revenue, costs, and profitability analysis
Charts showing trends and projections
Break-even analysis and sensitivity testing
This automated system generates an 11-page financial document, a task that would typically take 15+ hours manually. Charts, tables, and calculations are dynamically populated from the source data, ensuring accuracy and efficiency.
20.2% increase in total sales over three years
17.5% growth in EBITA from Year 1 to Year 3
Stable operating margins between 19.9% and 20.0%
Monthly break-even point of approximately $145,700
10% decrease in sales would reduce EBITA by approximately 13.5%
10% increase in costs would reduce EBITA by approximately 20.8%
Seasonal demand patterns require careful cash flow management
Fixed costs increase 23.7% over the three-year period