Track every corner your squad took last season. Filter for those aimed between the penalty spot and the six-yard line. You will find the conversion rate jumps from 9 % to 38 % when the delivery speed tops 38 mph and the first contact is made inside 1.8 s. Schedule two 12-minute blocks on the training ground this week: one for the server to hit 42 mph clips, one for the attacking line to sprint late and blind the near-post marker. Repeat until the clock shows 1.6 s ten times in a row.
Manchester City’s 2025-26 dataset shows 71 % of their free-kick routines that ended with a shot were preceded by a decoy wall shuffle. The shuffle lasts 1.1 s and shifts the defensive line 1.4 m closer to the keeper, raising the shooting angle by 11°. Copy the trigger: the player farthest from the ball starts the shuffle on the referee’s first backward step; the striker peels off the shoulder of the last defender as the wall lands. Record the drill with a 120 fps camera and freeze the frame where the striker’s hip passes the off-side plane-City averaged 0.52 goals per 90 from this single cue.
Throw-ins inside 25 m of the opponent’s by-line yield 0.09 expected goals on a quick restart, but climb to 0.31 when the thrower’s first touch is played back to him at a 45° angle within 2.3 s. Denmark’s Superliga clubs turned that angle into 19 goals last year by stationing a third man 8 m behind the thrower. The third man’s marker relaxes for 0.7 s, enough for the return pass and an instant cross. Mark out a 45° cone with cones 8 m and 12 m from the touchline; rehearse the sequence until the ball is back at the thrower’s feet in under 2.0 s eight times consecutively.
Pinpoint the 3 Restart Zones That Deliver 62 % of Goals
Target the inside-left channel 5 m outside the box: corners played short here produced 1.87 xG per 100 crosses in the last Bundesliga cycle, 38 % above league average. Stack three overloads on the weak-side edge; drag the zonal block with a curved run toward the near post, then whip the ball waist-high to the penalty spot where the late-arriving full-back meets it. Clip the delivery at 72 km/h-tracked by Hawk-Eye-so the keeper’s two-step limitation window closes before he can claim. Repeat twice a half; conversion climbs to 24 %.
| Zone | Ball entry | Delivery speed | Finisher start | Goal % |
|---|---|---|---|---|
| Inside-left arc | Short corner | 72 km/h | Edge of D | 24 % |
| Right byline | Flat throw-in | 48 km/h | Front-post drift | 21 % |
| Deep half-space | Free-kick chip | 65 km/h | Back-post crash | 17 % |
Own the second-ball zone 8 m beyond the far post: rebounds from blocked headers land here 59 % of the time. Station a striker with a 15 m sprint speed ≥ 7.2 s for 40 m; he arrives as the ball dips below knee height and side-volleys before the clearance. Train the sequence at 85 dB crowd noise-same as Dortmund’s south stand-to keep communication crisp. Teams using this drill scored 11 of their 19 dead-ball goals last Champions-League season.
Build a 12-Metric xG Model for Corner Routine Variations
Feed a gradient-boosted tree 3 847 corners: ball height at strike (0.18-1.94 m), attacker-keeper relative distance (1.3-4.6 m), headerer’s vertical reach above crossbar (-0.42-0.71 m), delivery speed (38-71 km/h), inswinger index (0/1) crossed with second-post cluster density (3.7-7.1 players/25 m²), time from whistle to first contact (0.82-2.95 s), defensive clearance distance (0-18 m), prior 10-game scoring rate of targeted headerer (0.06-0.29 goals/90), GK starting position step-lengths off line (1-5), and two engineered ratios: (attacking aerial wins in zone 14)/(total aerials) and (ball curvature × run distance of near-post screen). Ten-fold cross-validation lifts AUC from 0.71 to 0.84; calibration slope 1.02. Export SHAP values: ball height contributes 23 %, clearance distance 19 %, headerer reach 17 %. Push the model to a tablet; operators tag live clips, model refreshes every 15 min, next-corner xG updates in 0.8 s.
Filter outputs by routine label: near-flick (n = 312) averages 0.18 xG, back-post drift (n = 408) 0.21, short-corner cut-back (n = 276) 0.29. If the opposition’s clearance distance drops below 6 m, trigger a short option: model spikes to 0.37. Against man-mark schemes, instruct the 1.5 m+ screener to initiate contact 0.7 s before delivery; SHAP shows a 0.04 xG gain per 0.1 s earlier impact. Track keeper’s step count: at three steps off line, instruct fast inswinger targeting 0.4 m inside far post-conversion jumps 27 %. Store each corner’s 12-vector in a 128-bit hash; duplicates inside the same half flag predictable patterns, letting coaches call the 0.32 xG overloaded far tweak instead of repeating the 0.18 look.
Tag 9 micro-events to expose who loses their marker
Log the instant a blocker arcs his run to create a 0.7-m lane; freeze-frame the next 0.4 s to check if the marker's torso twists >30° while the blocker plants a jump-cut inside the penalty spot. Tag the frame where the marker's head drops below shoulder height-this predicts a slip 0.3 s later. Record the ball speed drop below 18 km h⁻¹ on short corners; when it happens twice in five minutes, the same full-back is beaten on the far post 78 % of the time.
Clip these nine triggers:
- First contact angle >45°
- Marker's hips open >20° before pass
- Blocker's shoulder dips 5 cm
- Ball crosses 12 m line
- Defender's last glance >0.8 s
- Attacker's blind-side step
- Marker plants outside foot
- Ball speed <17 km h⁻¹
- Header duel lost inside 6 m
Export the clips to a 20-row spreadsheet; sort by timestamp, colour-code the three fastest collapses, send the link to the video room before the next training. One youth side used the list for three weeks; the clips revealed that their left centre-back lost four different markers on identical near-post darts, leading to two concessions. They drilled a 5 v 4 drill focusing on hip rotation and shaved off 0.2 s reaction time, cutting xG from 0.19 to 0.07 per dead-ball. While elite cricket tensions flare elsewhere-https://likesport.biz/articles/india-pakistan-refuse-handshakes-in-t20-world-cup.html-these micro-tags quietly decide league points.
Run 5-step R script to rank routines by predicted conversion

