Sportware

Recursos

Documentación

Guía completa de la plataforma Sportware para clubes, staff y jugadores.

Ranking de Jugadores

Sportware tiene dos sistemas de ranking complementarios para medir el nivel y rendimiento de los jugadores. Actualmente ambos son internos (visibles solo en el panel de administración), pero están diseñados para ser publicados en el futuro.


1. Ranking Interno de Sportware (ranking_score)

Puntuación individual de cada jugador calculada a partir de sus resultados en partidos. Se almacena en users.ranking_score como decimal (precisión 4, escala 2).

Escala: 1.00 (mejor nivel) → 9.99 (nivel más bajo). null si el jugador no tiene partidos terminados.

Fórmula

Para cada partido jugado se calcula un result_score ponderado:

result_score = 0.60 × (ganó partido: 1 / perdió: 0)
             + 0.25 × (sets ganados / sets totales)
             + 0.15 × (juegos ganados / juegos totales)

Cada partido tiene un category_weight según el nivel de la categoría, con decaimiento exponencial (las categorías de mayor nivel valen el doble que las del nivel siguiente):

category_weight = 2.0 ^ (1.0 − nivel_equivalente)

El ranking_score final es el promedio ponderado de todos los result_score, mapeado a la escala 1.00–9.99:

raw_score = Σ(category_weight × result_score) / Σ(category_weight)
ranking_score = 1.0 + (1.0 − raw_score) × 8.99

Niveles equivalentes

Nivel de categoría Valor numérico
first 1.0
second 2.0
third 3.0
fourth 4.0
intermediate 4.5
fifth 5.0
sum_5 3.0
sum_7 4.0
sum_9 5.0
sixth 6.0
sum_11 6.0
seventh 7.0
sum_13 7.0
eighth 8.0
ninth 9.0

Las categorías femeninas reciben una penalización de +1.5 niveles sobre el nivel base de la categoría equivalente masculina.

Cuándo se recalcula

PlayerRankingService.recalculate_for_tournament(tournament) recalcula el ranking_score de todos los jugadores que participaron en un torneo específico. Solo se consideran partidos terminados con ganador registrado.

Visibilidad actual

El ranking_score se muestra en el detalle de usuario del panel de administración (/admin/users/:id). No es público aún.


2. Ranking de Temporada (puntos por sistemas externos)

Sistema de puntos acumulados por temporada basado en los sistemas de ranking de organizaciones pádel reconocidas. Permite a los clubes gestionar sus torneos con los criterios de puntuación de torneos oficiales.

Cómo funciona

  1. Al crear o editar un torneo, el staff selecciona un sistema de ranking opcional (tournament.ranking_system).
  2. Cuando todos los partidos de una categoría terminan, el admin registra los resultados finales por fase (POST /admin/tournaments/:id/categories/:id/record_player_phases).
  3. El sistema asigna automáticamente puntos a cada jugador según su fase alcanzada y el sistema de ranking del torneo. Los puntos se guardan en tournament_category_player_phases.ranking_points.
  4. El ranking acumulado de una temporada se consulta en GET /admin/seasons/:id/ranking, donde se puede filtrar por torneo específico o ver el acumulado total.

Sistemas de ranking disponibles

AAP Uruguay

Fase 100 pts 200 pts
Campeón 100 200
Final 80 160
Semifinal 60 120
Cuartos 40 80
Round of 16 30 60
Fase de grupos 25 50

FIP Tour

Fase Platinum Gold Silver Bronze Finals
Campeón 300 150 80 40 225
Final 180 90 45 22 135
Semifinal 90 50 25 14 70
Cuartos 50 25 14 8 40
Round of 16 25 14 8 5 20
Round of 32 14 8 5 3

Premier Padel

Fase Major P1 P2 Finals
Campeón 2000 1000 600 1500
Final 1200 600 360 900
3er puesto 600
4o puesto 400
Semifinal 720 360 180
Cuartos 360 180 90 270
Round of 16 180 90 45
Round of 32 90 45 22
Round of 64 35 22

International Padel Federation — FIP World Cup Pairs

Fase Puntos
Campeón 2000
Final 1200
Semifinal 720
Cuartos 360
Round of 16 180
Round of 32 90
Round of 64 35

Vista de ranking de temporada (admin)

La tabla muestra, por cada jugador con puntos registrados:

Columna Descripción
Posición Orden por puntos totales descendente
Jugador Nombre del jugador
Puntos Suma de ranking_points de todas las categorías
Torneos Número de torneos distintos en los que participó
Resultados Número total de entradas de fase registradas

Se puede filtrar por torneo individual o ver el acumulado de toda la temporada.


Estado actual y roadmap

Sistema Almacenado en Visible para admin Visible para jugador
Ranking interno users.ranking_score Sí (detalle usuario) No (pendiente)
Ranking de temporada tournament_category_player_phases.ranking_points Sí (/admin/seasons/:id/ranking) No (pendiente)

Ambos sistemas están diseñados para ser expuestos públicamente en el futuro, tanto en el portal del jugador como a través de la API móvil.