MyFC Team Selector Feasibility study Functional requirements Processes and Calculations What are we looking for? • What is the best formation for this game – Opposition – Upcoming games (easier/harder) • Who is best qualified to fill this position – Injuries – Form – Skills Wisdom of Crowds • Average choice should be correct more often than single expert • Decisions can be made more quickly conditional on – Diversity of members – Freedom of vote – Access to information – Working for the same common goal – No bias caused by influence of experts Final Goal • To produce a team lineup and formation that Liam and the Coaching staff can use • Requires: – Access to information about team • Problem of database & interface design • Not this document – A method for calculating the choices of many members Development Process • Iterative – start basic, build complexity as confidence improves • Some stages may not need “live” testing • Using test data from previous matches • Compare results with each “tweak” • Usability testing with mockups – member opinions • Some examples in this document only to illustrate principles Example 0.1 1 2 3 4 5 6 Lance Cronin Peter Hawkins Sacha Opinel Gary MacDonald James Smith Paul McCarthy (captain) Danny Slatter Stacy Long Raphael Nade Chukki Eribenne Charley Hearn (on loan from Grays Athletic) 7 8 9 Chris McPhee Neil Barrett Mark Ricketts Liam Coleman George Purcell Luke Moore John Akinde Sam Mott Michael Bostwick Ronnie Bull Rob French Who are the best 11 players for a particular match? 10 11 Aggregating selections • • • • We each have a different opinion on who is best for each box. Calculation of most common choice: Box 1…Box11 Produces a player for each position This is a simple calculation 1 2 3 4 5 6 7 8 9 10 11 Cronin Opinel Hawkins Ricketts Charles Bostwick McPhee Barrett Purcell Long Moore We’re not considering formation here, this is to explain the concept This could be the first part of a calculation, i.e. this is the starting 11, now where do they go? Example 0.2 • • • • • No longer 11 boxes “Grid” of 5x5 + 1 More flexibility Formation not prescribed Most common player for each square calculated as before – starting 11 • Most common square for that player is chosen 26 Cronin 1 2 Ricketts Hawkins 6 7 3 4 5 Opinel 8 9 10 14 15 Charles 11 12 Bostwick 16 13 McPhee 17 18 Purcell 19 20 Barrett E.g. Long was in the starting 11. Most common box for Long was 22. 21 22 Long 23 24 Moore 25 Example 0.3 • Example 0.2 showed only the most common square for each player • We have more data on each player • No longer “stay here” • Now “push towards the wing” 26 Cronin 1 2 Ricketts 75% Hawkins 6 7 Ricketts 25% 11 8 4 5 Opinel 75% Opinel 25% 9 10 14 15 Charles 12 Bostwick 16 3 13 McPhee 17 18 Purcell 19 20 Barrett 21 22 Long 40% Long 60% 23 24 Moore 25 Silly Selections • What if people make silly / malicious choices? • We can ignore squares below 10%,5%,2%1% as needed • Tolerance can be tweaked during development phases • Crowd should make this less likely – more involvement needed 26 Cronin 1 2 3 4 5 Ricketts 75% Hawkins Long 1% Opinel 75% Opinel 25% 6 7 8 9 10 14 15 Ricketts 25% 11 Charles 12 Bostwick 16 13 McPhee 17 18 Purcell 19 20 Barrett 21 22 Long 39% Long 60% 23 24 Moore 25 Example 0.4 More Cells = more info Ricketts 75% Hawkins 50% Ricketts 25% Hawkins 10% Hawkins 40% Charles 10% Charles 60% Bostwick 20% Bostwick 60% Bostwick 20% Opinel 20% Opinel 60% Charles 30% Opinel 20% Barrett 50% Purcell 30% Barrett 25% Purcell 20% McPhee 20% McPhee 15% McPhee 65% Barrett 25% Long 5% Long 20% Long 25% Long 50% Moore 5% Moore 60% Moore 35% Some data can be ignored – tolerances can be established during testing Purcell 50% Example 0.5 • Allow users to select more than 1 square per player • More confidence as we’re disregarding less data than before • In fact we have more data • (again, concept only) Example 0.7 • Larger grid: 20x20, 50x50? • Allow users to select more than 1 square per player • Clunky to select each square, so… • With a much larger grid, we get the members to: – draw the position on the pitch or – drag & drop the player onto the pitch and stretch shape Example 0.7a 1. Player dragged & dropped onto pitch 2. Zone drawn around player 3. Calculation takes all cells covered by that circle as being votes for that player • Opinel Aggregating data • • • • • • • • • Opinel Example 0.7b 1. Player icon dragged & dropped onto pitch 2. Player Icon stretched to fill desired area 3. Calculation takes all cells covered by that shape as being votes for that player Less tidy than 0.7a? Example 0.8 What about formation? 1 3 2 4 1. Formation is selected from drop down box 2. Appropriate “frame” is overlaid 3. This is like team selector at the moment 5 6 7 8 BUT – are we losing data because we’re looking at the choices for one formation? E.g. 70% chose 3-5-2, 30% chose 4-4-2 Why lose that data when LB=LB, RM=RM 10 11 9 Example 0.8 Different Formations, Equivalent positions 1 2 3 4 3-5-2 4-4-2 75% of selections 25% of selections 1 2 3 7 4 5 6 8 9 1=1 5 6 7 8 9 2=2 4=4 5=5 10 11 9=9 10 = 10 11 = 11 10 11 Example 0.8 Different Formations, Different positions Where positioning changes significantly, we can apply weighting 1 2 5 6 3 4 7 8 9 3-5-2 4-4-2 (b) 75% of selections 25% of selections 3 = 0.75 x 3 7 = 0.25 x 7 1 2 3 7 4 5 6 8 9 6 = 0.9 x 6 10 11 8 = 0.9 x 8 This reflects the confidence that the “translated” position is correct E.g. position 8 on both formations is very close, whereas position 7 is quite different. 10 11 Version 1.0 • • • • • Based on Example 0.8 5x5 grid Formation selector Drop down boxes Script deselects a player if user tries to allocate to two squares • Calculation is easy – what is the most common player for each square? – If a player is placed on 2 squares, what are the percentages for each? – Weighting applied for different formations Version 2.0+ Developed from examples 0.3-0.7 •Formation selected •Frame overlaid on large grid More Tactical flexibility: •We now know which frame a player occupies •But also where in that frame they should be Could be in parallel with Version 1.0 •Allows member choice – complex or simple selection Version 2.0+ •Hotspot map for each frame •Frame layout established with Liam •Frames could overlap •5x5 Grid calculation (example 0.3) is performed for each player/frame •Version 2.1 – allow multiple squares (example 0.5) 1 2 3 4 • Opinel 5 6 10 7 8 11 9 Version 2.0+ 1 2 Or using example 0.7a (drawn position) 3 4 • Opinel 5 6 10 7 8 11 9 Version 2.0+ • Weighting between players and formations is more complicated if we are to consider position within frames. • Interface is still less problematic, but more complicated • CPU-intensive calculation could be calculated over night when server load is low Things to consider Assuming 3-5-2 is the most common formation, who goes where? How do we decide Hearn’s frame and position? Do we discard or use Bull’s positioning info if Opinel is the 1st choice? 1 2 5 6 3 1 4 • Opinel 7 8 9 2 3 1 4 3 2 • Bull 5 6 7 8 9 5 6 1 7 4 • Opinel • Hearn 8 9 3 2 7 • Bull 5 6 8 9 • Hearn 10 11 10 11 10 11 4 10 11 This is why the algorithm needs to be developed through examples 0.3-0.7 Example interface Player List (click for more info) Lance Cronin Peter Hawkins Sacha Opinel Gary MacDonald James Smith Paul McCarthy (c) Danny Slatter Stacy Long Raphael Nade Chukki Eribenne Charley Hearn Chris McPhee Neil Barrett Mark Ricketts Liam Coleman George Purcell Luke Moore John Akinde Sam Mott Michael Bostwick Ronnie Bull Rob French Match Info Lorem Ipsum vs Ebbsfleet (BSP) FA Trophy 25/9/08 3pm (preview) Stacy Long Lorem Ipsum vs Ebbsfleet T: 90m G: 1 (43) (review) (more stats) Lorem Ipsum vs Ebbsfleet T: 80m (sub 80) G:2 (23,70) (review) (more stats) Latest Training Report Blah BlahBlah BlahBlah Blah Blah BlahBlah Blah Blah Blah Blah Blah Blah BlahBlah BlahBlah BlahBlah Blah Blah BlahBlah Blah Blah Blah Blah Blah Blah Blah Example interface Player List (click for more info) Match Info Lorem Ipsum vs Ebbsfleet (BSP) Lance Cronin Peter Hawkins FA Trophy 25/9/08 3pm (preview) Sacha Opinel Gary MacDonald Stacy Long James Smith Paul McCarthy (c) Lorem Ipsum vs Ebbsfleet (review) Danny Slatter T: 90m G: 1 (43) (more stats) Stacy Long Lorem Ipsum vs Ebbsfleet (review) Raphael Nade Chukki Eribenne T: 80m (sub 80) G:2 (23,70) (more stats) Charley Hearn Hovering over Latest playersTraining Report Chris McPhee Neil Barrett presents someBlah basic info, BlahBlah BlahBlah Blah Mark Ricketts clicking on players Blah BlahBlah Blah Blah Blah Liam Coleman changes central data. Blah Blah Blah BlahBlah BlahBlah George Purcell Drag and drop player Luke Moore name over to pitch. If Blah John Akinde BlahBlah their Sam Mottalready selected, Blah BlahBlah Blah Blah Blah position flashes on pitch Michael Bostwick Blah Blah Blah Blah Ronnie Bull Or expanding box.(+) Rob French Hovering over match highlights their position on the pitch for that game. Could have expandable boxes (+) for each games to appear in this window Brute force method • There are only a small number of formations we will use • E.g. 4-4-2, 3-5-2, 4-3-3 • Unlikely formations can be discarded • So let’s say we have 10 formations Brute force players • Some players will never be in goal (e.g. Nade) • Some players will never be in Attack or Midfield (e.g. Cronin) • For each formation, we create every single possible combination of players • Lot of formations, but only has to be done once 1000’s of possible formations • We can reduce this if particular players are injured or suspended • New player available? Create the formations with him overnight (or less time) Team Selection process • Formation 1-1000 compared with my selection • Does this match? Yes / No • The formation with most matches is the best solution