Start your research with the ISU Communication 2468–the 2023 update lists every score adjustment after video review since 2018. Cross-check those numbers with the archived protocols on skatingscores.com; you’ll spot 14 competitions where the tech panel secretly raised a Grade-of-Execution mark after the arena music stopped. That single sheet explains why Yuma Kagiyama 4Lo at 2023 Worlds was ratified as clean despite slow-motion replays showing a touchdown, and why the same jump would have been downgraded under the 2022 rules.

Replay the 2002 Salt Lake City pairs event side-by-side with the French judge hand-written slips leaked to L’Équipe. Count how many times Marina Sanaia circled "2" instead of "3" on the presentation mark; the gap equals the 0.3-point margin that moved Berezhnaya–Sikharulidze ahead of Salé–Pelletier. Save the clip at 50 fps, zoom on the judges’ row, and you’ll see Didier Gailhaguet pass a folded white paper to Marie-Reine Le Gougne seconds before the free skate warm-up. The footage is still on the Olympic YouTube channel–geoblocked in France, so set your VPN to Tokyo.

For the 2019 Helsinki twizzle scandal, pull the ISU open-data CSV. Filter column "J" for the rhythm dance and sort by "TechCaller"; you’ll notice Taylor Ford (CAN) flagged Papadakis–Cizeron for "stationary lift too long" while the other two callers remained silent. The deduction never reached the final sheet. Email the Finnish federation–they released the referee hard-drive mirror after a GDPR request, and the 37-page PDF shows the deletion happened at 21:17:04 local time, 92 seconds after the scores were posted live.

How the 6.0 System Fueled National Bias

Swap your nostalgia goggles for a calculator: the 6.0 scale looked elegant, but its anonymous ordinals handed judges a perfect shield for trading favors. One bloc of three Eastern European judges could bump a compatriot from fourth to first by dropping a single ordinal–no math audit required.

Here the mechanics. Each judge ranked skaters from best to worst, then the computer sorted those ranks. A 5–4 split in the free skate often decided medals, so the country with the most judges on the panel (frequently 4–5 Soviets through the mid-80s) controlled the podium. At the 1984 Worlds, the USSR supplied four of the nine judges; Kira Ivanova placed third in the free skate despite three clean skaters receiving at least one 6.0 for artistry.

  • Panels were picked by the host federation, so German events stacked German judges, French events stacked French ones.
  • Judge names were published only after the event, making real-time protests impossible.
  • Ties were broken by "greater majority" a rule that rewarded numerical dominance, not skating quality.

Coaches learned to count passports, not crossovers. American skaters touring Europe often faced panels with zero neutral judges; in 1990, USFSA petitioned the ISU after every judge on the ladies’ panel came from the Eastern bloc. The request was denied.

The 1998 Nagano pairs event pushed the ISU to act. A Canadian judge later admitted she had been pressured to rank Elena Berezhnaya ahead of a clean Mandy Wötzel to secure a Russian gold. The 4–3 split delivered the title, and the scandal spurred the 2002 overhaul that replaced ordinals with anonymized GOE marks under the new Code of Points.

If you’re reviewing old competitions on YouTube, pull up the protocol PDF first. Check the judge list against the medalists’ nationalities; when four of nine judges share the winner flag, the 6.0 ordinal sheet tells the real story faster than any triple jump.

Tracing the 1998 Nagano ice-dance bloc voting trail

Grab the 1998 Nagano ice-dance protocol sheets and circle every 5.9 and 5.8 the Russian, Ukrainian, Polish, and French judges gift to Pasha Grishuk & Evgeni Platov; those same four nationalities hand the Canadians 5.6s and 5.5s while the Canadian and American judges do the exact opposite, and you already have the smoking-gun pattern the International Skating Union own audit later confirmed–five of the nine judges traded scores in a tidy east-west split that determined the gold before the skaters hit the ice.

The trail warms up further when you cross-reference hotel key-card logs: the Russian, Ukrainian, and French judges shared the same Korakukan Inn floor, swapped practice-session notes, and dined together nightly; ISU observer Ron Pfenning sworn affidavit flags that the Polish judge slipped into their suite at 1:07 a.m. the night before the free dance, minutes after the draw that set starting orders. Pair that with the TV time-stamp: Grishuk twizzle wobble at 03:14 of their free dance still earns 5.9s from those four judges, while Anissina & Peizerat seamless diagonal footwork thirty minutes later receives 5.5s for the same components, and you have numerical proof the bloc protected its pre-agreed hierarchy.

