MEETPLANNER DESIGN DOCUMENT IDENTIFICATION OVERVIEW. Project Name: MeetPlanner. Project Manager: Peter Grabowski

Similar documents
RUNNING A MEET WITH HY-TEK MEET MANAGER

7th Annual National YMCA Virtual Invitational Swim Meet Swim Locally Compete Nationally

Swing Labs Training Guide

Coastal Carolina Aquatic Association Rules and Regulations Adopted 4/23/1997; modified 4/28/2016

Chase Start Protocol

How to run a club night

2017 SWIM BC SHORT COURSE AA CHAMPIONSHIPS

SWIM MEET MANAGER 5.0 NEW FEATURES


Another window pops up where you can input some parameters (called System Preferences) for your team as shown

Edmonton Masters Swim Club Twas The Month Before Christmas II

CALIFORNIA STATE GAMES SWIMMING JULY 16, 2016

The Swift Current Barracudas Swim Club Presents the. Chinook Invitational Meet 2018 SANCTION # 21624

2018 SWIM BC TIER I - WINTER CHAMPIONSHIPS

NVSL Divisional Relay Carnival procedures using Hy-Tek

The South Carolina Independent School Association 2014 State Swimming Championships

2016 South Texas Short Course B Championships. Meet Information Date posted: 11/15/15 Revised 11/21/15

Sanction Requirements and Considerations

MID-PENN SWIM LEAGUE RULES AND REGULATIONS REVISED 2016

ENHANCED PARKWAY STUDY: PHASE 2 CONTINUOUS FLOW INTERSECTIONS. Final Report

Swim Search: An Online Sports Management Information Retrieval System

Memo. Pat Hogan, USA Swimming Club Development Managing Director NEW MEMBERSHIP CATEGORY RECOMMENDATIONS

2018 ARPA State Swimming & Diving Championships July 26 thru 28, 2018

Division Data Coordinator Tasks

RUNNING MEET MANAGER IN SUPPORT OF MEETS (2016) Greg Wright(6/3/16) First, YOU DO NOT NEED TO DO THIS UNLESS YOU ARE THE HOME TEAM

GHSA Swimming/Diving POP School User s Guide

[CROSS COUNTRY SCORING]

MEET MANAGER TIME TRIAL GUIDE

[CROSS COUNTRY SCORING]

Boise YMCA Swim Team Spring Fling Invitational WEST FAMILY YMCA/BOISE CITY AQUATIC CENTER May 20, 21 & 22, 2011

2016 LOUISIANA LONG COURSE STATE SWIMMING CHAMPIONSHIPS

Location: Facility: Meet Format:

FireWorks NFIRS BI User Manual

RULES SWIMMING A.C.T. INC

The following steps take you through creating a hytek database for a new season May 1 st to April 30 th.

2016 SWIM BC AAA LONG COURSE CHAMPIONSHIPS JULY 6-10, 2016 VICTORIA, BC

Software for electronic scorekeeping of volleyball matches, developed and distributed by:

2017 SWIM BC LONG COURSE AAA AGE GROUP CHAMPIONSHIPS

Microsoft Windows Software Manual for FITstep Stream Version 4

Spacecraft Simulation Tool. Debbie Clancy JHU/APL

2019 North Country League Club Championships Gloversville Middle School, Gloversville, NY- February 9, 2019

BENNETT CUP November 9-11, 2018 SAANICH COMMONWEALTH PLACE

[XACT INTEGRATION] The Race Director. Xact Integration

CS 221 PROJECT FINAL

USA Jump Rope Tournament Software User Guide 2014 Edition

Golden Plains Invitational May 13 - May 15, 2016 Hosted By Manitoba Marlins Sanctioned By Swim Manitoba

DATES OF MEET: February 17-19, 2017 OME will close Tuesday February 7, 2017 at 11:59pm CST

Diver Training Options

McKean High School 310 McKennans Church Road Wilmington, DE Day of meet ONLY emergency phone #

Unchained Malady A Tangle of Times

Analysis of recent swim performances at the 2013 FINA World Championship: Counsilman Center, Dept. Kinesiology, Indiana University

HRA MASTERS PRESENTS COLORADO SWIMMING SUMMER FINALE July 31, & August 1, 2009

