"""Fictional bid arithmetic, not market quotes or complete TCO. No dependencies.""" import csv,json from pathlib import Path def run(): inputs=[('A',60000,32000,1800),('B',78000,6000,1200),('C',92000,0,1500)] rows=[dict(proposal=n,quoted_build_usd=b,required_omissions_usd=o,support_monthly_usd=s,support_months=12,support_total_usd=s*12,comparison_total_usd=b+o+s*12) for n,b,o,s in inputs] assert [r['comparison_total_usd'] for r in rows]==[113600,98400,110000] assert min(rows,key=lambda x:x['quoted_build_usd'])['proposal']=='A' assert min(rows,key=lambda x:x['comparison_total_usd'])['proposal']=='B' assert rows[0]['comparison_total_usd']-rows[1]['comparison_total_usd']==15200 return {'scenario':'Three fictional proposals for one required scope; figures invented solely to illustrate arithmetic','currency':'USD','excluded':['cloud usage','third-party licenses','taxes','internal staffing','financing','future feature development'],'rows':rows} if __name__=='__main__': result=run();assert result==run() p=Path(__file__).parent (p/'results.json').write_text(json.dumps(result,indent=2)+'\n') with (p/'proposal-comparison.csv').open('w',newline='') as f: w=csv.DictWriter(f,fieldnames=result['rows'][0]);w.writeheader();w.writerows(result['rows']) print(json.dumps(result))