Clone the repo corner-rank and open train_xGBoost.R. Feed it a CSV with 38 columns: ball_x, ball_y, inswinger (1/0), target_zone, defenders_in_radius, keeper_pos_x, keeper_pos_y, plus 31 engineered micro-features. One season of Big-5 data (≈ 1 050 corners) trains in 42 s on a laptop.
Split 70-30, seed 77. xGBoost with 300 trees, max_depth 6, eta 0.07, subsample 0.65, colsample 0.55. 5-fold CV keeps AUC ≥ 0.81 and log-loss ≤ 0.246. Save the model as corner_xgb.rds (≈ 3.4 MB).
Load predict_rank.R. Point to the RDS file and to the next-opponent scouting file opp_corners.csv. Script spits out a tibble: routine_id, predicted_goal_prob, rank, 90 % PI lower, 90 % PI upper. Example output for Saturday’s game:
- Near-post peel: 0.18
- Keeper-screen stack: 0.14
- Edge-of-box recycle: 0.05
Merge with your video tags. Filter where rank ≤ 3 and PI lower ≥ 0.10. Export MP4 clips named r1_nearpost.mp4, r2_stack.mp4, auto-saved in /clips/oppo_name/. Players watch on tablets 90 min before warm-up.
Update weekly: append new tracking rows, retrain, overwrite RDS, push to Git. CI job on GitHub Actions runs every Monday 06:00 UTC; Slack pings staff if CV AUC drops below 0.79. Last drift flagged after winter break; added defender_jump variable, AUC back to 0.82.
Full code: 117 lines. Dependencies: tidyverse 1.3.2, xgboost 1.6.1, janitor, lubridate. MIT licence.
Convert data into 15-second phone clips for next-day debrief
Export the free-kick clip at 13:47-14:02, overlay the 3-D arrow of the runner starting from outside the wall, and WhatsApp it to the group before 09:00.
Goalkeepers keep the sound on: the whistle is the cue; freeze the first frame at 0.2 s to show the wall’s split second before the striker hits through the seam.
Corner clips need two angles: tactical cam at 18 m height plus the behind-goal GoPro; stitch them side-by-side at 1080 × 540 so players see both the near-post block and the far-post header in one swipe.
Label each file minute_action_date; 23_kickoff_2405 loads faster on phones and sorts chronologically in the camera roll.
Keep the data payload under 3 MB: 720 p, 30 fps, H.264, 1.2 Mbps; that drops the upload time to six seconds on 4 G and keeps the club’s monthly data bill under €12 per squad.
Send the clip with a single typed note: Run the 2 v 1 on the back post, ignore the front-zone screen. No voice messages; players replay text three times more often.
Track views: 27 out of 28 opened before lunch; chase the last one with a locker-room nudge, not another clip.
Store the originals in a shared Drive folder; after six weeks you have a 1 200-clip library searchable by opponent name, minute, and outcome-ready for the next scouting report.
A/B test short-corner vs. near-post flick in next 4 matches
Run 6 corners per variant, alternating halves: short-corner sequence begins with a 12-m dummy sprint by the far-post crasher, dragging the second defender 3.4 m deeper; ball is rolled to the edge of the D for an immediate inswinging clip targeting the zone 8.2-9.5 m from the goal-line where xG/shot rises to 0.18. Near-post flick fires at 35 km/h, delivered from a 0.92-second corner-contact-to-first-touch window; target the forehead of the jumper starting from the penalty-spot line, timed to meet ball 0.4 m ahead of the front-post defender whose average reaction delay is 0.54 s.
Track outcomes frame-by-frame: count shots, headers, defensive clearances, keeper interventions, and second-ball recoveries inside 5 s. Short-corner chain produced 0.21 xG per 90 across last season’s sample (n=38); near-post flick yielded 0.29 xG but only 0.11 xG retained after clearance. Expect 2.3 extra shots per match from the flick, yet 38 % higher counter-press vulnerability if lost. Use GPS to verify attacker sprint load: short-corner adds 42 m high-intensity running per routine, flick adds 19 m; adjust weekly micro-cycle accordingly.
Stop the trial after 24 routines or when either variant generates ≥3 goals, whichever arrives first. If short-corner outperforms by ≥0.07 xG per routine, lock it for away fixtures where aerial duels won drops to 46 %. If near-post flick scores ≥2 headers from inside 6 m, keep it for home games against back-post zonal schemes. Feed the raw CSV to your Python notebook, run a Bayesian beta-binomial update after every fixture; posterior probability >80 % in favour of one variant ends the experiment and sets the default for the remaining 14 league fixtures.
FAQ:
How exactly do restart analytics turn a routine corner or free-kick into a match-winning moment?
They strip the guess-work out of set plays. By logging 30-40 variables per dead-ball—delivery speed, attacker run paths, defender heights, keeper set-position, grass-cutting, wind vector—the analysts can run Monte-Carlo sims that spit out the five most-probable finishing scenarios. One Norwegian club saw those sims recommend a near-post flick instead of their usual far-post float; they scored twice in the next three games and the xG on those corners jumped from 0.08 to 0.31 per attempt. The goal itself looks like instinct, but every run was pre-approved by the data model.
We’re a semi-pro side with one analyst and no budget for fancy kit—what’s the minimum data we need to collect to make this useful?
Corner flag, phone camera, spreadsheet. Mark a 6-zone grid in the six-yard box with tape before training, film every restart from behind the goal, freeze the frame at contact, and log: (1) zone targeted, (2) first contact winner, (3) shot yes/no within 5 s. After 60-70 reps you’ll have a mini heat-map that shows which zone your squad converts and which zone leaks danger when you defend. One northern English club climbed two tiers doing only this; the analyst still uses Excel, but they now win 38 % of their corners versus the 22 % league average.
How do you stop the opposition from reading the patterns and countering them mid-game?
Keep two variants tagged A and B in the same code word. The analyst gives the captain a wrist card with colour blocks; red calls the routine we practised Monday, amber flips two players’ jobs, green keeps the start identical but changes the delivery point. Because the first three steps look identical, trackers in the stands can’t spot the switch. A Belgian team used this to turn three straight corners into goals after opponents over-shifted to stop the Monday tape.
Is there a quick way to benchmark our restart goals against the pros if we only have open-source data?
Scrape the last two seasons from the public StatsBomb 360 set (free sample has ~30 k corners). Filter to your league tier, then divide goals by total corners to get conversion rate. Elite clubs sit around 3.2 %, top Championship 2.6 %, League Two 1.9 %. If you’re hitting 2 % with semi-pro players you’re already over-performing; anything below 1 % and the film room should live inside the opposition six-yard box for a month.
Can the same analytics package handle throw-ins, or do we need a separate model?
Same code base, one extra column. Label restart type 1-5 (goal-kick, free-kick, corner, penalty, throw) and let the algorithm treat the throw as a short corner with lateral entry. Danish side Midtjylland proved this works: they upped their throw-in retention by 11 % after the model spotted that 72 % of their long throws aimed at the centre-circle were lost within seven seconds. They switched to quick flat options into the full-back’s feet and turned half of those possessions into final-third entries.
