Fintech

How to Review a Vendor's Model Documentation for Missing Evidence

Antonio Evans10 min read

A compliance analyst sits at a desk with a printed model card on the left and a laptop showing the same document on the right.
Key points

Key points

  1. 1Every factual claim in a vendor's model documentation must pass three tests: a worked example on a real input, a numeric threshold that defines pass or fail, and a named owner accountable for it.
  2. 2The four documents that arrive with a vendor model (model card, evaluation report, data provenance statement, change log) each have specific sections where claims commonly appear without evidence.
  3. 3Independent model validation is a supervisory expectation, not a courtesy, and the bank remains accountable for how it uses a vendor's model even when the code is a black box.
  4. 4When a claim fails any of the three tests, the correct move is to record it as unproven in the validation file and request the missing evidence in writing before signing.

Why vendor documentation fails the evidence test

A vendor's documentation is written to sell a model, not to let a stranger challenge it. That mismatch is the core problem you are solving when you sit down with a model card, an evaluation report, a data provenance statement and a change log. Model risk guidance expects documentation to be detailed enough that a reader unfamiliar with the model can understand how it operates, its limitations and its key assumptions per the OCC handbook. Most vendor packs fall short of that bar in predictable ways: adjectives substitute for numbers, a single headline metric stands in for disaggregated results, and no individual is named as responsible for a section.

The accountability point is not optional. Banks are expected to validate their own use of vendor products, so the institution, not the vendor, carries the model risk as RiskSpan sets out. Independent validation also requires effective challenge from someone without a stake in the outcome, plus enough transparency from the vendor to actually mount that challenge as Zyphe describes. That is why a missing worked example or a missing owner is a finding in your validation report, not a footnote.

The three tests give you a repeatable way to convert prose into findings. Read every sentence that asserts something checkable, then ask: can I see this claim applied to a concrete input? Is there a number that tells me when it passes or fails? Is a person or team named as accountable? Any "no" becomes a request, and the model stays unproven on that point.

Test 1: The worked example

A worked example is the cheapest form of proof and the one most often absent. "The model reduces false positives" is a claim; "here is an alert that the old rules flagged and this model scored, with the features that drove the score and the disposition" is evidence. For compliance AI, the point of validation is to let you defend a specific KYC or AML decision to a regulator rather than trust the vendor, which is why per-decision audit trails belong in the audit pack per Zyphe's validation checklist.

Ask for a worked example on a real input you can relate to, and check that it shows the input, the output and the reasoning between them. A model card's quantitative analyses section is supposed to do exactly this: report error rates separately by group and condition so a single headline score cannot hide failures concentrated in one subgroup as Ultralytics explains. If the card gives you one aggregate accuracy number, you have not been given a worked example.

Here is a minimal request you can paste into a vendor email:

Please provide, for each metric in your evaluation report:
1. One real (or faithfully synthetic) input record used in the test
2. The model output for that record, including the score and threshold
3. The expected label and the disposition that followed
4. A pointer to the exact row in the evaluation dataset

If the vendor cannot produce one traceable record, treat the metric as a marketing statement. That is a defensible position in a validation file, and it is far cheaper to assert now than to discover during an exam.

Test 2: The numeric threshold

A threshold turns a claim into a test. "Well calibrated" means nothing until the vendor states the calibration metric, the value it must stay above, and the sample it was measured on. "Low false positive rate" needs the base rate it was measured against, because a rate quoted without the underlying alert volume cannot be compared to your own book.

The false positive problem in transaction monitoring is the best illustration of why thresholds matter. Industry false positive rates routinely exceed ninety percent in static, threshold-based rule systems, and the operational consequence is that investigator capacity is consumed by alert disposition rather than actual financial-crime intelligence per this SSRN paper on AI-driven monitoring. A vendor claiming a large reduction in false positives against that baseline must state the baseline, the metric and the test set, or the number is unusable.

Governance guidance makes the same demand. Ongoing monitoring is one of the three core elements of model validation, alongside conceptual soundness and outcomes analysis per the Comptroller's Handbook summary, and monitoring needs thresholds to monitor against. A vendor that supplies no numeric pass or fail line has, in effect, made ongoing monitoring impossible without you inventing the standard yourself.

When you do set your own threshold, state it in the validation file and hold the vendor to it. A workable pattern is to agree on a tolerance band, define the metric, and require the vendor to report performance against it on a fixed cadence. That converts a vague assurance into a testable obligation.

Test 3: The named owner

Every section of the documentation needs a human behind it. Not a department name, not a support inbox, a role or an individual who can answer a challenge and whose name appears in your validation file. Model risk guidance is explicit that accountable ownership is part of what validation expects, alongside documentation of limitations and monitoring per Zyphe's summary of SR 11-7.

