Feasibility studyFunctional requirementsProcesses and Calculations
MyFC Team Selector
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 quicklyconditional 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 7 8 9 10 11
Chris McPheeNeil BarrettMark RickettsLiam ColemanGeorge PurcellLuke MooreJohn AkindeSam MottMichael BostwickRonnie BullRob French
Lance CroninPeter HawkinsSacha OpinelGary MacDonaldJames SmithPaul McCarthy (captain)Danny SlatterStacy LongRaphael NadeChukki EribenneCharley 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
1 2 3 4 5 6 7 8 9 10 11Cronin 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
1Ricketts
2Hawkins
3 4Opinel
5
6 7 8Charles
9 10
11Bostwick
12 13McPhee
14 15Purcell
16 17 18 19Barrett
20
21 22Long
23 24Moore
25
26Cronin
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”
1Ricketts7
5%
2Hawkins
3 4Opinel
75%
5 Opinel
25%
6 Ricketts
25%
7 8Charles
9 10
11Bostwick
12 13McPhee
14 15Purcell
16 17 18 19Barrett
20
21Long 40%
22Long 60%
23 24Moore
25
26Cronin
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
1Ricketts7
5%
2Hawkins
3Long
1%
4Opinel
75%
5 Opinel
25%
6 Ricketts
25%
7 8Charles
9 10
11Bostwick
12 13McPhee
14 15Purcell
16 17 18 19Barrett
20
21Long 39%
22Long 60%
23 24Moore
25
26Cronin
Example 0.4More Cells = more info
Ricketts
75%
Hawkins
50%
Hawkins
40%
Ricketts
25%
Hawkins
10%
Charles
10%
Opinel
20%
Opinel
60%
Charles
60%
Charles
30%
Opinel
20%
Bostwick
20%
Bostwick
60%
McPhee
20%
Bostwick
20%
McPhee
15%
McPhee
65%
Barrett
50%
Purcell
30%
Purcell
50%
Barrett
25%
Barrett
25%
Purcell
20%
Long
5%
Long
20%
Moore
5%
Long
25%
Long
50%
Moore
60%
Moore
35%
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
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
1. Formation is selected from drop down box
2. Appropriate “frame” is overlaid
3. 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
What about formation?
1
2 3 4
5 7 8 96
10 11
Example 0.8Different Formations, Equivalent positions
1
2 3 4
5 7 8 96
10 11
1
2 3 4
5 8
7
96
10 11
1 = 1
2 = 2
4 = 4
5 = 5
9 = 9
10 = 10
11 = 11
4-4-2
25% of selections
3-5-2
75% of selections
Example 0.8Different Formations, Different positionsWhere positioning changes significantly, we can apply weighting
1
2 3 4
5 7 8 96
10 11
1
2 3 4
5 8
7
96
10 11
3 = 0.75 x 3
7 = 0.25 x 7
6 = 0.9 x 6
8 = 0.9 x 8
4-4-2 (b)
25% of selections
3-5-2
75% of selections
This reflects the confidence that the “translated” position is correctE.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+2 3 4
5 7 8 96
10 11
1
•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
Version 2.0+2 3
5 7 8 96
10 11
1
• Opinel
4Or using example 0.7a (drawn position)
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 considerAssuming 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 3 4
5 7 8 96
10 11
1
2 3 4
5 8
7
96
10 11
• Opinel
1
2 3 4
5 8
7
96
10 11
1
2 3 4
5 7 8 96
10 11
• Opinel• Bull• Bull
• Hearn
• Hearn
This is why the algorithm needs to be developed through examples 0.3-0.7
Example interfacePlayer List(click for more info)
Lance CroninPeter HawkinsSacha OpinelGary MacDonaldJames SmithPaul McCarthy (c)Danny SlatterStacy LongRaphael NadeChukki EribenneCharley HearnChris McPheeNeil BarrettMark RickettsLiam ColemanGeorge PurcellLuke MooreJohn AkindeSam MottMichael BostwickRonnie BullRob French
Match Info
Lorem Ipsum vs Ebbsfleet (BSP)
FA Trophy 25/9/08 3pm (preview)
Stacy LongLorem 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 BlahBlah BlahBlah Blah Blah Blah Blah Blah Blah BlahBlah BlahBlah
BlahBlah BlahBlah BlahBlah Blah Blah Blah Blah Blah Blah Blah
Example interfacePlayer List(click for more info)
Lance CroninPeter HawkinsSacha OpinelGary MacDonaldJames SmithPaul McCarthy (c)Danny SlatterStacy LongRaphael NadeChukki EribenneCharley HearnChris McPheeNeil BarrettMark RickettsLiam ColemanGeorge PurcellLuke MooreJohn AkindeSam MottMichael BostwickRonnie BullRob French
Match Info
Lorem Ipsum vs Ebbsfleet (BSP)
FA Trophy 25/9/08 3pm (preview)
Stacy LongLorem 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 BlahBlah BlahBlah Blah Blah Blah Blah Blah Blah BlahBlah BlahBlah
BlahBlah BlahBlah 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.(+)
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