[go: up one dir, main page]

0% found this document useful (0 votes)
277 views14 pages

Game Analytics - Unlocking Tennis Data With SportRadar API

The project titled 'Game Analytics: Unlocking Tennis Data with SportRadar API' focuses on developing a solution for managing and analyzing sports competition data through API integration and SQL database management. It aims to provide insights into tournaments and player performance while enabling users to explore competition hierarchies and trends. The final deliverables include a Streamlit application for data visualization, a populated SQL database, and comprehensive documentation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
277 views14 pages

Game Analytics - Unlocking Tennis Data With SportRadar API

The project titled 'Game Analytics: Unlocking Tennis Data with SportRadar API' focuses on developing a solution for managing and analyzing sports competition data through API integration and SQL database management. It aims to provide insights into tournaments and player performance while enabling users to explore competition hierarchies and trends. The final deliverables include a Streamlit application for data visualization, a populated SQL database, and comprehensive documentation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Project Title

Game Analytics: Unlocking Tennis


Data with SportRadar API

Skills take away Python scripting, Data Collection


From This Project using API integration, Data
Management using SQL, Streamlit
Domain
Sports/Data Analytics

Problem Statement:
The SportRadar Event Explorer project aims to develop a comprehensive solution
for managing, visualizing, and analyzing sports competition data extracted from the
Sportradar API. The application will parse JSON data, store structured information in a
relational database, and provide intuitive insights into tournaments, competition
hierarchies, and event details. This project is designed to assist sports enthusiasts,
analysts, and organizations in understanding competition structures and trends while
exploring detailed event-specific information interactively.

Business Use Cases:


1.​ Event Exploration: Enable users to navigate through competition hierarchies
(e.g., ATP Vienna events).
2.​ Trend Analysis: Visualize the distribution of events by type, gender, and
competition level.
3.​ Performance Insights: Analyze player participation across singles and
doubles events.
4.​ Decision Support: Offer data-driven insights to event organizers or sports
bodies for resource allocation.
Approach:
Data Extraction

●​ Parse and extract data from Sportradar JSON responses.(using API)


●​ Transform nested JSON structures into a flat relational schema for analysis.

Data Storage:

●​ Create a SQL database with well-designed schema (e.g., defining appropriate


data types and primary keys). The data to be collected is provided below.

Data Collection:

1)​ COLLECT THE COMPETITION DATA FROM THE API ENDPOINTS-

https://developer.sportradar.com/tennis/reference/competitions

Table Structure

1. Categories Table

This table stores information about categories.

Column Data Type Constraints Description


Name

category_id VARCHAR(50) PRIMARY Unique ID for the


KEY category

category_na VARCHAR(100) NOT NULL Name of the category


me

2. Competitions Table

This table stores information about competitions and links to the Categories table.
Column Name Data Type Constraints Description

competition VARCHAR(50) PRIMARY KEY Unique ID for


_id the competition

competition VARCHAR(10 NOT NULL Name of the


_name 0) competition

parent_id VARCHAR(50) NULLABLE Parent


competition ID

type VARCHAR(20) NOT NULL Type of


competition
(e.g., doubles)

gender VARCHAR(10) NOT NULL Gender of


participants
(e.g., men)

category_id VARCHAR(50) FOREIGN KEY Links to the


REFERENCES category table
Categories(category_id
)

Data Analysis:

Execute the Following SQL queries;

1)​ List all competitions along with their category name


2)​ Count the number of competitions in each category
3)​ Find all competitions of type 'doubles'
4)​ Get competitions that belong to a specific category (e.g., ITF Men)
5)​ Identify parent competitions and their sub-competitions
6)​ Analyze the distribution of competition types by category
7)​ List all competitions with no parent (top-level competitions)

2) COLLECT THE COMPLEXES DATA FROM THE API ENDPOINTS-

https://developer.sportradar.com/tennis/reference/complexes

Table Structure

1. Complexes Table

This table stores information about sports complexes.

Column Data Type Constraints Description


Name

complex_id VARCHAR(50) PRIMARY Unique ID for the


KEY complex

complex_na VARCHAR(100 NOT NULL Name of the sports


me ) complex

2. Venues Table

This table stores information about venues linked to a complex.

Column Data Type Constraints Description


Name

venue_id VARCHAR(50) PRIMARY KEY Unique ID for the


