Predittore di gara
Chi corre 10 km in 40 minuti può attendersi circa 1:28:15 su una mezza maratona: questo predittore trasforma un risultato reale in un tempo stimato su un'altra distanza con la formula di Riegel del 1977. Gratis nel browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Distanza nota
- 10
- Tempo noto
- 2400
- Distanza obiettivo
- 21,0975
- Tempo previsto
- 5295,36739456
- Tempo previsto (formattato)
- 1:28:15
- Rapporto di distanza
- 2,10975
- Esponente
- 1,06
Un predittore di gara risponde alla domanda di pianificazione che ogni atleta di endurance si pone dopo una marca: se ho appena coperto questa distanza in questo tempo, cosa devo attendermi su un'altra distanza? Il modello in potenza di Pete Riegel del 1977 resta la scorciatoia abituale per quella conversione. Prende una distanza nota, un tempo di arrivo noto e una distanza obiettivo, poi stima il nuovo tempo di arrivo come T2 uguale a T1 moltiplicato per il rapporto D2 su D1 elevato a uno virgola zero sei. Le distanze possono essere chilometri, miglia o metri purché entrambe condividano la stessa unità; il tempo è una durata in secondi.
Come il predittore di gara di Riegel scala una marca nota
Il predittore di gara di Riegel converte una prova già conclusa in un arrivo stimato a un'altra distanza mediante una legge di potenza pubblicata, non mediante una copia lineare del ritmo. Lei fornisce una distanza nota D1, un tempo di arrivo noto T1 in secondi e una distanza obiettivo D2. Le distanze possono essere chilometri, miglia, metri o un'altra unità di lunghezza, purché entrambe usino la stessa, perché il modello serve solo il rapporto adimensionale D2 diviso per D1.
Il tempo di arrivo previsto è T2 uguale a T1 moltiplicato per quel rapporto elevato all'esponente di endurance uno virgola zero sei. Un esponente un po' sopra uno è la ragione d'essere di questo strumento: il ritmo medio non è costante quando le gare si allungano. Copiare il ritmo dei dieci chilometri tale e quale in una maratona sottostima quasi sempre l'orologio, e copiare il ritmo maratona tale e quale in cinque chilometri sopravvaluta quasi sempre quanto lenta dovrebbe essere la prova breve.
L'identità di Riegel del 1977 rallenta il ritmo proiettato quando la distanza cresce e lo accelera quando si contrae, senza file di frequenza cardiaca, stime di VO2max né un diario di più settimane. L'aritmetica è una divisione, una potenza e una moltiplicazione. Non c'è chiamata di rete, né seme casuale, né Date di calendario nel risultato.
Inquadri ogni uscita come una stima di pianificazione: salite, meteo, rifornimento e cambiamenti di forma possono allontanare un orologio reale da qualsiasi proiezione in forma chiusa.
Dove un predittore di gara si guadagna il posto nello sport
I coach di club e i corridori autoallenati hanno bisogno di un predittore di gara riproducibile affinché un dieci chilometri invernale, un obiettivo di mezza maratona in primavera e un briefing di settimana di gara non discordino sull'orologio annotato. Le app di evento che mostrano bande di arrivo proiettate per gruppi di ritmo vogliono una formula documentata che gli atleti possano ricalcolare a mano, non una stima di machine learning a scatola nera che cambia quando un modello viene riallenato.
Gli ingegneri dei dati che preparano set sintetici di gare per dashboard di ritmo necessitano di etichette di arrivo deterministiche da distanze e tempi noti senza chiamate di rete né deriva di modello. La validazione fallita non consuma saldo. Se in seguito Le serve conversione pura di unità di ritmo, punteggio per età o adattamento di esponente personalizzato multi-gara, li tratti come intenti di ricerca distinti anziché sovraccaricare questa pagina del predittore di gara.
Casi d'uso
Tempi obiettivo della prossima gara
Trasformi un risultato recente di cinque o dieci chilometri in un tempo di pianificazione di mezza maratona o maratona da annotare in un blocco di allenamento e in un briefing di settimana di gara.
Bande di ritmo e app di evento
Mostri bande di arrivo proiettate per gruppi di ritmo a partire da un'identità di Riegel documentata che gli atleti possano ricalcolare a mano, anziché una stima a scatola nera.
Domande frequenti
Come stima il predittore di gara un tempo di arrivo?
Invii una distanza nota, un tempo di arrivo noto in secondi e una distanza obiettivo nella stessa unità di lunghezza. Il predittore restituisce T2 = T1 × (D2/D1)^1.06, la legge di potenza classica di Riegel, in secondi più una stringa orologio.
Quali unità devo usare per distanza e tempo?
Stringhe orologio come 40:00 non vengono analizzate come ingresso.
Che succede se una distanza o un tempo è zero o negativo?
Una gara reale non può avere distanza o tempo di arrivo non positivi, quindi quei valori vengono rifiutati e non addebitati.
Posso predire una gara più corta a partire da una più lunga?
Sì. Quando l'obiettivo è più corto della gara nota, il rapporto di distanze è minore di uno e la formula prevede un tempo assoluto più rapido con ritmo medio un po' più vivo. L'esponente resta 1.06 in entrambi i sensi.
Perché il mio passo dei 10 km non vale per la mezza maratona?
Perché il passo medio rallenta quando la gara si allunga. Riegel eleva il rapporto tra le distanze alla potenza 1,06: 40 minuti sui 10 km diventano circa 1:28:15 sui 21,0975 km, un po' più lenti che copiando il passo.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/sports/race-predictor \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"known_distance":10,"known_time":2400,"target_distance":21.0975}'const res = await fetch("https://api.kit.forhosting.com/sports/race-predictor", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"known_distance": 10,
"known_time": 2400,
"target_distance": 21.0975
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/sports/race-predictor",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"known_distance": 10,
"known_time": 2400,
"target_distance": 21.0975
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/sports/race-predictor", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"known_distance":10,"known_time":2400,"target_distance":21.0975}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"known_distance":10,"known_time":2400,"target_distance":21.0975}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/sports/race-predictor", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"known_distance": 10,
"known_time": 2400,
"target_distance": 21.0975
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "sports.race_predictor",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Questo predittore di gara applica quell'identità senza rete, senza token di modello e senza orologio di calendario, così un foglio di allenamento, una pagina di settimana di gara e un client API ricevono lo stesso numero. Distanze o tempi non positivi falliscono con invalid_input e non vengono addebitati. Le chiamate riuscite costano $0.002.
Come il predittore di gara di Riegel scala una marca nota
Zero, negativi, campi assenti o valori non finiti non descrivono una gara reale, quindi falliscono con invalid_input invece di inventare un tempo di arrivo.
Contratto di ingresso, unità e risposta del tempo previsto
Converta ore e minuti in secondi totali prima della chiamata: quaranta minuti su dieci chilometri sono duemilaquattrocento secondi, e una maratona di tre ore sono diecimilaottocento secondi. I controlli classici includono una gara di dieci chilometri in duemilaquattrocento secondi proiettata a mezza maratona a ventuno virgola zero nove sette cinque chilometri, e una di cinque chilometri in milleduecento secondi proiettata a dieci chilometri; entrambe producono tempi previsti positivi stabili adatti a chiavi di risposta. Preferisca numeri nudi a stringhe formattate; segni di percentuale, separatori delle migliaia e stringhe orologio come 40:00 non vengono analizzati come ingresso. Invii con POST un corpo JSON con tre numeri finiti positivi obbligatori. known_distance è la lunghezza della gara che Lei ha già concluso; si accettano gli alias distance1, d1 e known_d. known_time è quell'arrivo in secondi; si accettano time1, t1, known_time_seconds e seconds. target_distance è la lunghezza da predire, nella stessa unità di known_distance; si accettano distance2, d2 e target_d. Ogni campo può arrivare come numero JSON o come stringa numerica. Campi assenti, stringhe vuote, valori non numerici, NaN, Infinity, zero e negativi falliscono con invalid_input nominando il campo e non vengono addebitati. In caso di successo il corpo restituisce predicted_time come il conteggio di secondi pulito, predicted_time_formatted come stringa orologio H:MM:SS o M:SS, known_distance, known_time e target_distance puliti, la distance_ratio D2 su D1, l'esponente fisso uno virgola zero sei, e una stringa di formula che Lei può stampare accanto alla risposta. Il prezzo di una voce riuscita è un $0.002 fisso.
Dove un predittore di gara si guadagna il posto nello sport
Le aule di scienze dello sport insegnano ancora la scala di Riegel accanto a tabelle VDOT e modelli di velocità critica, così allineare l'aritmetica a mano all'output API conta più del costo asintotico. Poiché l'implementazione è parse pura di tier A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello e senza rete in uscita.
Casi di integrazione
Fogli di coaching e API sportive
Fissi coppie di Riegel note in un foglio di calcolo o in una suite di regressione affinché un diario di allenamento, un widget e un backend non discordino sull'orologio previsto.
Domande tecniche
Quanto costa il predittore di gara?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'ingresso non valido non viene addebitato.