Solar's own historical capture price over the last 12 months has averaged £85.82/MWh (90.6% capture rate against LCCC's IMRP baseload of £94.71/MWh). Your required PPA price of £93.16/MWh is a £7.34/MWh premium over that -- this isn't part of the calculation, just a reality check against the market.
NPV at a separate 5.0% discount rate: £1.35m (positive because 5.0% is below your 8.0% target).
Generation uses a flat capacity-factor model (capacity × capacity factor × 8,760 hours × availability × (1−curtailment), declining by the degradation rate each year) -- not a half-hourly shape, since a project that doesn't exist yet has no real dispatch history to model one from. Revenue is Fixed-PPA only: generation × a single flat £/MWh for the whole term, no CPI/market-linked escalation. Debt is a simple equal-installment amortizing loan on the declining balance -- a simplification versus real DSCR-sculpted project debt. The solver uses bisection (see ppa_pricing/solver.py) since IRR is strictly increasing in PPA price for a fixed structure, which guarantees a single, robust root. CPI-linked/market-linked/floor-collar PPA structures, other technologies, sensitivity analysis, tax, and saved scenarios are not yet implemented.