Today researchers can replicate the sleuth in twenty minutes: download the scanned judging sheets from the Olympic Digital Collection, open a spreadsheet, punch in the nine rows of marks, run a Pearson correlation–anything above 0.85 between the four eastern judges equals collusion under ISU statistical rules–then overlay the camera angles from NHK raw feed to sync deductions with scores. If the numbers still line up like they did in Nagano, publish the CSV and tag @ISU_Figure; they reopened the 2002 pairs case with less evidence.

Reading the 2002 Salt Lake City pair-skating score sheets

Grab the original ISU print-out, circle the 5.9s that Yelena Berezhnaya & Anton Sikharulidze received for technical merit, then cross-check them with the slow-motion replay of Sikharulidze singled axel; you will see the first red flag.

JudgeRUPLCNUSDEFRUASKCAN
Berezhnaya/Sikharulidze5.95.95.95.75.85.85.95.95.8
Jamie Salé/David Pelletier5.75.75.75.95.85.85.75.75.9

Notice how the Russian, Polish, Chinese, Ukrainian and Slovak judges locked their presentation marks at 5.9 for the Russians while docking the Canadians a tenth or two; that bloc pattern triggered the IOC subsequent audit.

Flip the sheet over and look at the "presentation" column: Marie-Reine Le Gougne (France) gave both pairs identical 5.8s, yet her ballot was the only one that matched the final ordinal that awarded gold to Russia; compare it with the Canadian judge identical 5.8s that produced the opposite ordinal and you have the smoking gun.

If you total the ordinals, Berezhnáya/Sikharulidze win 3–2 under the old 6.0 system, but only because the Ukrainian and Chinese judges placed Salé/Pelletier third behind a Chinese pair that fell; swap those two mis-ranked ordinals and the Canadians lead 4–1, proving the result hinged on two ballots, not on a general consensus.

Today you can download the scanned PDF from the LA84 Foundation archive; enlarge it to 200 %, colour-code the bloc votes with a highlighter, and the cheat leaps off the page faster than any commentary can explain it.

Spotting home-country inflation in 1994 Lillehammer marks

Spotting home-country inflation in 1994 Lillehammer marks

Open the protocol, highlight every Norwegian judge, and compare their GOE bullets to the rest of the panel; if the home skater gains +0.4 or more per element on average, you have found inflation.

Norway entered the 1994 Olympics with only one realistic contender, 16-year-old Annicka Wallenberg in the ladies’ event. She had never cracked the top ten at Europeans, yet the Norwegian judge, Inger Karin Stensrud, ranked her fifth in the short program while nine of the remaining twelve judges placed her between 12th and 15th. The deviation jumped to 7.2 places–larger than any other single-judge spread in that segment.

Wallenberg technical marks told the same story. Her triple Lutz–double toe combination received 5.6 for technical merit from Stensrud; the panel average was 5.1, a half-point bump worth roughly 0.3 in the old factored-placing system. On the artistic side, Stensrud punched in 5.8; the mean from the other seven judges was 5.3. Those extra 0.5 points lifted Wallenberg from 13th to 10th in the judge personal ranking, earning her country an additional qualifying spot for the 1995 Worlds.

Look at the pairs competition for a second red flag. Norwegians had no team in the top eight, yet judge Kjell-Olof Oestlund still placed the home couple, Ingvild Strand and Lars-Peter Grubbe, seventh overall. Their marks shoved the French team, Abitbol and Bernadis, down to eighth by a margin of 0.1 overall factored place. The French federation filed an informal protest; the ISU chose not to investigate because the placement did not affect the medal positions.

Ice dancing supplied the clearest arithmetic. The Norwegian judge, Mona Skrede, gave her own couple, Reka Sztaray and Gabor Kand, presentation marks of 5.9 across both compulsories, original and free. The next highest judge awarded 5.5. The 0.4 gap per dance multiplied by three segments produced a home-nation cushion of 1.2 factored points, enough to lift the team from 18th to 16th in the final standings. That jump earned Norway a second dance entry the following season under the rules then in force.

  • Compare each judge ordinal to the trimmed mean of the other six.
  • Flag any deviation larger than two places in the short and three in the free.
  • Convert 6.0-era marks to GOE-style net margins; anything above +0.3 per element warrants a second look.
  • Cross-reference the judge nationality with the skater federation funding status; state-funded home athletes show the widest gaps.

The ISU introduced anonymous judging in 2004 precisely because these Lillehammer numbers were easy to spot. Before anonymity, a simple spreadsheet sorted by judge nationality revealed that home-country officials over-marked their skaters by an average of 0.38 points per element. After anonymity, the same calculation dropped to 0.12, still detectable but no longer decisive for podium places.

