Research
Analyzing and Visualizing Debate Data to Identify Trends in our Debate Team's Performance
I started this project to help our team improve our debate performance. We have won 11 out of the last 13 tournaments attended. However, the team has been having a hard time identifying week points, due to the absence of a tool that can help us analyze our performance. This tool will help us identify trends in our performance, and help us improve our performance in future tournaments. On top of that, we are seeing an improvement in our competitor's performance. This tool can help us identify who our biggest competitors are, and how we can improve our performance to beat them.
Tools Used
Goal
Identify trends in our debate performance
Scraped all tournaments UCSD attended this year from ForensicsTournament.net using Cheerio and Axios in Node.js. Parsed the HTML data to extract key details such as tournament name, date, location, and results. Stored the cleaned data in a Supabase database for seamless access and further analysis.
Leveraged SQL queries to organize the data by tournament name, date, and outcomes. Calculated overall win rates per tournament and broke down individual performance metrics to uncover trends and insights.
Built a React application to create interactive visualizations using charts and graphs. Displayed metrics such as win rates and individual performance for each tournament, making it easy to track progress and identify trends in our debate performance.
The database is organized into six tables to efficiently store and manage the data extracted from ForensicsTournament.
Table Name | Purpose | Key Fields |
---|---|---|
Debate | Stores information about debate rounds. | id, round_id, aff_participant_id, neg_participant_id, winner_participant_id |
Entries | Links participants to their respective debate rounds. | id, round_id, participant_id |
Events | Contains details about each tournament event and its type. | id, tournament_id, name, type, unique_event_id |
Member | Stores information about participants and their schools for all tournaments. | id, name, school, is_team |
Participants | Links participants to their respective events. | id, event_id, member_id |
Rounds | Contains information about each debate round for every event. | id, event_id, type, round |
Tournaments | Stores details about each tournament. | id, name, url, start_date, end_date, scraped |
Unique Events | Contains unique event IDs for all tournaments. | id, name |
The Debate Analysis Tool has provided valuable insights into our team's performance. While we have only been using the tool for a few months, we have already identified several trends that have helped us improve our performance. For example, we discovered that our biggest competitor has a higher average win rate than us. This can help us, especially for our student coaches, to focus on specific areas of improvement to beat them in future tournaments. Additionally, the individual performance metrics have helped us identify our strongest and weakest debaters, allowing us to tailor our training sessions to address their needs.