1. SYSTEM SETUP AND START TOURNAMENT... 8

Minnesota Regional Championships Rochester Swim Club Orcas

ISI SANCTION: IA Held under the sanction of USA Swimming and Iowa Swimming, Inc. (ISI).

53RD ANNUAL WASHINGTON METROPOLITAN INTERSCHOLASTIC SWIMMING & DIVING CHAMPIONSHIPS

River Cities Aquatics STARS OF TOMORROW INVITATIONAL July 8, 9, & 10, 2016 Clinton, Iowa (Open Invitational)

Observed Swims at High School Meets

East Bay Swim League. Training Guide and Reporting Manual. For EBSL Team Computer Directors Version 1.2

The Manitoba Marlins Swim Club

BENNETT CUP November 10-12, 2017 SAANICH COMMONWEALTH PLACE Elk Lake Drive Victoria, BC V8Z 3J2 Sanctioned by Swim BC: #21620

PARKLAND AQUATIC CLUB Fall Harvest A/BB/C Invitational Meet November4-6, 2011

201 8 Maryland AAU District Swimming Championships

2018 CENTENNIAL BANK SWIMMING & DIVING CHAMPIONSHIPS

Integrated Sports Systems (ISS) Inc. Meet Management Suite

BENNETT CUP November 13-15, 2015 SAANICH COMMONWEALTH PLACE

National Hockey League : Engaging Fans and Retaining Site Visitors 45% Longer by Partnering with SAP Hybris

Software Manual for FITstep Pro Version 2

The Swift Current Barracudas Swim Club Presents the. Chinook Invitational Meet 2017 SANCTION # 20516

2018 LOUISIANA 13 and UP SHORT COURSE STATE SWIMMING CHAMPIONSHIPS

2017 Spring Sports Information Updated

Western Central Pennsylvania Swim League League Bylaws

Held under sanction of Pacific Northwest Swimming, Inc., and USA Swimming, Inc. SCHEDULES SESSION 1 SESSION 2 SESSION 3 SESSION 4

The Scrum Guide. The Definitive Guide to Scrum: The Rules of the Game. October Developed and sustained by Ken Schwaber and Jeff Sutherland

Vorgee Endurance 1000

FACILITY: 25 yard, 6-lane pool with non-turbulent lane lines. Automatic Colorado touch pad system with 6-line electric scoreboard.

IDeA Competition Report. Electronic Swimming Coach (ESC) for. Athletes who are Visually Impaired

SCHENECTADY-SARATOGA SWIM CLUB TRICK OR TREAT MEET SATURDAY & SUNDAY, OCTOBER 21-22, 2017 SHENENDEHOWA AQUATICS CENTER

REGION 1 SHORT COURSE SWIMMING CHAMPIONSHIP FRIDAY FEBRUARY 14 THROUGH MONDAY FEBRUARY 17, 2014 UNION COLLEGE, SCHENECTADY, NY

Male Events Event No. Female Events

Online Companion to Using Simulation to Help Manage the Pace of Play in Golf

MEET SANCTIONING REFERENCE BOOKLET

Where Friends Meet Swim Competition April 30 May 1, 2016

Modeler Wizard User Guide November 2011

2018 STARFISH TROPHY INVITATIONAL JANUARY 5 th, 6 th, & 7 th 2018 Robison Pool, RPI, Troy, NY

Colorado State Age Group Championships - (SC) (Lower Division 10&U/11-12/13-14) DATE: March 7, 8, 9, 2014

Mac Software Manual for FITstep Pro Version 2

Delaware Swim Team Presents their PIRATE PLUNGE A/BB/C Meet January 4-5, 2014

Delta Aquatics Chase the Dream Invitational February 16-17, 2019 Sanction Number

Huntsville Swim Association DATES OF MEET: July 20-23, 2017 OME will close Tuesday July 11, 2017 at 11:59pm CST

MISSOURI VALLEY SWIMMING DISTRICT CHAMPIONSHIPS WEST!! July 17-19, 2015 Sanction No. MV-15

Meter Data Distribution Market Trials

2012 CAQ 12 & Under SCM Invitational Hosted by CHARGER AQUATICS, ALBUQUERQUE, NEW MEXICO May 12-13, 2012

Fastball Baseball Manager 2.5 for Joomla 2.5x

