Rank automation candidates by payback before you build: monthly reclaimable value (hours saved per week times your loaded hourly rate, plus the error cost the automation eliminates) against total cost of ownership (one-time build amortized over the horizon, the subscription, and a maintenance haircut on recurring cost). Per-candidate break-even months and BUILD/SKIP calls, plus portfolio totals.
Build vs BuyUser Estimates OnlyNo Tax PremiseDeterministicZero PIIClient-side only
🔒 All inputs are processed locally in your browser. No data is transmitted, stored or logged. Use synthetic or anonymised figures only: every number you type is your own estimate and this page ships no price database.
Reading the results
Every economic figure (hours reclaimed, loaded rate, error cost avoided, build cost, subscription) is a user estimate entered per candidate, and the page ships with zero stored rate or price tables. All outputs are gross dollars: the model covers payback arithmetic alone and leaves tax, depreciation, capital treatment, discounting, opportunity cost and inflation to the caller. Two constants are policy parameters the caller owns: the maintenance haircut (default maintenance_haircut_pct 20, applied to the subscription only) and weeks_per_month (default 4.33). The node reads as_of as an explicit input so each run is deterministic and zkVM-promotable. Break-even is build_cost / (value - recurring_with_haircut) and is null when that denominator is not strictly positive, where the build cost stays unrecovered. A candidate is BUILD when net_mo >= 0 (inclusive) and SKIP otherwise; ranking is descending net_mo with ties preserving input order.
This node carries no regulatory or tax premise. Every economic figure (hours reclaimed, loaded rate, error cost avoided, build cost, subscription) is a user estimate entered per candidate; nothing is fetched and no rate table is stored. Two constants are policy parameters, not facts: the maintenance haircut (default maintenance_haircut_pct 20) and weeks_per_month (default 4.33). Both are editable inputs. The node reads no clock: as_of is an explicit input so the run is deterministic and zkVM-promotable. The maintenance haircut is applied to the subscription only, never to the amortised build. Break-even is build_cost / (value - recurring_with_haircut) and is null when that denominator is not strictly positive, where the build cost stays unrecovered. A candidate is BUILD when net_mo >= 0 (inclusive) and SKIP otherwise; ranking is descending net_mo with ties preserving input order. Outputs are gross dollars: no tax, depreciation, capital treatment, discounting, opportunity cost or inflation is modelled.
Global assumptions
Automation candidates
Add one row per routine you are considering automating. All five economic fields are your estimates; nothing here is looked up.
Candidate
Hours saved /wk
Loaded rate $/hr
Error cost avoided $/mo
Build cost $ (one-time)
Subscription $/mo
Result
Per-candidate ranking (best first)
Portfolio totals
Execution hash & §4 artifact
SHA-256 execution hash (JCS canonical, RFC 8785):
Provenance (port draft)
Ported from ApexLogics AL-194 / display #180 “Automation Payback”, page https://apexlogics.org/tools/180-automation-payback/ fetched 2026-10-13 (37945 bytes, sha256 4931c9a3713fba69d6e614ce3bdb0fc8b01a75e7376ba8bf9916553cb2c91d1b); registry entry confirmed in suite-registry.json at registry_version 5.13.0. Every arithmetic expression below is transcribed from that page's calcPayback() without rearrangement and is cross-checked bit-for-bit against that transcription by verify/parity.mjs. Landed on AINumbers as node art-771 (reserved by the AINumbers art-number allocation row for Apex #180; held by no other party).
Ask your agent
Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this exact tool, with this sample, and verify the artifact.
Run the AINumbers MCP tool `compute_automation_payback`. Task: Rank automation candidates by payback: monthly value (hours x weeks/month x loaded rate + error cost) against total cost of ownership (subscription with a maintenance haircut plus the amortised one-time build).
Call it with arguments: {"policy_parameters":{"as_of":"2026-10-13","maintenance_haircut_pct":20,"horizon_months":24,"weeks_per_month":4.33,"candidates":[{"name":"Invoice processing","hours_saved_per_week":3,"loaded_hourly_rate_usd":45,"error_cost_avoided_usd_month":150,"build_cost_usd":2000,"subscription_usd_month":60},{"name":"Report generation","hours_saved_per_week":2,"loaded_hourly_rate_usd":55,"error_cost_avoided_usd_month":75,"build_cost_usd":500,"subscription_usd_month":30},{"name":"Data-entry migration","hours_saved_per_week":5,"loaded_hourly_rate_usd":28,"error_cost_avoided_usd_month":200,"build_cost_usd":3500,"subscription_usd_month":120}]}}
Verify before trusting: call `verify_execution_hash` on mcp.ainumbers.co (https://mcp.ainumbers.co/mcp) with the parameter `claimed_hash` set to the returned `execution_hash`, passing the full artifact the run returned (the object containing `policy_parameters` + `output_payload` + `execution_hash`; equivalently `policy_parameters` + `output_payload` with `claimed_hash`), not the bare hash string.
Return the ledger link https://ledger.ainumbers.co/ so a human can re-verify without contacting us.
PII rule: All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.
Open the tool with the sample prefilled: https://ainumbers.co/chaingraph/art-771-automation-payback.html#p=v1.H4sIAAAAAAAA_wFlApr9eyJhc19vZiI6IjIwMjYtMTAtMTMiLCJtYWludGVuYW5jZV9oYWlyY3V0X3BjdCI6MjAsImhvcml6b25fbW9udGhzIjoyNCwid2Vla3NfcGVyX21vbnRoIjo0LjMzLCJjYW5kaWRhdGVzIjpbeyJuYW1lIjoiSW52b2ljZSBwcm9jZXNzaW5nIiwiaG91cnNfc2F2ZWRfcGVyX3dlZWsiOjMsImxvYWRlZF9ob3VybHlfcmF0ZV91c2QiOjQ1LCJlcnJvcl9jb3N0X2F2b2lkZWRfdXNkX21vbnRoIjoxNTAsImJ1aWxkX2Nvc3RfdXNkIjoyMDAwLCJzdWJzY3JpcHRpb25fdXNkX21vbnRoIjo2MH0seyJuYW1lIjoiUmVwb3J0IGdlbmVyYXRpb24iLCJob3Vyc19zYXZlZF9wZXJfd2VlayI6MiwibG9hZGVkX2hvdXJseV9yYXRlX3VzZCI6NTUsImVycm9yX2Nvc3RfYXZvaWRlZF91c2RfbW9udGgiOjc1LCJidWlsZF9jb3N0X3VzZCI6NTAwLCJzdWJzY3JpcHRpb25fdXNkX21vbnRoIjozMH0seyJuYW1lIjoiRGF0YS1lbnRyeSBtaWdyYXRpb24iLCJob3Vyc19zYXZlZF9wZXJfd2VlayI6NSwibG9hZGVkX2hvdXJseV9yYXRlX3VzZCI6MjgsImVycm9yX2Nvc3RfYXZvaWRlZF91c2RfbW9udGgiOjIwMCwiYnVpbGRfY29zdF91c2QiOjM1MDAsInN1YnNjcmlwdGlvbl91c2RfbW9udGgiOjEyMH1dfRAzb81lAgAA