venue
venue_nam VARCHAR(10 NOT NULL Name of the
e 0) venue

city_name VARCHAR(10 NOT NULL Name of the city


0)

country_n VARCHAR(10 NOT NULL Name of the


ame 0) country

country_c CHAR(3) NOT NULL ISO country


ode code

timezone VARCHAR(10 NOT NULL Timezone of the


0) venue

complex_i VARCHAR(50) FOREIGN KEY REFERENCES Links to the


d Complexes(complex_id) complexes table

Execute the following SQL queries:

1)​ List all venues along with their associated complex name
2)​ Count the number of venues in each complex
3)​ Get details of venues in a specific country (e.g., Chile)
4)​ Identify all venues and their timezones
5)​ Find complexes that have more than one venue
6)​ List venues grouped by country
7)​ Find all venues for a specific complex (e.g., Nacional)
3) COLLECT THE DOUBLES COMPETITOR RANKINGS DATA FROM THE API
ENDPOINTS-

https://developer.sportradar.com/tennis/reference/doubles-competitor-rankings

1. Competitor_Rankings Table

This table will store ranking-related information about competitors.

Column Name Data Type Constraints Description

rank_id INT PRIMARY KEY Unique ID for


AUTO_INCREMENT each ranking
record

rank INT NOT NULL Rank of the


competitor

movement INT NOT NULL Rank


movement
compared to
the previous
week

points INT NOT NULL Total ranking


points

competitions_ INT NOT NULL Number of


played competitions
played
competitor_id VARCHAR(5 FOREIGN KEY Links to
0) REFERENCES competitor
Competitors(competito details
r_id)

2. Competitors Table

This table will store detailed information about each competitor.

Column Data Type Constraints Description


Name

competito VARCHAR(50) PRIMARY Unique ID for each competitor


r_id KEY

name VARCHAR(10 NOT NULL Name of the competitor


0)

country VARCHAR(10 NOT NULL Competitor's country


0)

country_c CHAR(3) NOT NULL ISO country code


ode

abbreviat VARCHAR(10) NOT NULL Shortened name/abbreviation of


ion competitor

Execute the following SQL queries:

1)​ Get all competitors with their rank and points.


2)​ Find competitors ranked in the top 5
3)​ List competitors with no rank movement (stable rank)
4)​ Get the total points of competitors from a specific country (e.g., Croatia)
5)​ Count the number of competitors per country
6)​ Find competitors with the highest points in the current week

Build a Streamlit Application:

●​ Connect the Streamlit app with the SQL database for real-time query execution.
●​ Display analysis results in the form of tables, charts, or dashboards within the
app.User Interface: Interactive dashboards with filters for competition types,
levels, and categories.

Suggested Features for the Application (Use your creativity)

1.​ Homepage Dashboard:


○​ Summary statistics like:
■​ Total number of competitors.
■​ Number of countries represented.
■​ Highest points scored by a competitor.
2.​ Search and Filter Competitors:
○​ Allow users to search for a competitor by name.
○​ Filter competitors by rank range, country, or points threshold.
3.​ Competitor Details Viewer:
○​ Display detailed information about a selected competitor, including:
■​ Rank, movement, competitions played, and country.
4.​ Country-Wise Analysis:
○​ List countries with the total number of competitors and their average
points.
5.​ Leaderboards:
○​ Show tables for:
■​ Top-ranked competitors.
■​ Competitors with the highest points.
Sample User Interface: (Streamlit)

Results:
The expected outcome is a fully functional web application capable of parsing
and visualizing sports event data. Users can navigate competition hierarchies, filter
data, and generate meaningful insights about sports events. This project will enhance
proficiency in working with APIs, databases, and visualization tools.

Skills Takeaway:
1.​ Data Extraction: API calls or web scraping.
2.​ SQL Database Management: Designing tables and schema.
3.​ Data Analysis: Writing SQL queries to derive insights.

Project Evaluation metrics:


1.​ Data Extraction Accuracy:Successful retrieval of the desired data from APIs
or sources without errors or missing values.
2.​ SQL Database Design:Proper structuring of tables with normalized data and
correct relationships between them.
3.​ Query Efficiency:Ability to write optimized SQL queries that retrieve relevant
insights quickly.
4.​ Streamlit Application Functionality:Smooth navigation and interactive
features for data display and analysis.
5.​ Project Completeness:End-to-end workflow execution from data extraction to
SQL storage and application using streamlit.
6.​ Documentation Quality:Clearly upload all files in github.
7.​ Presentation and Usability:An intuitive user interface with meaningful outputs
and actionable insights.
8.​ Error Handling:Ability to manage API rate limits, database constraints, or user
input errors effectively.
9.​ Innovation and Creativity:Unique implementation ideas, or insightful SQL
queries.