A named owner is what makes the change log usable. When a model changes, the first question is what about the model changed, and whether that change affects inputs or calculations, which is more likely to require a fuller review than a change that only affects how outputs are interpreted as RiskSpan sets out. Without an owner, you cannot ask that question of anyone in particular, and changes drift in unannounced.

The practical habit is to open the documentation and, next to each section heading, write the name you were given. Sections that produce a blank are your first round of questions. In most vendor packs you will find the model details section names a contact, while the training data, evaluation and limitations sections name nobody. That pattern alone tells you where the vendor expects scrutiny and where it does not.

The four documents, section by section

The documents arrive in a predictable shape, so you can review them in a predictable order. The table below maps each document to the sections where claims usually lack a worked example, a threshold or an owner, and what to ask for.

DocumentSectionCommon gapWhat to request
Model cardIntended useOut-of-scope uses listed without consequenceWorked example of a use outside scope and stated outcome
Model cardEvaluation and metricsOne aggregate scoreDisaggregated results by group and condition, with thresholds see model card sections
Model cardLimitations and caveatsVague caveats with no boundaryThe condition where performance degrades and the measured drop
Evaluation reportTest set descriptionNo provenance for the test dataWhere the data came from and how it differs from your book
Evaluation reportMetricsNo pass or fail lineMetric, target value, sample size and measurement date
Data provenanceSource and lineageSystem-level only, no field traceField-level lineage to the report or decision it feeds see lineage guidance
Data provenanceTransformations and authorityNo record of who authorized a changeNamed steward per critical data element
Change logEntry descriptions"Various improvements"What changed, in inputs or calculations, and who signed off

Model cards are a good starting point because the format is standardized even when the content is thin. The original format proposed nine sections, including intended use, factors, metrics, evaluation data, training data and disaggregated quantitative analyses as Ultralytics details, and governance teams reasonably expect those sections to be present. Presence is not the same as evidence, which is why you read each section against the three tests rather than ticking that it exists.

Data provenance deserves particular attention because it is where vendors are most tempted to go shallow. Lineage only holds up when it traces a data element from origin through every transformation to its use in a report or decision, with control metadata showing who touched the data and under what authority per RiskInMind's lineage roadmap. A diagram of systems is not lineage; a field trace with named stewards is.

Reading the evaluation report without being fooled by a headline metric

Evaluation reports are the most technical document in the pack and the easiest to over-trust. Four traps recur.

First, the test set. A metric measured on public or synthetic data may say nothing about your population. Ask how the test data differs from your own book and get a concrete answer. Second, the baseline. A claimed improvement needs a stated comparator, because a number quoted without the baseline cannot be benchmarked. Third, the operating point. A detection rate is meaningless without the threshold it was measured at, since you can always trade one for the other. Fourth, disaggregation. Aggregate numbers can hide a subgroup where the model is unusable, which is the whole reason model cards call for quantitative analyses broken down by factor.

A short checklist keeps the review honest:

  • Does each headline metric name its test set, sample size and measurement date?
  • Is there a baseline and is it the same rule or model in production today?
  • Is the operating threshold stated, and can a reviewer move it and see the effect?
  • Are results disaggregated by segment, and does the worst segment pass your threshold?
  • Is every number tied to a named owner who can explain it?

You can strengthen the review by asking for sensitivity analysis: how the model behaves as a key input varies. Testing methods for effective challenge on vendor models often rely on sensitivity analysis and benchmarking precisely because full access to the code is not available as RiskSpan notes. If the vendor will not share code, sensitivity testing is the substitute, and a report that omits it leaves you with nothing to challenge.

Recording gaps and asking the right follow-up questions

The output of your review is not a verdict, it is a list of findings written so that a colleague can act on them. For each gap, record the claim as stated, the test it failed, the evidence you requested and the date you asked. That structure survives an exam because it shows a control operated, not just that you had an opinion.

Effective challenge is the standard you are trying to meet. Validation performed simply to tick a box tends to settle for the cheapest option, while validation driven by risk and complexity asks harder questions about data, assumptions and whether the model keeps performing over time as Darling Consulting argues. Your follow-up emails are where that difference shows, so write them as specific requests rather than general concerns.

A few follow-up questions that surface gaps fast:

  • Which single input, if it changed, would move this metric the most, and what is the measured effect?
  • If I gave you an alert from my own queue, would you show me the score and the features behind it?
  • Who signs off when this model changes, and what triggers a full versus a limited review?
  • What is the worst-performing segment, and what does the model do when it meets it?

For AI-specific use cases, add one more: how does the system explain a single decision to a reviewer or a regulator? Explainability is now part of what makes alerts trustworthy, and the trend in the market is toward models that explain why an alert fired rather than only that it did as Facctum notes. A vendor that cannot walk through one decision has not given you the audit trail you need.

Worked example: scoring a vendor pack for an AML model

Here is how the tests play out on a realistic submission. A vendor sends a model card, a six-page evaluation report, a two-page data provenance note and a change log with quarterly entries. You review in an afternoon and can see immediately where the pack is thin.

The model card's intended use section lists out-of-scope uses without consequence, so you ask for one worked example of an out-of-scope use and what happens. The evaluation section shows a single aggregate detection rate, so you ask for disaggregation by customer segment and condition, with the threshold at which it was measured. The limitations section says "performance may vary with data quality" with no measured boundary, so you ask for the condition where the drop becomes material and the number. The data provenance note maps systems but not fields, so you ask for a field-level trace for the three data elements that feed the alert score, with named stewards.

On the change log, the entries say "improvements to scoring" and "data refresh." You ask which of those changes affected calculations versus reporting, since that distinction drives whether your next review is full-scope or limited per RiskSpan's four questions. You also ask who signed off each entry, which is the owner test in practice.

Now the arithmetic that makes the finding concrete. Suppose the vendor claims a forty percent reduction in false positives and you currently generate 1,000 alerts a month. If the baseline is not stated, you cannot convert forty percent into anything. If the vendor states it measured against a rule-based baseline with a ninety percent false positive rate, as industry rates commonly run per this SSRN paper, the claim becomes checkable: you know what was measured, on what, against what. Without those three numbers the claim is unproven, and you write it up that way rather than passing it through.

The findings output is short and specific:

ClaimWorked example?Threshold?Owner?Finding
Reduces false positives by 40%NoNo baseline statedNoUnproven, request baseline and test set
Handles seasonal volume spikesNoNo tolerance statedNoUnproven, request sensitivity analysis
Model retrained quarterlyYes, log entryNo performance triggerNamed ML leadPartial, request monitoring thresholds

That table is what you attach to the validation report. It is defensible, it is reproducible, and it gives the vendor a clear list to answer.

If you are building the machinery behind this kind of review, for example running your own challenger evaluations across several vendor models, the plumbing of calling many different models through one interface matters more than it looks. Quanta Inference puts text, image, video, audio and embedding models behind one OpenAI-compatible API key (https://quantaintelligence.ai/inference), which is convenient for standing up a challenger benchmark without a separate integration per model. The evaluator still has to be you. The API just removes the wiring.

FAQ

FAQ

What counts as a worked example in a model card?

A worked example shows a specific input, the model's output for it, and the reasoning or features that produced that output, ideally with the expected label. In a model card this usually appears in the quantitative analyses section, disaggregated by group and condition per Ultralytics. A single aggregate accuracy figure is not a worked example.

Why is a numeric threshold necessary if the vendor reports good performance?

Because a metric without a defined pass or fail line cannot be monitored or challenged. Ongoing monitoring is a core validation element per the Comptroller's Handbook, and monitoring needs a target to monitor against. Without one, you are inventing the standard yourself after signing.

Does the vendor own the model risk if the model is theirs?

No. Banks are expected to validate their own use of vendor products, so the institution carries the risk even when the code is a black box per RiskSpan. That is why the review you are doing, and the findings you record, are your evidence and not the vendor's.

How do I handle a vendor that refuses to share training data?

Assess what you can and record what you cannot. Where development data is proprietary, validators typically rely on benchmarking and sensitivity analysis instead of direct data review as RiskSpan describes. Ask for disaggregated evaluation results on data the vendor will share, and note the limitation in your validation file.

When should a documentation gap block a signature rather than become a condition?

Block the signature when the gap sits on a claim your decision depends on and no substitute evidence exists, such as the core performance metric with no test set or baseline. Where the gap is peripheral, record it as a condition with a dated request and proceed. If the vendor relationship is significant to your risk profile, a free consulting call can help you scope which gaps are material for your institution (https://quantaintelligence.ai/calendar).

Sources

Sources

  1. Model Risk Management, Comptroller's Handbook
  2. Validating Vendor Models
  3. AI Model Validation in Compliance: 2026 Playbook
  4. Model Card: Sections, Examples, and Uses
  5. AI-Driven Transaction Monitoring Systems (AI-TMS): Reducing False ...
  6. 4 Questions to Ask When Determining Model Validation ...
  7. What Is a Model Card? Sections, Templates & Best Practices
  8. Start With One Report: Audit Ready Data Lineage for Banks
  9. 4 Questions You're Not Asking About Model Validators, But ...
  10. False Positives In AML Compliance: Definition, Causes, And Solutions
About the author

About the author

Antonio Evans
Antonio Evans

Antonio Evans is the founder of Quanta Intelligence and a fractional CTO who builds HIPAA-ready AI systems for health and life-science companies. Before that he was technical co-founder of FriendsEAT for twenty years, CEO of Socialdraft, and a data engineer at IBM. Antonio lives with his dog Santino in Lisbon, Portugal.

All articles