Calcolatore di OPS
150 valide, 50 basi su ball e 250 basi totali in 500 turni in battuta portano l'OPS sopra ottocento, il livello di un titolare solido: presenza in base più potenza, un solo numero per quanto si va in base e quanto danno ne segue. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Valide
- 150
- Basi su ball
- 50
- Colpito da lancio
- 5
- Turni in battuta
- 500
- Volate di sacrificio
- 5
- Basi totali
- 250
- Obp
- 0,3660714286
- Slg
- 0,5
- Ops
- 0,8660714286
L'on-base plus slugging, abbreviato OPS, è l'indice del baseball che somma la media di presenza in base alla media di potenza, così un solo numero descrive quanto spesso un battitore raggiunge le basi e quanto danno in basi extra producono quelle presenze. Questo calcolatore prende i sei conteggi di box score dell'identità ufficiale: valide, basi su ball, colpiti da lancio, turni ufficiali in battuta, volate di sacrificio e basi totali. Calcola l'OBP sul denominatore delle apparizioni al piatto, calcola lo SLG con le basi totali sui turni in battuta e restituisce la somma come OPS.
Che cosa misura l'on-base plus slugging e come si sommano OBP e SLG
L'on-base plus slugging è l'indice più semplice che risponda ancora a due domande distinte su un battitore: con quale frequenza raggiunge le basi e, quando la palla è in gioco come turno ufficiale, quante basi produce. La media di presenza è (valide più basi su ball più colpiti da lancio) divisa per (turni in battuta più basi su ball più colpiti da lancio più volate di sacrificio).
Quel denominatore è l'insieme ufficiale delle apparizioni al piatto per l'OBP: basi su ball e colpiti contano come presenze senza essere turni, e una volata di sacrificio viene addebitata al denominatore così un out produttivo non gonfia l'indice. La media di potenza è le basi totali divise per i turni in battuta.
Le basi totali accreditano un singolo come uno, un doppio come due, un triplo come tre e un fuoricampo come quattro; basi su ball, colpiti e volate di sacrificio non aggiungono nulla al numeratore, perciò un'apparizione da pinch fatta solo di basi su ball può mostrare un OBP alto e una potenza pari a zero. L'OPS è quei due indici sommati, non mediati né ponderati.
Un OPS di lega sta spesso vicino ai settecento alti; ottocento è un titolare solido; novecento è una mazza da All-Star; mille e oltre è territorio di stagione MVP. La media battuta non sostituisce: ignora le basi su ball e tratta un singolo come un fuoricampo. La media di presenza ponderata e l'OPS-plus sono ricerche diverse — fattori di impianto, coefficienti di lega e pesi lineari — e questa pagina non li calcola.
Qui vive l'identità di box score OPS = OBP + SLG, un errore duro quando turni in battuta più basi su ball valgono zero così un cruscotto non disegna mai Infinity, e un controllo di coerenza perché le valide non superino i turni e le basi totali restino tra una e quattro per valida.
Dove un calcolatore deterministico di OPS merita il posto
Gli statistici di club che fondono box score amatoriali hanno bisogno dello stesso OPS dagli stessi sei conteggi ogni sera, non di una cella di foglio che qualcuno ha modificato dopo un rinvio per pioggia. Le pipeline fantasy e i draft keeper ordinano una rosa per on-base plus slugging oltre che per media battuta; la media premia la fortuna sulle palle in gioco, l'OPS premia il raggiungimento delle basi e la potenza in basi extra, e i due numeri rispondono a domande di rosa distinte.
La convalida fallita non consuma saldo. Tenga i sei ingressi nella stessa stagione, serie o finestra di carriera — non sommi le basi su ball di questo mese ai turni dell'anno scorso — e ottiene un OPS riproducibile per tabelloni, quiz LMS e worker al bordo. Questa landing è per chi cerca un calcolatore di on-base plus slugging, un calcolatore di OPS dal box score, oppure OBP più SLG.
Non è media battuta, non è wOBA, non è tasso di strike del cricket e non è un flusso MLB in diretta. Preferisca questa capacità quando ha già i sei conteggi e serve solo la somma ufficiale.
Casi d'uso
Tabellone e indici di stagione in telecronaca
Trasformi valide, basi su ball, colpiti, turni in battuta, volate di sacrificio e basi totali cumulati in un OPS di stagione dopo ogni apparizione al piatto, senza inventare un numero prima del primo turno o della prima base su ball.
Fogli di scouting e box score amatoriali
Fondi i cartellini del fine settimana in un'unica colonna OPS con i sei conteggi ufficiali, per confrontare sulla stessa scala una mazza ricca di basi su ball e un battitore di potenza.
Domande frequenti
Come si calcola l'on-base plus slugging dal box score?
OPS = OBP + SLG. Invii i sei conteggi non negativi della stessa finestra.
Che cosa succede se turni in battuta più basi su ball valgono zero?
L'on-base plus slugging resta indefinito quando turni in battuta più basi su ball valgono zero, quindi il calcolatore non restituisce Infinity, NaN né un OPS falso a zero, e il fallimento non viene fatturato.
Le volate di sacrificio e i colpiti da lancio contano nell'OPS?
Sì, nella media di presenza. Il colpito conta nel numeratore e nel denominatore dell'OBP. La volata di sacrificio conta solo nel denominatore dell'OBP.
L'OPS è la stessa cosa della media battuta o del wOBA?
No. La media battuta è le valide divise per i turni in battuta e ignora basi su ball e valore in basi extra. Il wOBA applica pesi lineari agli eventi. Questa pagina è la somma ufficiale di OBP e SLG, la query che si digita come on-base plus slugging.
Che cos'è un buon OPS?
Come guida approssimativa, l'OPS medio di una lega sta spesso nella parte alta dei settecento; ottocento indica un titolare solido, novecento una mazza da All-Star e mille o più è territorio da stagione da MVP. Qui si restituisce solo il tasso.
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/on-base-plus-slugging \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hits":150,"walks":50,"hit_by_pitch":5,"at_bats":500,"sacrifice_flies":5,"total_bases":250}'const res = await fetch("https://api.kit.forhosting.com/sports/on-base-plus-slugging", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hits": 150,
"walks": 50,
"hit_by_pitch": 5,
"at_bats": 500,
"sacrifice_flies": 5,
"total_bases": 250
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/sports/on-base-plus-slugging",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hits": 150,
"walks": 50,
"hit_by_pitch": 5,
"at_bats": 500,
"sacrifice_flies": 5,
"total_bases": 250
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/sports/on-base-plus-slugging", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hits":150,"walks":50,"hit_by_pitch":5,"at_bats":500,"sacrifice_flies":5,"total_bases":250}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hits":150,"walks":50,"hit_by_pitch":5,"at_bats":500,"sacrifice_flies":5,"total_bases":250}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/sports/on-base-plus-slugging", 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
{
"hits": 150,
"walks": 50,
"hit_by_pitch": 5,
"at_bats": 500,
"sacrifice_flies": 5,
"total_bases": 250
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "sports.on_base_plus_slugging",
"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.
Limiti
max_abs_value | 1000000000000000 |
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
Un campione senza turni in battuta e senza basi su ball viene rifiutato con invalid_input, perché l'indice resta indefinito finché al battitore non è stato addebitato un turno ufficiale né una base su ball.
Ingressi, formula, arrotondamento e l'errore turni più basi su ball a zero
Quel fallimento non viene fatturato. In caso di successo il corpo riecheggia i sei ingressi, restituisce obp, slg e ops arrotondati a dieci decimali per goldens stabili tra runtime, e riafferma formula come OPS = OBP + SLG con le due frazioni ufficiali. Invii un corpo JSON con POST e sei numeri finiti non negativi obbligatori della stessa finestra: hits, walks, hit_by_pitch, at_bats, sacrifice_flies e total_bases. Ogni campo può arrivare come numero JSON o come stringa numerica. Gli alias h e hit sono accettati per hits; bb, base_on_balls, bases_on_balls e w per walks; hbp, hit_batsman e hit_by_pitches per hit_by_pitch; ab e atbats per at_bats; sf, sac_flies e sacrifice_fly per sacrifice_flies; tb e bases per total_bases. Campi mancanti, stringhe vuote, NaN, Infinity, negativi e testo non numerico falliscono con invalid_input indicando il campo. hits non può superare at_bats, perché un hit è un turno ufficiale. total_bases non può essere inferiore a hits né superiore a quattro volte hits, perché ogni hit vale almeno un singolo e al massimo un fuoricampo. at_bats più walks deve essere maggiore di zero: l'on-base plus slugging resta indefinito quando turni in battuta più basi su ball valgono zero, e l'operazione fallisce invece di restituire Infinity, NaN o uno zero silenzioso. Quando at_bats vale zero ma restano walks, la potenza è definita come zero e l'OPS uguaglia l'OBP — la lettura onesta di un campione fatto solo di basi su ball. Esempio svolto: 150 hits, 50 walks, 5 hit_by_pitch, 500 at_bats, 5 sacrifice_flies e 250 total_bases producono OBP 205/560, slugging .500 e OPS 0.8660714286. Abbini la risposta alle proprie soglie d'epoca se serve un'etichetta semaforica; questo endpoint restituisce solo l'indice.
Dove un calcolatore deterministico di OPS merita il posto
I fogli di scouting che già memorizzano hits, walks, hit_by_pitch, at_bats, sacrifice_flies e total_bases possono riempire una colonna OPS senza montare un fornitore di scoring. I grafici di telecronaca possono ricalcolare l'OPS di stagione dopo ogni apparizione al piatto dai totali cumulati, e possono bloccare con invalid_input un giocatore senza turno né base su ball invece di dipingere Infinity.
Casi di integrazione
Pipeline fantasy e accademie
Blocchi con invalid_input un giocatore con zero turni in battuta e zero basi su ball invece di dipingere Infinity in una classifica, e tenga valide e basi totali coerenti con il box score.
Domande tecniche
Quanto costa il calcolatore di on-base plus slugging?
Il widget della pagina gira nel browser senza addebito. Ogni attività API riuscita è fatturata a $0.002; invalid_input non viene addebitato.