Technical Tags:
1.​ Languages: Python
2.​ Database: MySQL/PostgreSQL
3.​ Application: Streamlit
4.​ API Integration: Sportradar API

Project Deliverables:
1.​ SQL Database: Populated with structured sports event data from the
Sportradar API.
2.​ API Scripts: Automate data extraction and transform JSON into a relational
format.

3. Streamlit App: Interactive tool for exploring and visualizing competition data.

4. Documentation: Detailed report on workflow, schema design, challenges, and


insights.

** In github, upload all your code files. Also upload a document that contains all
the SQL queries.

Project Guidelines:
1.​ Coding Standards
○​ Use meaningful names: Variables, functions, and database tables should
have descriptive names.
○​ Follow PEP 8 (for Python): Maintain consistent formatting with proper
indentation and spacing.
○​ Modularize your code: Break your code into functions or classes to
enhance readability and reusability.
○​ Error handling: Implement try-except blocks for handling API errors and
SQL exceptions.
○​ Document your code: Include docstrings and comments to explain logic
and functions.
2.​ SQL Database Practices
○​ Normalize tables: Avoid redundancy and ensure efficient data storage.
○​ Use indexes: Optimize query performance with appropriate indexing.
○​ Follow naming conventions: Use consistent and descriptive names for
tables and fields.
3.​ Streamlit Application Development
○​ Interactive features: Ensure the UI is responsive, with interactive widgets
for filters.
○​ Minimalist design: Keep the layout simple for a smooth user experience.
○​ Performance optimization: Avoid loading all data at once—use
pagination or batch processing where possible.
4.​ General Best Practices
○​ Test frequently: Regularly test each component (e.g., API requests, SQL
queries, Streamlit app) during development.
○​ Backup your data: Maintain backups of your SQL database and code.
○​ Documentation: Provide a README file with setup instructions, project
objectives, and a demo walkthrough.

Reference:
**If you don’t know how to approach the project, kindly refer to the project
orientation recording provided in this table. (Available in English & Tamil)

Streamlit Doc https://docs.streamlit.io/library/api-reference

SportRadar API key


https://console.sportradar.com/signup

SAMPLE PROJECT FOR


REFERENCE(ENGLISH) Project Excellence Series: Guided Learning …
SAMPLE PROJECT FOR
REFERENCE(TAMIL) Project Excellence Series: Guided Learning …

Streamlit recording (Tamil) Special Session for STREAMLIT Tamil

Special session for STREAMLIT(11/08/2…


Streamlit recording (English)

Project Live Evaluation


Project Live Evaluation Metrics

Capstone Explanation Guideline


Capstone Explanation Guideline

How to Use GitHub.pptx


GitHub Reference

Project Orientation Session :Game Anal…


Project Orientation (English)

Project Orientation Session :Unlocking …


Project Orientation (Tamil)

Timeline:
The project must be completed and submitted within 7 days from the assigned date.

PROJECT DOUBT CLARIFICATION SESSION ( PROJECT AND CLASS DOUBTS)

About Session: The Project Doubt Clarification Session is a helpful resource for resolving
questions and concerns about projects and class topics. It provides support in understanding
project requirements, addressing code issues, and clarifying class concepts. The session aims to
enhance comprehension and provide guidance to overcome challenges effectively.
Note: Book the slot at least before 12:00 Pm on the same day

Timing: Monday to Saturday (4:00PM to 5:00PM)

Booking link :https://forms.gle/XC553oSbMJ2Gcfug9


LIVE EVALUATION SESSION (CAPSTONE AND FINAL PROJECT)

About Session: The Live Evaluation Session for Capstone and Final Projects allows
participants to showcase their projects and receive real-time feedback for improvement. It
assesses project quality and provides an opportunity for discussion and evaluation.
Note: This form will Open on Saturday and Sunday Only on Every Week

Timing: Monday-Saturday (5:30 PM to 6:30 PM)

Booking link : https://forms.gle/1m2Gsro41fLtZurRA

You might also like