RC RANDOM CHAOS

Count Binface breaks your correlation rule

Count Binface's real election results read like corrupt data, which is a problem for any pipeline that validates for plausibility instead of safety.

· 3 min read
Count Binface breaks your correlation rule

In the 2021 London mayoral election, a candidate named Count Binface took 92,896 votes, 24,775 of them first preferences, and finished ninth out of twenty. Along the way he beat both UKIP and Piers Corbyn. His own campaign site logs the total as a record for an alien standing for public office on Earth, which is a line no reference dataset will have a column for.

That is the trouble with Count Binface if you are the person who built the pipeline that ingests election results, candidate names, and party affiliations. Every field he fills in reads like corrupt data, and all of it is genuine. The declared origin is “leader of the Recyclons from planet Sigma IX.” The platform includes lasers, affordable croissants, and the return of Ceefax. The name changed between elections, from Lord Buckethead in 2017 to Count Binface in 2019, which his site attributes to “an unfortunate battle on the planet Copyright.” A returning officer counted the votes each time.

A system that decides what is plausible will get this wrong in several places at once. Input validation that rejects names outside an expected character set or length throws out a legitimate candidate. An allowlist of known parties drops any entrant whose affiliation is not already on it. Anomaly detection trained on past turnout flags a large swing as suspicious; his 2023 Uxbridge and South Ruislip by-election result, 190 votes and a 275% increase on 2019, was exactly the kind of jump such a rule would catch, and it was real. A correlation rule that treats “unknown entrant beats an established party” as evidence of fraud or a bad feed fires on a genuine result.

The distinction worth holding onto is between validating for safety and validating for plausibility. You validate a name field so it cannot carry a script tag or a SQL fragment, and so it fits the column. You should not gate it on whether it is a name a human would pick, because humans, and apparently Recyclons, pick stranger things than your test fixtures contain. Once a rule encodes “this looks too absurd to be real,” it is a rule that is wrong about the real world.

A few things follow if you run systems that take in open-world data like this:

  • Keep the format checks and drop the plausibility checks. Enforce length, encoding, and character safety on a name or party field. Do not reject a value for failing to match a pattern of sensible-looking ones.
  • Treat anomaly flags as questions for a human, not verdicts. A large vote swing, an unknown name beating a known party, a candidate placing eighth: worth surfacing, but the system should ask for confirmation rather than discard or block the record.
  • Avoid hard-coded entity allowlists for anything genuinely open. Elections, usernames, merchant names, free-text addresses: the set of valid values is not yours to enumerate in advance, and every cycle adds entries you did not predict.

Binface’s real results sit close to the ones a cynic would assume were invented. He took 308 votes against Rishi Sunak in Richmond and Northallerton at the 2024 general election. His best fictional result, in the drama Industry, is 309. One number is in the official count and one is in a script, and nothing about either would tell your validator which is which.

Share

Keep Reading

Latest on the Wire

Full wire →

New signal daily · RSS

Stay in the loop

New writing delivered when it's ready. No schedule, no spam.