310 likes | 397 Views
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.
E N D
MyFC Team Selector Feasibility studyFunctional requirementsProcesses 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 Chris McPhee Neil Barrett Mark Ricketts Liam Coleman George Purcell Luke Moore John Akinde Sam Mott Michael Bostwick Ronnie Bull Rob French 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) Who are the best 11 players for a particular match?
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 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 E.g. Long was in the starting 11. Most common box for Long was 22.
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”
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
Example 0.4More Cells = more info Some data can be ignored – tolerances can be established during testing
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 • Player dragged & dropped onto pitch • Zone drawn around player • Calculation takes all cells covered by that circle as being votes for that player • Opinel
Opinel Aggregating data
Example 0.7b • Player icon dragged & dropped onto pitch • Player Icon stretched to fill desired area • Calculation takes all cells covered by that shape as being votes for that player Less tidy than 0.7a?
Example 0.8 1 What about formation? 2 3 4 • Formation is selected from drop down box • Appropriate “frame” is overlaid • This is like team selector at the moment • 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 5 6 7 8 9 10 11
Example 0.8 Different Formations, Equivalent positions 3-5-2 75% of selections 4-4-2 25% of selections 1 1 3 7 2 3 4 2 4 1 = 1 2 = 2 4 = 4 5 = 5 9 = 9 10 = 10 11 = 11 5 6 7 8 9 5 6 8 9 10 11 10 11
Example 0.8 Different Formations, Different positions Where positioning changes significantly, we can apply weighting 3-5-2 75% of selections 4-4-2 (b) 25% of selections 1 1 3 7 2 3 4 2 4 3 = 0.75 x 3 7 = 0.25 x 7 6 = 0.9 x 6 8 = 0.9 x 8 5 6 7 8 9 5 6 8 9 10 11 10 11 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.
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+ 1 2 3 4 • 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) • Opinel 5 6 7 8 9 10 11
Version 2.0+ 1 2 3 4 Or using example 0.7a (drawn position) • Opinel 5 6 7 8 9 10 11
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 1 1 1 2 3 4 3 7 3 7 2 3 4 2 4 2 4 • Opinel • Opinel • Bull • Hearn • Bull 5 6 7 8 9 5 6 7 8 9 5 6 8 9 5 6 8 9 • Hearn 10 11 10 11 10 11 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 (review) T: 90m G: 1 (43) (more stats) Lorem Ipsum vs Ebbsfleet (review) T: 80m (sub 80) G:2 (23,70) (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 Hovering over match highlights their position on the pitch for that game. Could have expandable boxes (+) for each games to appear in this window 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 (review) T: 90m G: 1 (43) (more stats) Lorem Ipsum vs Ebbsfleet (review) T: 80m (sub 80) G:2 (23,70) (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 Hovering over players presents some basic info, clicking on players changes central data. Drag and drop player name over to pitch. If already selected, their position flashes on pitch Or expanding box.(+)
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