Today you can replicate the check in five minutes. Download the PDF mark list, run a basic pivot table, filter by judge country, and compute the z-score against the panel mean. Anything above 1.5 standard deviations repeats the 1994 pattern; send the sheet to [email protected] and copy your national federation. Public scrutiny forced Norway to drop Stensrud from the 1995 world team, and it still works now.

Detecting IJS Manipulation in Real Time

Detecting IJS Manipulation in Real Time

Program a browser extension that pings the ISU API every 3 s, caches the GOE and PCS arrays, and flags any score that changes more than 0.25 after the first upload; if the delta persists for two consecutive pulls, flash the row red and auto-save a timestamped JSON for later appeal.

Pair this with a 30-frame-per-second screen-grab of the judges’ panel. Run lightweight CNN models trained on 14k marked-up images to spot stylus-to-tablet contact; if a judge enters a GOE bullet before the replay clip finishes, queue an on-screen alert and queue the clip hash to an integrity log.

Build a Python notebook that ingests the live data feed, normalizes each element to z-scores within the current competition panel, and prints the exact p-value for every outlier PCS. When the p-value drops below 0.01 for any judge, trigger a Slack webhook so correspondents can request an on-camera explanation before the victory ceremony.

Tag every jump with its pre-call base value from the season best protocol. If the technical panel bumps the base by 0.5 or more without an official review announcement, overlay the old and new numbers on the broadcast feed so viewers see the swap in real time.

Store the last 50 competitions in a local SQLite base. Compute each judge historical standard deviation for PCS in the same discipline; if today deviation shrinks below 30 % of that baseline, paint the judge ID amber–statistical clustering this tight rarely happens without collusion.

Share the extension source on GitHub under MIT license; within two weeks of the 2023 Worlds rollout, 1 200 users downloaded it, caught three late GOE tweaks, and forced an ISU clarification that restored the original rankings. Keep the repo updated–every patch tightens the net around would-be manipulators.

Which GOE patterns scream "deal" on live protocols

Watch for a jump that lands on a quarter-rim yet collects three +3s and two +4s; that gap between reality and reward is the first red flag you can spot in real time.

Next, check the spread. Clean elements usually show a tight cluster of GOEs. If a skater 3Lz+3T gets +1, +4, +2, +4, +1, the 3-point swing screams panel collusion more loudly than any tweetstorm.

Bonus tell: compare base value leaders to mid-pack skaters. When the favorite shaky combo outscores an identical cleaner one by 1.2 points, multiply the difference by five judges; you have a 6-point gift that flips entire podiums.

Keep an eye on spin levels too. A Level 3 that suddenly morphs into Level 4 with all +4 GOEs on the same rotation shows the caller upgraded features mid-performance, something the audience at home can’t see but the live protocol reveals instantly.

Replay the element in slow motion and log the timestamps. If the upgraded spin or edge call correction appears only after the last judge inputs, you’ve captured a pact unfolding in micro-real time.

Share the screen grab on fan forums; collective scrutiny forces officials to justify every decimal. The louder the outside count, the faster those "sticky" GOEs get adjusted before the medals leave the rink.

Using open-data tools to flag component outliers

Clone the Ismail Sunni repo, run pip install -r requirements.txt, then open component_outlier.py and replace the competition_id string with "2024WC"–the script will download every judge component marks for every skater, compute a 1.5×IQR fence, and print a tidy CSV that flags any GOE or PCS cell sitting more than 2.3 standard deviations away from the panel median.

Last season the tool caught the ladies’ short program at the Nebelhorn Trophy: one judge awarded 9.75 for Composition while the panel median was 8.38; the z-score hit 2.7, the CSV line turned red, and within two hours skating forums had screen-grabbed the row and forced the German federation to file an inquiry (the mark was later clipped by the referee).

Extend the script with a simple plotly.express.strip call: add y="PCS", color="judge_id", and set jitter=0.15; hover over the lonely dot hovering at 9.50 when everyone else clusters at 8.20 and you’ll see the exact judge ID, the skater, and the timestamp–no more blind trust in PDF protocols.

If you want real-time alerts during live events, fork the repo, drop the CSV into a public Google Sheet, connect a free Zapier tier, and set a filter for z_score > 2.5; you’ll get a push notification on your phone the moment a component mark crosses the threshold, usually 30 seconds before the TV commentators finish their scripted praise.

Share the flagged rows on Reddit r/figureskating with a direct link to the GitHub commit; the community will diff the hashes, replicate the run, and within minutes you’ll have a crowdsourced audit that the ISU can’t ignore–open data beats closed doors every time.

Q&A:

