{"sport":"mlb","slug":"jack-tobin","bio":{"fullName":"Jack Tobin","position":"OF","team":"BOS","heightInches":68,"weightLbs":142,"birthDate":"1892-05-04","rookieSeason":1914,"lastSeason":1927,"status":"RET","externalIds":{"mlbam":"123368","chadwick":"309c9b5c","retro":"tobij101","wikidata":"Q6115505"}},"draft":null,"statTables":[{"id":"batting","label":"Batting","columns":[{"key":"g"},{"key":"ab"},{"key":"r"},{"key":"h"},{"key":"doubles"},{"key":"triples"},{"key":"hr"},{"key":"rbi"},{"key":"sb"},{"key":"bb"},{"key":"so"},{"key":"avg"},{"key":"obp"},{"key":"slg"},{"key":"ops"}],"rows":[{"season":1914,"seasonType":"REG","team":"St. Louis Terriers","gamesPlayed":139,"values":{"g":139,"ab":529,"r":81,"h":143,"doubles":24,"triples":10,"hr":7,"rbi":35,"sb":20,"bb":51,"so":53,"avg":0.27,"obp":0.34,"slg":0.393,"ops":0.733},"rowScope":"team"},{"season":1915,"seasonType":"REG","team":"St. Louis Terriers","gamesPlayed":158,"values":{"g":158,"ab":625,"r":92,"h":184,"doubles":26,"triples":13,"hr":6,"rbi":51,"sb":31,"bb":68,"so":42,"avg":0.294,"obp":0.366,"slg":0.406,"ops":0.772},"rowScope":"team"},{"season":1916,"seasonType":"REG","team":"BAL","gamesPlayed":80,"values":{"g":80,"ab":150,"r":16,"h":32,"doubles":4,"triples":1,"hr":0,"rbi":10,"sb":7,"bb":12,"so":13,"avg":0.213,"obp":0.272,"slg":0.253,"ops":0.525},"rowScope":"team"},{"season":1918,"seasonType":"REG","team":"BAL","gamesPlayed":122,"values":{"g":122,"ab":480,"r":59,"h":133,"doubles":19,"triples":5,"hr":0,"rbi":36,"sb":13,"bb":48,"so":26,"avg":0.277,"obp":0.349,"slg":0.338,"ops":0.687},"rowScope":"team"},{"season":1919,"seasonType":"REG","team":"BAL","gamesPlayed":127,"values":{"g":127,"ab":486,"r":54,"h":159,"doubles":22,"triples":7,"hr":6,"rbi":57,"sb":8,"bb":36,"so":24,"avg":0.327,"obp":0.376,"slg":0.438,"ops":0.814},"rowScope":"team"},{"season":1920,"seasonType":"REG","team":"BAL","gamesPlayed":147,"values":{"g":147,"ab":593,"r":94,"h":202,"doubles":34,"triples":10,"hr":4,"rbi":62,"sb":21,"bb":39,"so":23,"avg":0.341,"obp":0.383,"slg":0.452,"ops":0.835},"rowScope":"team"},{"season":1921,"seasonType":"REG","team":"BAL","gamesPlayed":150,"values":{"g":150,"ab":671,"r":132,"h":236,"doubles":31,"triples":18,"hr":8,"rbi":59,"sb":7,"bb":45,"so":22,"avg":0.352,"obp":0.395,"slg":0.487,"ops":0.882},"rowScope":"team"},{"season":1922,"seasonType":"REG","team":"BAL","gamesPlayed":146,"values":{"g":146,"ab":625,"r":122,"h":207,"doubles":34,"triples":8,"hr":13,"rbi":66,"sb":7,"bb":56,"so":22,"avg":0.331,"obp":0.388,"slg":0.474,"ops":0.862},"rowScope":"team"},{"season":1923,"seasonType":"REG","team":"BAL","gamesPlayed":151,"values":{"g":151,"ab":637,"r":92,"h":202,"doubles":32,"triples":15,"hr":13,"rbi":73,"sb":8,"bb":42,"so":13,"avg":0.317,"obp":0.363,"slg":0.476,"ops":0.839},"rowScope":"team"},{"season":1924,"seasonType":"REG","team":"BAL","gamesPlayed":136,"values":{"g":136,"ab":569,"r":87,"h":170,"doubles":30,"triples":8,"hr":2,"rbi":48,"sb":6,"bb":50,"so":12,"avg":0.299,"obp":0.357,"slg":0.39,"ops":0.747},"rowScope":"team"},{"season":1925,"seasonType":"REG","team":"BAL","gamesPlayed":77,"values":{"g":77,"ab":193,"r":25,"h":58,"doubles":11,"triples":0,"hr":2,"rbi":27,"sb":8,"bb":9,"so":5,"avg":0.301,"obp":0.335,"slg":0.389,"ops":0.724},"rowScope":"team"},{"season":1926,"seasonType":"REG","gamesPlayed":78,"gamesStarted":null,"values":{"g":78,"ab":242,"r":30,"h":64,"doubles":9,"triples":1,"hr":1,"rbi":17,"sb":6,"bb":16,"so":3,"avg":0.264,"slg":0.322,"obp":null,"ops":null},"team":"TOT","rowScope":"total"},{"season":1926,"seasonType":"REG","team":"BOS","gamesPlayed":51,"values":{"g":51,"ab":209,"r":25,"h":57,"doubles":9,"triples":0,"hr":1,"rbi":14,"sb":6,"bb":16,"so":3,"avg":0.273,"obp":0.324,"slg":0.33,"ops":0.654},"rowScope":"team"},{"season":1926,"seasonType":"REG","team":"MIN","gamesPlayed":27,"values":{"g":27,"ab":33,"r":5,"h":7,"doubles":0,"triples":1,"hr":0,"rbi":3,"sb":0,"bb":0,"so":0,"avg":0.212,"obp":0.212,"slg":0.273,"ops":0.485},"rowScope":"team"},{"season":1927,"seasonType":"REG","team":"BOS","gamesPlayed":111,"values":{"g":111,"ab":374,"r":52,"h":116,"doubles":18,"triples":3,"hr":2,"rbi":40,"sb":5,"bb":36,"so":9,"avg":0.31,"obp":0.371,"slg":0.39,"ops":0.761},"rowScope":"team"}],"careerTotals":{"REG":{"g":1622,"ab":6174,"r":936,"h":1906,"doubles":294,"triples":99,"hr":64,"rbi":581,"sb":147,"bb":508,"so":267,"avg":0.309,"obp":0.364,"slg":0.42,"ops":0.784}}},{"id":"advanced","label":"Advanced (League-Relative)","columns":[{"key":"ops_plus","label":"OPS+","description":"On-base plus slugging vs the player's own season+league (100 = league average). Park-unadjusted; OBP uses a consistent (H+BB)/(AB+BB) rate. Higher is better.","format":"int","higherIsBetter":true},{"key":"era_plus","label":"ERA+","description":"Earned-run average vs the player's own season+league (100 = league average). Park-unadjusted. Higher is better.","format":"int","higherIsBetter":true}],"rows":[{"season":1914,"seasonType":"REG","team":"St. Louis Terriers","values":{"ops_plus":114,"era_plus":null},"rowScope":"team"},{"season":1915,"seasonType":"REG","team":"St. Louis Terriers","values":{"ops_plus":134,"era_plus":null},"rowScope":"team"},{"season":1916,"seasonType":"REG","team":"BAL","values":{"ops_plus":64,"era_plus":null},"rowScope":"team"},{"season":1918,"seasonType":"REG","team":"BAL","values":{"ops_plus":112,"era_plus":null},"rowScope":"team"},{"season":1919,"seasonType":"REG","team":"BAL","values":{"ops_plus":136,"era_plus":null},"rowScope":"team"},{"season":1920,"seasonType":"REG","team":"BAL","values":{"ops_plus":128,"era_plus":null},"rowScope":"team"},{"season":1921,"seasonType":"REG","team":"BAL","values":{"ops_plus":131,"era_plus":null},"rowScope":"team"},{"season":1922,"seasonType":"REG","team":"BAL","values":{"ops_plus":132,"era_plus":null},"rowScope":"team"},{"season":1923,"seasonType":"REG","team":"BAL","values":{"ops_plus":126,"era_plus":null},"rowScope":"team"},{"season":1924,"seasonType":"REG","team":"BAL","values":{"ops_plus":99,"era_plus":null},"rowScope":"team"},{"season":1925,"seasonType":"REG","team":"BAL","values":{"ops_plus":88,"era_plus":null},"rowScope":"team"},{"season":1926,"seasonType":"REG","gamesPlayed":null,"gamesStarted":null,"values":{"ops_plus":null,"era_plus":null},"team":"TOT","rowScope":"total"},{"season":1926,"seasonType":"REG","team":"BOS","values":{"ops_plus":77,"era_plus":null},"rowScope":"team"},{"season":1926,"seasonType":"REG","team":"MIN","values":{"ops_plus":30,"era_plus":null},"rowScope":"team"},{"season":1927,"seasonType":"REG","team":"BOS","values":{"ops_plus":103,"era_plus":null},"rowScope":"team"}],"careerTotals":{"REG":{"ops_plus":118,"era_plus":null}},"advancedMeta":{"method":"computed in-house from MLB StatsAPI season batting/pitching lines, normalized to each player's own (season, league) baseline","formulas":{"era_plus":"100 * lgERA / playerERA (league ERA = 9 * ΣER / ΣIP over the season+league)","ops_plus":"100 * (OBP/lgOBP + SLG/lgSLG - 1)","career_era_plus":"innings-weighted league ERA / career ERA (B-Ref method)","career_ops_plus":"AB-weighted OBP & SLG against AB-weighted league rates"},"caveats":["PARK-UNADJUSTED: no park-factor data exists in the corpus, so these are league-relative but not park-adjusted (true B-Ref ERA+/OPS+ also divide by a park factor)","OBP baseline uses a consistent (H+BB)/(AB+BB) reached-base rate for BOTH player and league — the source feed carries no HBP or SF, so this is not the full (H+BB+HBP)/(AB+BB+HBP+SF) OBP; SLG is exact from the hit-type columns","league resolved from team code + season (most-recently-founded franchise existing by that season); the same resolver builds the baseline and looks up the player, so ratios stay internally coherent","a (season, league) bucket below the sample floor (3000 AB batting / 1000 IP pitching) yields null — no noisy baselines","regular season only; postseason lines are excluded from league baselines and metrics","AL and NL and each historical/Negro league are normalized separately — never blended across leagues or eras"]}}],"dataSources":["MLB StatsAPI (statsapi.mlb.com — official public league API; facts only, raw payloads not republished)"],"generatedAt":"2026-07-03T07:30:05.395Z"}