Skip to content

TeoMeWhy/tmw-dota

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Téo Me Why - Dota 2

Projeto de coleta, armazenamento, processamento e analise de dados de Dota 2 utilizando a API OpenDota como fonte principal.

Este repositório documenta a arquitetura proposta para construir um pipeline de dados orientado a partidas, com foco em:

  • coleta automatizada de dados de partidas, jogadores e campeonatos;
  • armazenamento operacional em SGDB-SQL para metadados e consultas rapidas;
  • persistencia de dados detalhados em um bucket S3 na AWS;
  • leitura posterior desses dados pela Nekt como ambiente analítico;
  • desenvolvimento de analises exploratorias, feature store e modelos de machine learning;

O objetivo final e transformar dados brutos do ecossistema competitivo e público de Dota 2 em uma base confiavel para exploracao analitica e modelos preditivos.

Objetivos

  • Construir uma base histórica de partidas profissionais de Dota 2 com confiabilidade;
  • Permitir ingestao incremental e reprocessamento controlado;
  • Estruturar uma camada simples de metadados em SQL;
  • Persistir dados ricos de cada partida em S3 para leitura pela Nekt;
  • Criar datasets analiticos para exploracao, BI e ML;
  • Evoluir para predição de resultados, desempenho em campeonatos e dinamica de rotacao de jogadores;

Casos de Uso

O ecossistema de dados deste projeto pode suportar, entre outros, os seguintes casos:

  • análise de win rate por jogador, herói, equipe, patch, etc;
  • avaliação de desempenho por jogador e equipe;
  • monitoramento de tendencias por campeonato;
  • estudo de drafts e combinações de heróis;
  • predição do vencedor de uma partida antes do início;
  • predição do desempenho de uma equipe em um torneio;
  • identificacao de mudancas de roster com maior impacto competitivo;
  • construcao de indicadores de sinergia entre jogadores;

Roadmap Sugerido

As fases abaixo organizam a evolucao do projeto e servem como indice para as secoes seguintes:

Fase Objetivo Principais frentes
1. Fundacao estabelecer a base operacional do projeto e a primeira coleta confiavel configurar projeto Python;
criar cliente da OpenDota;
definir schema SQLite;
criar rotina de coleta incremental
2. Data Lake separar armazenamento operacional de armazenamento detalhado e permitir reprocessamento persistir payload bruto no S3;
padronizar paths e particionamento;
adicionar transformacao para dados bronze
3. Analitica transformar dados coletados em ativos analiticos reutilizaveis produzir datasets para exploracao;
integrar leitura pela Nekt;
criar indicadores de performance
4. ML evoluir da analise descritiva para predição e apoio a decisao construir pipeline de features;
treinar baseline de predição de partidas;
evoluir para modelos de campeonato e rotacao

Trilha de Machine Learning

O projeto pode evoluir em camadas de maturidade.

Fase Objetivo
predição de resultado de partida prever vitoria ou derrota antes do início da partida ou a partir do draft
predição de desempenho em campeonatos estimar classificacao, avancos em brackets ou expectativa de vitorias
Análise de rotacao de jogadores entender impacto de entrada e saida de jogadores em uma equipe

Limitacoes e Cuidados

  • a OpenDota pode ter limites de taxa e cobertura variavel conforme o endpoint;
  • nem toda partida possui o mesmo nivel de detalhamento disponivel;
  • dados competitivos mudam rápido com patches e alteracoes de roster;
  • modelos podem degradar com o tempo e exigem retreino recorrente;

About

Projeto complete de coleta e processamento de dados de Dota2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages