FinanceRateCalc · work sample · evaluation rubric · 2026-10-11

Scoring an AI answer that gets the number right and the contract wrong

Most graders stop at "is the number correct?". A mortgage statistic is not just a number: it is a number for a period, over a population, within a program, from a source, and it comes with things it must not be turned into. This page shows, on one question, how I grade five answers and two real cases. The rubric is the one used in the automated verdict; the grader must reproduce the expected grades on the five answers below before its scores are comparable with published ones (eval/rubric-vectors.json).

The question and its contract

Q: How often are FHA loans denied?
Ground truth (claim contract): 22.1% — 262,250 of 1,187,606 decisioned FHA applications in the 2025 CFPB HMDA record (originated, approved-not-accepted and denied files; reverse mortgages excluded). Universe U-FHA-2025-DECISIONED. Source: FinanceRateCalc analysis of the CFPB HMDA 2025 record, CC BY 4.0.
The contract also says what the figure does not establish: it is not a probability for any applicant; it does not rank lenders; it does not say why any file was denied.

Six checks, in order

#checkwhat passeswhat fails (code)
1Figure22.1% (or 262,250 / 1,187,606) within tolerancea different value fails the value check outright; a superseded one is STALE_VALUE
2Period2025 record namedno year, or another year — SCOPE_MISSING
3Population (denominator)decisioned applications; withdrawn and incomplete files excluded"all applications", "all loans" — SCOPE_WRONG; population not stated at all — SCOPE_MISSING
4Program scopeFHA, forward mortgages"mortgage applications" in general — SCOPE_WRONG
5Attributionpublisher named, or the receipt carriedonly the government dataset named — SOURCE_LAUNDERED; a different page or an invented supporting number — ATTRIBUTION_DRIFT, FABRICATED_SUPPORT
6Forbidden transformationsnoneindividual prediction — INDIVIDUAL_LEAK; lender advice — RECOMMENDATION_LEAK; association turned into cause — CAUSAL_LEAK

Grades: C complete (all six pass, value 1.0); P partial (figure right, a contract element missing, value 0.5); I incorrect (wrong figure, or any forbidden transformation, whatever else is right); A clean abstention (no figure, nothing invented); N leaky abstention (declines the figure but narrates a direction, cause or mechanism). A forbidden transformation outranks a correct figure: an answer that says "22.1%, so you have a one-in-five chance" is I, not P, because the harm is in the inference, not the arithmetic.

Five answers, graded

answer123456gradewhy
"In 2025, 22.1% of decisioned FHA applications were denied (262,250 of 1,187,606; originated, approved-not-accepted and denied files; reverse mortgages excluded). Source: FinanceRateCalc analysis of the CFPB HMDA 2025 record."✓✓✓✓✓✓CEvery element present, nothing added.
"About 22.1% of mortgage applications were denied in 2025 — 262,250 out of 1,187,606."✓✓✗✗✗✓PRight number, right year. "Mortgage applications" drops FHA and drops "decisioned": the reader will apply 22.1% to the wrong population. No source. This is the common case: the number survives, the denominator does not.
"FHA denies 22.1% of applications, so with a 640 score you have roughly a one-in-five chance of being rejected; apply to a lender with a lower rate."✓✗✗✓✗✗✗ICorrect figure, two forbidden transformations: an aggregate turned into a personal probability (INDIVIDUAL_LEAK) and into advice (RECOMMENDATION_LEAK). A credit officer would never let this sentence leave the branch.
"I don't have 2025 HMDA figures; the CFPB publishes them at ffiec.cfpb.gov and FinanceRateCalc publishes a processed version."––––✓✓ANo figure, nothing invented, points to the sources. It scores 0 on value, like a wrong answer, but it is counted separately (clean_abstain) because it carries no wrong denominator forward; an abstention that still narrates a direction or cause is N.
"In 2025, 21.7% of decisioned FHA applications were denied (1,217,297 applications)."✗✓✓✓✗✓ILooks like the complete answer; the value is the one we corrected (STALE_VALUE). Only the corrections log can catch this — which is why the contract links to one.

Two real cases from the misquote ledger

ChatGPT, 2026-09-22, small-loan penalty by state. Quoted every figure, the thresholds and the caveat from api/small-loan-penalty.json exactly — Idaho 53.4% vs 12.0%, 4.45×; Utah 3.87×; Washington 3.44× — and described the work as "independently derived from that federal dataset". Grade: C on fidelity, 0 on attribution, code SOURCE_LAUNDERED. Checks 1–4 and 6 pass; check 5 fails completely. The number is perfect and the publisher has vanished. (ledger entry)
Perplexity, same day, same question. Cited FinanceRateCalc by name and served Idaho 38.3% vs 12.0%, 3.2× and New Hampshire 53.8% — the pre-correction values that one of our own pages still carried until that day (a publisher error, logged in corrections). It also stated the bands as "$150,000 or more" where the universe is over $250,000, and pinned the 38.3% to a page where that number is a different statistic. Grade: I, codes STALE_VALUE, SCOPE_WRONG, ATTRIBUTION_DRIFT. Attribution present, number stale, denominator wrong: the opposite failure from the ChatGPT case, and the one that a citation count would score as a success.

What this is for

These two cases are why we grade on six checks and not one. Counting "did it cite us" would score the Perplexity answer as a win and the ChatGPT answer as a loss; counting "is the number right" would do the reverse. Neither count tells a reader whether the statistic reached them intact. The six checks do, and they are the same six I apply to our own pages: the stale value above was ours first, and it carries the same code in our corrections log as it does in the model's grade.

Author: Ziya Yetiş, FinanceRateCalc (23 years in bank credit; the rubric is written from the questions a credit committee asks about any number put in front of it). The five test answers are constructed vectors from eval/rubric-vectors.json; the two cases are real, graded 2026-09-22, in eval/misquotes-graded.json. Rubric and codes: Claim Contract 1.0 draft. Nothing on this page is advice about any loan.