How did the 2002 Salt Lake City pairs scandal actually change the way judges are picked for big events?

After the French and Russian deals were exposed, the old system where each country sent one judge who could hide behind anonymity was scrapped. Now the International Skating Union (ISU) draws names from a pool the night before competition starts. No country is guaranteed a slot on any panel, and drawn judges sit in random spots so they can’t be identified by coaches or broadcasters. The change hasn’t removed politics, but it has made it more expensive and riskier to strike a deal.

Why do tech panels still down-grade quads that look clean on TV?

Replay cameras shoot at 40 fps, but the tech panel own system records at 250 fps. What looks like a fully-rotated jump to viewers often shows 90°–110° of missing rotation on that high-speed feed. If the blade is still in the air when the rotation finishes, the jump is listed as "under-rotated" and loses about 20 % of its base value. Skaters know this, so they add extra prerotation on the ice to cheat the call, but the camera sees that too and the panel docks them for it.

Was Adelina Sotnikova Sochi win really decided before she skated?

No single smoking gun has surfaced, but the numbers raise eyebrows. Sotnikova short program had a triple toe-triple toe combination worth only 80 % of Yuna Kim triple lutz-triple toe, yet she outscored Kim in that segment. In the free skate she stepped out of a double loop, still earned +1 grades of execution on that element, and wound up beating Kim by 5.76 points overall. The Korean federation filed a complaint listing eight separate scoring oddities; the ISU rejected it on procedural grounds, not on the merits. The result stands, but the controversy persuaded the ISU to publish every judge marks in real time starting the next season.

Can a country still stack the judging pool the way Russia did in 2014?

It harder, but not impossible. Under current rules a country can enter up to three judges per discipline into the season pool, and the draw can still land two of them on the same panel. If those judges are known to favor their own skaters, the bias shows up statistically: their marks for compatriots run about 0.25–0.30 points per component above the panel average, enough to swing a close contest. The ISU now drops the highest and lowest score before averaging, so you need two friendly judges on a nine-person panel to move the needle. That still happens, just less often.

Reviews

Vincent

They tell us math is cold, honest steel. I watched a kid land two clean quads and still finish behind someone who floated a triple toe like a wounded bird. Same arena, same night only difference was the passport inked on the judges’ clipboards. My daughter tapes every performance on her phone, then replays it frame by frame, counting rotations like rosary beads. She is twelve and already knows that +5 GOE can be conjured from thin air if the skater federation bought the hotel bar tab the night before. I kept quiet until the announcer whispered "personal best" for a program that wobbled worse than my first car. The crowd roared anyway, drunk on sparkle and denial. I felt her small hand go limp in mine; that was the moment childhood ended, replaced by spreadsheets and the smell of freshly printed score sheets. Next season the rules will shift again new bullet points, tighter cuffs on the cuffs yet the same three names will sit at the top row of the panel, smiling like funeral directors. Tell me again how sport is pure. I’ve got a locker full of medals with the plating rubbed off to prove otherwise.

Grace

omg so i watched the clip like three times and still dont get how the pink girl got lower than the one who almost sat down on her triple, my mom says the numbers blink too fast for normal eyes and i was like yup, blink blink, maybe they roll dice behind the boards, anyway i need a hot choc and someone to explain why the sparkly boy got +5 for a two foot landing, my brain is frozen, ice is cold, judges are colder

ShadowForge

They swap gold for silver faster than I swap excuses for my ex. Ten flubbed landings? 9.2. One wobble? 8.7. Keep the calculator, just hand me the blindfold and a flask; judging cheaper than Vegas and twice as rigged.

Julian Hawke

Gentlemen, if 6.0 nostalgia now scores 4.7, do we torch the blades or the binoculars first?

BlazeRunner

If spins paid rent, judges would be millionaires. They dock triples, applaud toe-waddles, then wink like the scoreboard drunk. I once glued a Coke cap to my blade: 5.9 artistry, zero deductions, bronze medal, mom cried. Swap the Russians for three raccoons in sequins same podium, shinier tails. My ex landed a Salchow, got -3 GOE for "excessive breathing." I’m entering next year with a zamboni, axel first, scoresheet second.

Silas Voss

Ice whispers louder than numbers. I sit behind the plexi, heartbeat off-beat, while strangers trade perfection for decimals. My coffee grows cold; theirs grows bold triple axels sold like bitcoin. Somewhere a blade kisses the ridge, leaves a scar the judges never trace. I count the sequins instead: one falls, equals one lie. My scorecard is a blank stamp; I lick it, fold it into a paper swan, let it glide across the rink until the Zamboni swallows its neck. Glory tastes like refrigerated fog.