Soccer Team training

Optimize training schedules with diminishing returns



Technologies Used


Project Team

Bryan Martin

This team is looking for

Product Manager Investor


In this project we examine training a team with a few assumptions. The team is made of 4 types of players and each player has 3 skills. The type of player learns equally, regardless of the individual, so we only need to track the skills across the team. This problem is difficult because each time you use a drill, it loses some effectiveness and becomes less useful for further skill enhancement. You must keep track of state across the run of the program of the number of times all drills are used and also check to see which drill gets you closest to your goal. In a counterintuitive solution, we have implemented a system to check how far you are on average, should you choose a particular drill, when compared to using a drill's peers, to see which will get you closer (on average) to your goal. At the end, we check to see which of the drills gives the best performance for your most highly rated skills, and give you the best drill that will still make your team meet the minimum skill level requirements. This optimizes time, but doesn't forget about the fact that you value some skills over others. This is not as perfect as the ideal solution, but prevents it from becoming wildly computation hungry, as this problem is factorial in nature.