Case study § 04 · Ascend Partners engagement

Forensic audit of a scoring engine (cyber-resilience)

Reverse-eng · VBA→Py · root cause · 304 tests

Ascend Partners engagement: at a client engaged in an investment arbitrage over several infrastructure assets, the cyber-resilience scores of those assets had dropped with no explanation.

The tool behind these scores was a legacy scoring engine, written in VBA, with three successive versions.

Before the drop could be explained, it first had to be reproduced: the method constraint was to rebuild these engines until the scores matched to the hundredth, and only then look for the cause.

The stakes went beyond a technical diagnosis: the scoring method itself was contested internally, and the conclusion had to be presented to the client's executive committee for an investment decision.

I rebuilt the three successive scoring engines in Python from the code and the real data, until the scores matched to the hundredth.

Forensic audit diagramA legacy VBA scoring engine is rebuilt as three independent Python engines. A convergence curve meets the target score line within plus or minus 0.01, verified by a 304-test harness, down to the root cause: a coefficient-based response requalification combined with a geometric mean across eight pillars. The result is presented to the client’s executive committee for an investment decision.LEGACY VBAENGINE3 REBUILTENGINESENGINE 1ENGINE 2ENGINE 3TARGET SCORE ± 0.01304 TESTSVERIFICATIONHARNESSROOT CAUSECOEFFICIENTREQUALIFICATIONGEOMETRICMEAN· 8 PILLARSEXEC COMMITTEEINVESTMENTDECISIONForensic audit diagramA legacy VBA scoring engine is rebuilt as three independent Python engines. A convergence curve meets the target score line within plus or minus 0.01, verified by a 304-test harness, down to the root cause: a coefficient-based response requalification combined with a geometric mean across eight pillars. The result is presented to the client’s executive committee for an investment decision.LEGACY VBA ENGINE3 REBUILT ENGINESENGINE 1ENGINE 2ENGINE 3TARGET SCORE ± 0.01304 TESTSVERIFICATION HARNESSROOT CAUSECOEFFICIENT REQUALIFICATIONGEOMETRIC MEAN · 8 PILLARSEXEC COMMITTEEINVESTMENT DECISION
DIAGRAMLegacy VBA engine rebuilt as three Python engines, validated by 304 tests down to the root cause of the discrepancy.

The rebuild was validated by 304 tests, then turned into visuals for the board.

A governance note accompanied the delivery, to align teams on a scoring method contested internally.

Key decision

Rebuild the three scoring engines in Python from the code and the real data, until the scores match to the hundredth.

Trade-off

Reproduce first, conclude second. Cause found: response requalification by coefficient plus a switch to a geometric mean at the pillar level.

Eight pillars with fixed weights: that is the level at which the geometric mean applies, on responses already requalified by coefficient.

304 tests, score reproduced to the hundredth. Presented to the client's executive committee for an investment decision.

Reverse-engineering legacy code, a root-cause method, and settling a methodological disagreement with proof.