Problem
PMML has represented scorecards for two decades and model validators know it. ONNX is the general interchange standard. m2cgen already transpiles models to many languages. Anyone evaluating CompileML will ask why they should not just use one of those, and the FAQ does not answer it.
We do have good answers — they are just not written down:
- PMML expresses scorecards and trees, but carries no integer determinism guarantee, no reason-code dictionary, no calibration + banding + attribution in one hashed object, and no reconciliation identity a validator can re-add.
- ONNX is an inference graph. It does not model the decision — no bands, no PD calibration, no adverse-action reasons — and float determinism across runtimes is explicitly not guaranteed.
- m2cgen transpiles the scorer. CompileML compiles the decision, and pins the arithmetic so the transpiled output is provably identical, which m2cgen does not attempt.
Acceptance criteria
Files
docs/faq.md
Scope
Small, docs only. Good first contribution — needs clear thinking more than code.
Problem
PMML has represented scorecards for two decades and model validators know it. ONNX is the general interchange standard. m2cgen already transpiles models to many languages. Anyone evaluating CompileML will ask why they should not just use one of those, and the FAQ does not answer it.
We do have good answers — they are just not written down:
Acceptance criteria
Files
docs/faq.mdScope
Small, docs only. Good first contribution — needs clear thinking more than code.