{
  "name": "Goal-Difficulty Algorithm",
  "version": "1.0",
  "description": "A method for ranking how hard a goal was to score, measured at the moment the ball is struck. It measures the technical difficulty of the finish rather than how memorable, important, or watchable the goal was.",
  "distinctFrom": {
    "xG": "Expected goals (xG) measures the probability that a shot becomes a goal from a given position. Goal difficulty measures how hard the finish was to execute given the constraints the player faced. A penalty has high xG and low difficulty. A bicycle kick under pressure has low xG and high difficulty."
  },
  "scale": "0-100, where higher means harder to score",
  "inputs": [
    {
      "name": "shot location",
      "weight": "highest",
      "direction": "Greater distance and tighter angle to goal increase difficulty. The relationship is non-linear; distance added at range costs more than the same distance added near goal."
    },
    {
      "name": "defensive pressure",
      "weight": "high",
      "direction": "More defenders within roughly three yards and actively committing to the block increase difficulty."
    },
    {
      "name": "goalkeeper position",
      "weight": "high",
      "direction": "A keeper set and square shrinks the available target and increases difficulty. A keeper off his line or out of position lowers it."
    },
    {
      "name": "body part and contact type",
      "weight": "medium",
      "direction": "Weak foot, header, bicycle, scorpion, and outside-of-the-boot finishes increase difficulty relative to a standard strong-foot strike, calibrated to historical conversion rates."
    },
    {
      "name": "ball movement at strike",
      "weight": "medium",
      "direction": "A ball arriving fast, on the half-volley, dipping, or spinning is harder to strike cleanly than a stationary or rolling ball."
    },
    {
      "name": "touches before the shot",
      "weight": "medium",
      "direction": "A contested multi-touch run against committed defenders carries higher individual-creation difficulty than a first-time finish from a cutback."
    },
    {
      "name": "build-up complexity",
      "weight": "low",
      "direction": "More passes in the sequence and more pressing intensity broken increase the score, but this is a smaller weight than shot-level inputs in the raw difficulty measure."
    },
    {
      "name": "obstructed vision",
      "weight": "high",
      "direction": "Finishing without a clear sight of the goal, such as a blind backheel or a flick with the body between the player and the target, is the hardest single difficulty axis."
    },
    {
      "name": "game state",
      "weight": "context-only",
      "direction": "Score line, time, competition stage, and opponent quality are scored separately. They change how much a goal mattered, not how hard it was to score, and do not enter the technical difficulty score."
    }
  ],
  "weightingMethod": "Each input is weighted by its marginal contribution to whether comparable shots are missed, fit to historical data rather than decided by panel vote. The weights update as new data arrives.",
  "validation": "Forward-blind testing. The model is built on goals before a cutoff date and scores unseen goals in the test period, then is compared against bookmaker prop markets, expert consensus where it converges, and the model's own bootstrap stability. It must beat all three.",
  "knownLimits": "The method requires inputs measured at the moment of contact and cannot reliably score goals from eras without tracking data or sufficient broadcast footage, such as much of the careers of Pelé and Maradona. It also cannot measure defensive actions, which never appear in a goals dataset.",
  "canonicalUrl": "https://grailrank.com/blog/posts/goal-difficulty-algorithm/",
  "versionUrl": "https://grailrank.com/methodology-v1.json",
  "latestUrl": "https://grailrank.com/methodology.json",
  "supersedes": null
}