YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

Financial Feasibility Analysis of a Small-Scale PCB Fabrication Center

Extensions: Monte Carlo Simulation & STP-based Segmentation

Based on the IEEE paper: "Financial Feasibility Analysis of a Small-Scale PCB Fabrication Center"


Quick Start β€” Generate All Outputs

git clone https://huggingface.co/VarunGowda/pcb-financial-feasibility-analysis
cd pcb-financial-feasibility-analysis
pip install -r requirements.txt
python run_all.py

This generates 34 PNG figures, 14 JSON data files, and 2 JSON result files. Then open the notebook:

jupyter notebook pcb_financial_analysis.ipynb

Paper Summary

Parameter Value
CapEx INR 1,80,000
Monthly OpEx INR 50,000
Total Initial Investment INR 2,00,000
Revenue Model (Eq. 3) Fixed N_n = 150, churn Ξ± = 10%, avg price P = INR 400
Monthly Revenue (deterministic) INR 60,000
Break-even N_BE = C_f / (P - C_v) = 1,200 PCBs
Deterministic Payback ~12 months

Extension 1: Monte Carlo Cash Flow Simulation

Model Specification

  • Monthly Demand: D ~ Poisson(Ξ»=100)
  • Price per PCB: P ~ Normal(ΞΌ=400, σ²=40Β²)
  • Monthly OpEx: O ~ Uniform(42,500, 57,500)
  • Initial Investment: INR 2,00,000
  • Trials: 10,000
  • Metric: Months until cumulative net cash flow recovers INR 2,00,000

⚠ Critical Mathematical Insight

With Ξ»=100 (user-specified):

E[Revenue] = Ξ» Γ— ΞΌ_P = 100 Γ— 400 = INR 40,000
E[OpEx]    = (42,500 + 57,500) / 2 = INR 50,000
E[Net]     = -INR 10,000/month   ← NEGATIVE!

The expected monthly cash flow is negative, so the project never achieves payback under Ξ»=100. This is the key finding that contrasts with the paper's deterministic model (which uses 150 users).

Minimum viable demand rate: Ξ» β‰ˆ 125 (where E[Revenue] = E[OpEx]).

Results (both scenarios)

Metric Ξ»=100 (specified) Ξ»=150 (paper-implied)
E[Revenue] INR 40,000 INR 60,000
E[Net] -INR 10,000 +INR 10,000
Recovery Rate 0.00% 100.00%
P(payback ≀ 12mo) 0.00% 0.46%
P(payback ≀ 18mo) 0.00% 30.50%
P(payback ≀ 24mo) 0.00% 82.55%
Mean Payback N/A (never) 20.81 months
Median Payback N/A 20.0 months
95% CI N/A [14.0, 30.0] months

18 Figures Generated

  1. Payback period histogram (Ξ»=150)
  2. Cumulative cash flow fan chart vs deterministic
  3. Critical comparison: Ξ»=100 vs Ξ»=150
  4. CDF of payback period
  5. Revenue vs OpEx boxplots (both scenarios)
  6. Cash flow distribution at month 12
  7. Input distribution validation
  8. Sensitivity: payback vs demand rate Ξ»
  9. Sensitivity: payback vs mean price
  10. Payback heatmap (Ξ» Γ— Price)
  11. 50 sample cash flow paths
  12. ROI distribution at month 24
  13. Probability of profit over time
  14. Monthly net cash flow violin plots
  15. Monte Carlo convergence
  16. Recovery rate vs demand
  17. Viability threshold analysis
  18. Sensitivity: payback vs OpEx

Extension 2: STP-based User Segmentation & Churn Model

Segment Definitions

Segment Description N_n N_e Ξ± (churn) P (INR)
S1 UG Course Projects 100 30 0.40 300
S2 PG/Research 30 15 0.10 500
S3 Lab/Institutional 20 5 0.05 400

Revenue Equation

R = Ξ£_k [ N_n,k Β· P_k + N_e,k Β· P_k Β· (1 βˆ’ Ξ±_k) ]

Results

Segment Revenue (INR) Share
S1: UG Course Projects 35,400 52.8%
S2: PG/Research 21,750 32.4%
S3: Lab/Institutional 9,900 14.8%
Total 67,050 100%
  • Monthly Profit: INR 17,050
  • Simple Payback: 11.7 months
  • Overall Churn Rate: 27.5%
  • CLV: S1=INR 750, S2=INR 5,000, S3=INR 8,000

16 Figures Generated

  1. Revenue breakdown by segment (stacked bar)
  2. Revenue & user share (pie charts)
  3. Sensitivity: total revenue vs Ξ±_S1 (primary deliverable)
  4. Churn impact waterfall chart
  5. User flow (new, retained, churned)
  6. Customer lifetime value by segment
  7. Revenue heatmap (Ξ±_S1 Γ— Ξ±_S2)
  8. 24-month revenue projection with dynamic churn
  9. User base evolution over 24 months
  10. Revenue per user efficiency
  11. Original aggregate vs STP model comparison
  12. Tornado sensitivity chart (Β±20%)
  13. Payback sensitivity per segment churn
  14. Segment profile radar chart
  15. Break-even analysis per segment
  16. Investment recovery timeline

Combined Analysis β€” Key Findings

Metric Deterministic (Paper) MC Ξ»=100 MC Ξ»=150 STP Segmented
Monthly Revenue INR 60,000 E=INR 40,000 E=INR 60,000 INR 67,050
Monthly Profit INR 10,000 E=-INR 10,000 E=INR 10,000 INR 17,050
Payback 12 months ∞ (never) ~21 months ~11.7 months
P(payback ≀ 12mo) 100% (assumed) 0.0% ~0.5% N/A (deterministic)

Key Insights

  1. Demand Rate is Critical: With Ξ»=100, the project is financially unviable. Min viable Ξ»β‰ˆ125.
  2. Stochastic Reality vs Deterministic Optimism: Even at Ξ»=150, mean payback is ~21 months (not 12), and P(payback ≀ 12mo) is only ~0.5%.
  3. STP Segmentation Reveals Higher Revenue: INR 67,050/mo vs INR 60,000 aggregate (+11.75%).
  4. S1 Churn is the Dominant Risk Factor: 40% churn but 52.8% of revenue. Tornado chart confirms S1 parameters have the largest impact.
  5. Recommendation: Target minimum Ξ»=150, reduce S1 churn below 30%, develop S2/S3 segments.

File Structure

β”œβ”€β”€ README.md                        # This file
β”œβ”€β”€ RESULTS.md                       # Pre-computed results summary
β”œβ”€β”€ requirements.txt                 # Python dependencies
β”œβ”€β”€ run_all.py                       # Generate all outputs
β”œβ”€β”€ pcb_financial_analysis.ipynb     # Comprehensive Jupyter notebook
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ extension1_monte_carlo.py    # MC simulation (18 figures)
β”‚   └── extension2_stp_churn.py      # STP analysis (16 figures)
β”œβ”€β”€ figures/                         # 34 PNG visualizations (generated by run_all.py)
β”œβ”€β”€ data/                            # JSON data files (generated + pre-computed)
β”‚   β”œβ”€β”€ ext2_sensitivity_alpha_s1.json
β”‚   └── ext2_tornado.json
└── results/                         # Summary results (pre-computed)
    β”œβ”€β”€ ext1_monte_carlo_results.json
    └── ext2_stp_results.json

Author

VarunGowda

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support