{
  "checked_on": "2026-10-07",
  "check_timezone": "Asia/Seoul",
  "competition": "UEFA EURO 2024",
  "date_convention": "경기일은 원문에 기재된 개최지 기준 날짜",
  "method": "공식 경기 기사, 국가협회 기록, UEFA 통계표와 Opta 자체 보도를 대조. 현장 취재나 전 경기 영상 관찰이 아님. 슈팅 비율은 직접 계산.",
  "sources": [
    {
      "id": "ned_stats",
      "url": "https://www.uefa.com/newsfiles/EURO/2024/2036180_TS.pdf",
      "label": "UEFA · 네덜란드–프랑스 경기 종료 통계 PDF, 1쪽 Total 및 전·후반 열"
    },
    {
      "id": "ned_report",
      "url": "https://www.fff.fr/article/12752-bleus-et-oranje-dos-a-dos-0-0-.html",
      "label": "FFF · 네덜란드–프랑스 공식 경기 기사, LE MATCH"
    },
    {
      "id": "ger_report",
      "url": "https://www.uefa.com/uefaeuro/history/news/028e-1b40347474d2-c768c9f41684-1000--germany-2-0-denmark-musiala-seals-hosts-quarter-final-spot/",
      "label": "UEFA · 독일–덴마크 경기 기사, Key moments 및 Match in brief"
    },
    {
      "id": "cze_report",
      "url": "https://www.uefa.com/uefaeuro/history/news/028e-1b3a2c028eb1-0351684033b3-1000--czechia-1-2-turkiye-cenk-tosun-snatches-win-as-turkiye-go-th/",
      "label": "UEFA · 체코–튀르키예 경기 기사, 20분 퇴장"
    },
    {
      "id": "cze_opta",
      "url": "https://theanalyst.com/articles/czech-republic-vs-turkey-stats-euro-2024-live",
      "label": "Opta Analyst · 체코–튀르키예, 경기 종료 후 호리 퇴장"
    },
    {
      "id": "eng_report",
      "url": "https://www.uefa.com/uefaeuro/history/news/028e-1b41ff0c9b9e-382c1ab22a1d-1000--england-2-1-slovakia-after-extra-time-bellingham-and-kane-e/",
      "label": "UEFA · 잉글랜드–슬로바키아, 득점 시각과 연장전 설명"
    }
  ],
  "matches": [
    {
      "id": "netherlands-france",
      "date": "2024-06-21",
      "teams": [
        "Netherlands",
        "France"
      ],
      "final_score": [
        0,
        0
      ],
      "stage": "Group D",
      "sources": [
        "ned_stats",
        "ned_report"
      ],
      "statistics_locator": "PDF page 1, First half / Second half / Total; not tournament average",
      "statistics": [
        {
          "team": "Netherlands",
          "period": "first_half",
          "goals": 0,
          "total_attempts": 5,
          "on_target": 3,
          "off_target": 0,
          "blocked": 2,
          "possession_percent": 42,
          "own_on_target_per_attempt_percent": 60.0
        },
        {
          "team": "France",
          "period": "first_half",
          "goals": 0,
          "total_attempts": 6,
          "on_target": 2,
          "off_target": 3,
          "blocked": 1,
          "possession_percent": 58,
          "own_on_target_per_attempt_percent": 33.333333333333336
        },
        {
          "team": "Netherlands",
          "period": "second_half",
          "goals": 0,
          "total_attempts": 3,
          "on_target": 1,
          "off_target": 0,
          "blocked": 2,
          "possession_percent": 41,
          "own_on_target_per_attempt_percent": 33.333333333333336
        },
        {
          "team": "France",
          "period": "second_half",
          "goals": 0,
          "total_attempts": 10,
          "on_target": 1,
          "off_target": 5,
          "blocked": 4,
          "possession_percent": 59,
          "own_on_target_per_attempt_percent": 10.0
        },
        {
          "team": "Netherlands",
          "period": "total",
          "goals": 0,
          "total_attempts": 8,
          "on_target": 4,
          "off_target": 0,
          "blocked": 4,
          "possession_percent": 42,
          "own_on_target_per_attempt_percent": 50.0
        },
        {
          "team": "France",
          "period": "total",
          "goals": 0,
          "total_attempts": 16,
          "on_target": 3,
          "off_target": 8,
          "blocked": 5,
          "possession_percent": 58,
          "own_on_target_per_attempt_percent": 18.75
        }
      ],
      "selected_event": {
        "attempt_by": "Xavi Simons",
        "offside_related_player": "Denzel Dumfries",
        "goal_allowed": false,
        "minute_as_reported_by_fff": "72",
        "source": "ned_report"
      }
    },
    {
      "id": "germany-denmark",
      "date": "2024-06-29",
      "teams": [
        "Germany",
        "Denmark"
      ],
      "final_score": [
        2,
        0
      ],
      "stage": "Round of 16",
      "sources": [
        "ger_report"
      ],
      "selected_events": [
        {
          "player": "Joachim Andersen",
          "type": "disallowed_goal",
          "reason": "offside",
          "minute": null,
          "goal_allowed": false
        },
        {
          "player": "Kai Havertz",
          "type": "penalty_goal",
          "minute": "53",
          "goal_allowed": true
        },
        {
          "player": "Jamal Musiala",
          "type": "goal",
          "minute": "68",
          "goal_allowed": true
        }
      ],
      "limits": "선택 기사에서 골 취소의 정확한 분과 앱 갱신 지연은 검증하지 않음"
    },
    {
      "id": "czechia-turkiye",
      "date": "2024-06-26",
      "teams": [
        "Czechia",
        "Türkiye"
      ],
      "final_score": [
        1,
        2
      ],
      "stage": "Group F",
      "sources": [
        "cze_report",
        "cze_opta"
      ],
      "dismissals": [
        {
          "player": "Antonín Barák",
          "minute_as_reported_by_uefa": "20",
          "phase": "during_match",
          "type": "second_yellow"
        },
        {
          "player": "Tomáš Chorý",
          "minute": null,
          "phase": "after_final_whistle",
          "source": "cze_opta"
        }
      ],
      "limits": "종료 후 퇴장을 경기 중 인원에 소급 적용하지 않음. 구간별 슈팅·점유율은 검증하지 않음"
    },
    {
      "id": "england-slovakia",
      "date": "2024-06-30",
      "teams": [
        "England",
        "Slovakia"
      ],
      "final_score": [
        2,
        1
      ],
      "final_state": "after_extra_time",
      "stage": "Round of 16",
      "sources": [
        "eng_report"
      ],
      "goals_chronological": [
        {
          "player": "Ivan Schranz",
          "period": "first_half",
          "display_time": "25",
          "score": [
            0,
            1
          ]
        },
        {
          "player": "Jude Bellingham",
          "period": "second_half_added_time",
          "display_time": "90+5",
          "score": [
            1,
            1
          ]
        },
        {
          "player": "Harry Kane",
          "period": "extra_time_first_half",
          "display_time": "91",
          "score": [
            2,
            1
          ]
        }
      ],
      "limits": "사건 표기만으로 두 골 사이 실제 경과 시간이나 최소 추가시간을 계산하지 않음"
    }
  ],
  "article_sources": {
    "offside-basics": [
      "ned_report"
    ],
    "shots-and-possession": [
      "ned_stats"
    ],
    "var-and-score-updates": [
      "ger_report"
    ],
    "cards-and-player-count": [
      "cze_report",
      "cze_opta"
    ],
    "stoppage-time": [
      "eng_report"
    ]
  }
}
