Fact finds lie politely: verification patterns.
An applicant is not dishonest. They just do not know the floor area, forgot the loft conversion, and rounded the bedrooms up. Verify the record, do not trust the recall.
One call returns the attributes so the applicant confirms rather than guesses - and where the record and the declaration disagree, the mismatch is a prompt to verify, not a silent override.
A fact find is a memory test the applicant did not revise for. They do not know the floor area. They forgot the extension was ever a planning matter. They rounded a study up to a bedroom because it felt fair. None of this is dishonesty. All of it is noise your model inherits if you trust the form.
Prefill changes the question
The fix is to stop asking the applicant to recall and start asking them to confirm. One call returns the attributes on the record - bedrooms, floor area, construction, storeys - and the applicant checks a filled form instead of populating a blank one.
Confirmation is a better instrument than recall. It is faster for the applicant, and it produces data your rules can actually stand on.
One call returns the attributes; the applicant confirms rather than guesses.
The mismatch is the signal
When the returned record and the declaration disagree, that gap is the most valuable output of the whole exercise. It is where the loft conversion, the rear extension or the knocked-through reception hides - the alteration a fact find was never going to surface.
IF bedrooms_declared_and_predicted != application.bedrooms -> flag for verificationNote the word flag. The record does not silently overwrite the application; it prompts a human to look. A silent override trades one unverified number for another. A flag routes the case to the person who can settle it.
Cross-checks that catch the rest
- -Floor area against bedrooms and storeys - a value that does not add up is a value to look at.
- -Planning history against the current attributes - a recorded extension that never reached the floor area is a gap worth closing.
- -Construction material against the AVM path - a non-standard frame belongs with a valuer, not a model.
The applicant is doing their best from memory. Give them a record to confirm, watch where they disagree with it, and route the disagreements. That is verification - not calling anyone a liar, just refusing to run a decision on a guess.