Impact ledger

Every decision and its outcome, in order. Each entry carries a SHA-256 hash of the entry before it, so changing any past entry breaks the chain. This page checks the chain each time it loads.

Synthetic data — no Blackbaud, donor or card data is used.
How the chain works

Each entry’s fields are written in a fixed order. Its hash is SHA-256 of the previous entry’s hash, a line break, and those fields. The first entry starts from 64 zeros. The server hashes the backtest with node:crypto; your browser re-checks it, and hashes its own decisions, with Web Crypto.

Decisions this session

Plans a person approved or rejected in the console. Kept in this browser only.

Verifying chain…

Reading this browser’s ledger…

Backtest ledger · smart policy

Every simulated failed gift in the twelve-month backtest (35,992 entries, seed 20260929), the action the policy took and what happened. Recovered total reconciles with the backtest dashboard ✓ ($1,035,410).

Verifying chain…

Entries

35,992

one per failed gift

Recovered

$1,035,410

21,437 gifts · 59.2% of $1.75M failed

Attempts

50,404

1.40 per failed gift

Attempt fees

$5,040.40

at $0.10 per authorisation attempt

Do-not-retry violations

0

No retries on do-not-retry codes or past the cap ✓

Backtest ledger entries 27901 to 27950 of 35992
#GiftOrganisationDeclineActionAttemptsOutcomeRecoveredFeesHash
27901FG-38131Nov 25Harbor Light41Lost or stolenDonor outreach0Stopped—$0.0024427fda…5716
27902FG-38132Apr 26Harbor Light54Expired cardDonor outreach0Stopped—$0.006cdb54fe…d2e5
27903FG-38133Dec 25Cedar Valley51Insufficient fundsRetry schedule1Recovered$60$0.1069276714…94ab
27904FG-38134Jan 26Cedar Valley57Invalid cardDonor outreach1Recovered$60$0.10af840783…69b9
27905FG-38135Feb 26Northgate51Insufficient fundsRetry schedule4Recovered$425$0.40c303b479…abd4
27906FG-38136Feb 26Riverbend65Insufficient fundsRetry schedule3Stopped—$0.3043c8a5df…9b68
27907FG-38137Jun 26Riverbend54Expired cardDonor outreach1Recovered$25$0.109d343287…191e
27908FG-38138Oct 25Riverbend05Do not honorRetry schedule3Stopped—$0.30026973d0…0fac
27909FG-38139May 26Cedar Valley51Insufficient fundsRetry schedule3Stopped—$0.3036f355d0…17fd
27910FG-38140Mar 26Lumen Arts51Insufficient fundsRetry schedule1Recovered$90$0.10f52d2e8c…39d6
27911FG-38141May 26Lumen Arts96Issuer unavailableRetry schedule1Recovered$90$0.1037a9d538…5dad
27912FG-38142Jul 26Riverbend54Expired cardDonor outreach0Stopped—$0.0089cb04f3…6252
27913FG-38143Oct 25Harbor Light51Insufficient fundsRetry schedule1Recovered$60$0.10bc54d587…42ee
27914FG-38144Jul 26Harbor Light33Expired cardCard updater, then retry1Recovered$60$0.10389f9072…d726
27915FG-38145Jun 26Riverbend62Account closedDonor outreach0Stopped—$0.00abce1caf…48a7
27916FG-38146Jul 26Riverbend02Do not honorRetry schedule1Recovered$60$0.10beb054d3…35ba
27917FG-38147Aug 26Riverbend01Do not honorRetry schedule2Recovered$60$0.209a467d45…1fa3
27918FG-38148May 26RiverbendR02ACH R02 closedDonor outreach0Stopped—$0.003a1d6ceb…8e73
27919FG-38149Jun 26RiverbendR01ACH R01 fundsRetry schedule3Recovered$110$0.30eb2f1b4b…d3d3
27920FG-38150Dec 25Northgate91Issuer unavailableRetry schedule1Recovered$60$0.101efa9fc1…fb07
27921FG-38151Mar 26Lumen Arts33Expired cardCard updater, then retry1Recovered$60$0.108c0eaf4b…db5c
27922FG-38152Sep 26Lumen Arts02Do not honorRetry schedule3Stopped—$0.30f24bfd17…8f38
27923FG-38153Oct 25Lumen Arts14Invalid cardDonor outreach0Stopped—$0.008422aab9…f4b1
27924FG-38154Apr 26Lumen Arts65Insufficient fundsRetry schedule2Recovered$40$0.2025f81981…77e5
27925FG-38155Oct 25Cedar Valley02Do not honorRetry schedule2Recovered$50$0.209d6fe787…daa2
27926FG-38156Dec 25Cedar Valley05Do not honorRetry schedule1Recovered$50$0.10a3ff8dc6…b766
27927FG-38157May 26Cedar Valley61Insufficient fundsRetry schedule1Recovered$50$0.10ae221cb7…b512
27928FG-38158Oct 25Cedar Valley91Issuer unavailableRetry schedule1Recovered$20$0.10acb82f0c…1983
27929FG-38159Sep 26Cedar Valley51Insufficient fundsRetry schedule1Recovered$20$0.104a4124ac…617e
27930FG-38160Dec 25Harbor Light33Expired cardDonor outreach0Stopped—$0.00eee730b6…c4b3
27931FG-38161Apr 26Harbor Light63Suspected fraudDonor outreach0Not recovered—$0.00f65733dd…a11b
27932FG-38162Oct 25Cedar Valley01Do not honorRetry schedule1Recovered$10$0.10aa3b6296…e21e
27933FG-38163Feb 26Cedar Valley61Insufficient fundsRetry schedule1Recovered$10$0.10af2b84b5…74a2
27934FG-38164May 26Cedar Valley54Expired cardCard updater, then retry1Recovered$10$0.10da551599…ff3b
27935FG-38165Feb 26Riverbend14Invalid cardDonor outreach0Stopped—$0.00bea50f7d…9821
27936FG-38166Apr 26Northgate65Insufficient fundsRetry schedule1Recovered$50$0.1091cacf34…c98d
27937FG-38167Jun 26Lumen Arts41Lost or stolenCard updater, then retry1Recovered$25$0.106982cb40…14da
27938FG-38168Oct 25NorthgateR03ACH R03 no acctDonor outreach0Stopped—$0.00808ca71e…b867
27939FG-38169Nov 25Riverbend61Insufficient fundsRetry schedule1Recovered$20$0.10bcc6d50d…e3f3
27940FG-38170Apr 26Riverbend54Expired cardCard updater, then retry1Recovered$20$0.103e7f0488…9458
27941FG-38171Nov 25RiverbendR04ACH R03 no acctDonor outreach0Stopped—$0.001ed69430…79b5
27942FG-38172Nov 25Northgate05Do not honorRetry schedule3Stopped—$0.30b4e61ece…f37b
27943FG-38173Jan 26Northgate41Lost or stolenCard updater, then retry1Recovered$60$0.10996ae840…037b
27944FG-38174Dec 25Riverbend61Insufficient fundsRetry schedule3Not recovered—$0.30f5dd5f0d…ed8d
27945FG-38175Mar 26Riverbend51Insufficient fundsRetry schedule3Not recovered—$0.301af1c8d1…f79a
27946FG-38176Apr 26Riverbend51Insufficient fundsRetry schedule4Recovered$25$0.40f26d97e3…f5f8
27947FG-38177Aug 26Riverbend61Insufficient fundsRetry schedule1Recovered$25$0.10d96538fd…508c
27948FG-38178Aug 26Northgate05Do not honorRetry schedule3Stopped—$0.30f6ee29b4…9392
27949FG-38179Jun 26Riverbend01Do not honorRetry schedule1Recovered$60$0.1051448c42…0cf9
27950FG-38180Dec 25Riverbend14Invalid cardDonor outreach0Stopped—$0.008ccfe061…7c78

Outcomes: Recovered — won back within the recovery window. Not recovered — not won back; the monthly gift continues. Stopped — not won back, and the monthly gift lapsed. Head of chain 7377059a…56e0: one hash that commits to every entry.