"""Illustrative time-only automation comparison, not measured savings or cash flow."""
import json
from fractions import Fraction
runs=Fraction(52,12)
options=[('Export shortcut',240,5,5),('Stable product references',480,25,15)]
rows=[]
for name,setup,saved,maintenance in options:
 monthly=saved*runs-maintenance
 annual=monthly*12-setup
 rows.append({'option':name,'setupMinutes':setup,'savedPerRunMinutes':saved,'maintenancePerMonthMinutes':maintenance,'runsPerMonth':float(runs),'netMonthlyMinutes':float(monthly),'paybackMonths':float(setup/monthly),'twelveMonthNetMinutes':float(annual),'atOneRunPerMonthNetMinutes':saved-maintenance,'atOneRunPerMonthPaybackMonths':None if saved<=maintenance else setup/(saved-maintenance)})
assert rows[0]['paybackMonths']==14.4 and rows[0]['twelveMonthNetMinutes']==-40
assert rows[1]['twelveMonthNetMinutes']==640 and round(rows[1]['paybackMonths'],6)==round(36/7,6)
report={'status':'Illustrative assumptions only; time released is not necessarily cash saved','baselineWeeklyMinutes':{'export':5,'productNameReconciliation':25,'interpretation':15},'weekConvention':'52 weeks / 12 months','options':rows,'reportRetirement':'Requires stakeholder decision; no removal savings claimed'}
if __name__=='__main__':print(json.dumps(report,indent=2))