Last revised April 20th, 2010

2016 Eastern Zone Speedo Short Course Super Sectionals Hosted by The Syracuse Chargers. Meet Sanction #NI Time Trials Sanction #NI

AAA State Championship Swim Meet University of South Carolina Sol Blatt Natatorium, 1300 Wheat Street, Columbia SC

2013 NEPTUNE S CHALLENGE Atlantic City Aquatic Club A/BB/C/Mini

Sunbury YMCA Dolphins. ALEX MOSER MEMORIAL SWIM MEET Go Big Or Go Home!

Competition Policy Regional and Club Meets

Transcription:

MEETPLANNER DESIGN DOCUMENT IDENTIFICATION Project Name: MeetPlanner Project Manager: Peter Grabowski OVERVIEW Swim coaches are often faced with a dilemma while planning swim meets. On the one hand, they want to maximize their chances of winning the meet, but they also want to ensure that all swimmers have an opportunity to compete. Trying to find the perfect balance between the two can be tedious and time- consuming C many coaches spend as much as twenty hours per week writing meet sheets, on top of their normal coaching schedules. Swimming is an inherently numeric sport. Each swimmer s performance can be distilled into their times for each event. Similarly, meet planning can be simplified into an algorithmic attempt to maximize a team s score while satisfying certain constraints. However, the software packages currently in wide use (namely HyTek s TeamManager) offer little to no algorithmic assistance to coaches for planning meets. MeetPlanner will make the meet planning process much simpler by supplementing the functionality offered by TeamManager. It will eliminate the repetitive aspects of planning a swim meet, while still allowing coaches to retain fine- tuned control over their meet sheets. Given a team s roster, the coach s preferred strategy, and (optional) information about the opposing team s swimmers, MeetPlanner will create an optimized, customized meet sheet, in a format byte- compatible with TeamManager. This will help coaches plan meets in significantly less time C in some cases, up to fifteen times faster C allowing coaches to spend less time planning and more time coaching.

FUNCTIONALITY REGISTRATION Coaches will begin by creating an account tied with their team. Next, they ll upload their TeamManager database and set certain parameters about their league C which events are available, whether it s a high school, college, or age- group league, etc. For each set of parameters, the coach will be able to select from a list of detailed options or specify their own custom settings. Registration will only occur once, although the initial parameters set will be modifiable. MEET PLANNING Coaches will begin by setting certain parameters unique to each meet C whether the pool is meters or yards, short course or long course, how many lanes are in the pool, how many teams will be competing in the meet, etc. Next, coaches will be given the opportunity to make sure their team roster is up to date. Coaches will then specify the strategy they want to use C if it s a friendly meet, they can maximize the number of events each member of the team is entered in; if it s a competitive meet, every point counts (or perhaps some strategy in between). Coaches will also be given the opportunity to input any entries they are sure of C whether a certain swimmer will definitely (or definitely not) swim a particular event. Coaches will then input any information they have about the other team s roster. This allows our algorithm to tweak its optimal meet sheet based on predictions of the other team s performance. The program will work fine without any information about the other team, but performance will increase when more information is provided. The optimization algorithm will be able to account for any number of opposing teams, whether it s a dual meet or league championships. REFINING THE MEET SHEET The site will then suggest an optimal meet sheet to the coach. The coach will be able to tweak the meet sheet within the website. While refining the meet sheet, the coach will be presented with an intuitive, drag- and- drop interface, visually based on a pool with lanes. The coach will also be given to the option to sort remaining eligible swimmers in a variety of ways and a representation of how the coach s modifications will affect the predicted final score. For example, if the coach were planning a very competitive meet, s/he might choose to sort swimmers eligible for a given event by their times for that event, fastest swimmer first. Similarly, if a coach were planning a less competitive meet, they might want to make sure that each swimmer has the same number of events or give swimmers a chance to try new events. In this situation, the coach could sort remaining eligible swimmers by their total number of events in the meet, or the last time they swam that event in a previous meet. DELIVERY OF RESULTS After the coach is satisfied, the site will output the meet sheet in a format that is byte compatible with MeetManager, to facilitate sharing with other teams. The coach will also have the option to export the meet sheet as a.pdf, making printing easy. Overall, we expect that the meet planning process will take something on the order of a half an hour C a sharp reduction from manual planning, which might take upwards of fifteen hours per meet.

DESIGN BASICS Our web interface will be implemented in Python and Django, and the database will be implemented with MySQL. We are considering using GitHub or SVN for version control, but are currently using DropBox as a simple starting point. Initially, we plan to work with everything hosted locally with Apache, but are willing to consider renting a server from a hosting company. FRONT END We plan on using Django as a framework. We will begin with a relatively simple drop- down menu interface for interacting with the meet sheet, but will aim for a more sophisticated method as time allows. In an ideal interface, for example, coaches would be able to drag swimmers in and out of events, tweaking the meet sheet in real time. This will require that our UI handle things rapidly, so JavaScript/Ajax may be a good choice. DATABASE We plan one using MySQL as our database, but Django should insulate us from that decision to a large degree. Each coach will have a unique id (probably in a Coaches table). Each swimmer will be linked to the ID of their coach, as well as the ID of the coach that entered data on the particular entry. This will generally refer to the same coach, but they may be different when two coaches using MeetPlanner enter data on each other s teams (to prepare for a meet against one another). Swimmers times will be modeled as a Kalman filter, which will allow us to abstract expected times as a normal distribution for each event and each swimmer as a mean and variance for each event. For each swimmer, we will store the gender and birthday, as historical data on that swimmer, as well as an up- to- date prediction for each event the swimmer performs in (the mean and deviation output by the Kalman filter). This data will all be entered by the coach, or converted from an uploaded TeamManager database (which is just a Microsoft Access database). PROCESSING We will have two general approaches to optimization: strategies for one opposing team, and a strategy for N- opposing teams. For the one- team optimization, we will distribute talent intelligently, putting swimmers in the top X percentile of a given event into that event, and assign less talented swimmers to events that they are experienced with competing. Optionally, coaches may include data on the opposing team, in which our resulting strategy will be more finely tuned to a given meet. For N- Teams, we will initially use a combinatoric brute force method, and will consider more advanced methods such as min- flow/max- cut if better methods are deemed necessary. If data is provided, we will first run our one- team optimization on the opposing team to guess their lineup, and will then run a two- team optimization against that lineup to generate the best meet sheet for our team. If we don t have the other team s data, we will just use the one- team optimization for our team to generate the meet sheet. Each event will be stored as a tuple, containing the distance and stroke, age of the swimmers eligible for the event, and gender of the swimmer, like ( 50 free, 12-14, male ). Each lineup will be stored as a dictionary with the key as a tuple like the above, with a value as a tuple of unique keys for the simmers in the event. A meet can be fully represented with two lineups (with initially blank values for each event). We will initially generate a lineup using the above method, return it using the above representation, and the interface will display the results to the coach. The coach can then make changes in the interface, and

the lineup can be reevaluated to see how the predicted odds of winning have changed (if this is a meet where we have data on the opposing team). The coach can also change some parameters for the meet and regenerate a new lineup. MILESTONES Set up version control C end of Spring break Get a working MySQL setup going C by 3/30/12 Implement Kalman Filter C by 4/6/12 Implement Swimmer class C by 4/6/12 Implement Single- Team Optimization strategy C by 4/16/12 Implement Two- Team Optimization strategy C by 4/16/12 Get above working in Django C by 4/20/12 Django views for account creation, etc. C by 4/20/12 Build & expand frontend for optimization C by 4/27/12 Develop reach features C remaining time Export Import Swimmer pages/accounts Come up with a catchier name C as soon as possible REACH FEATURES A web interface for team members. Here, they might be able to indicate how much they are inclined to compete in certain upcoming events, and maybe to view and set their past times. A quick way of doing the former would be to let the coach make a random link he can send to his team, and they can fill it out in a way very similar to Doodle. Or, if time permits, we can make a full implementation with actual swimmer accounts Possible analytics to be run once we have a lot of data Optimization for 3- team or more meets Generalize to other time- based sports Include option to score diving Include relays and appropriate meet- sheet optimizations

RISKS AND OPEN ISSUES Some group members have limited experience with Python Only one member has experience with Django Limited experience with web development Compatibility with HyTek software could be more complicated than we are anticipating Depending on the speed of our algorithms, we may not be able to allow for the user experience we are aiming to create Potential browser compatibility problems