ORTG Lab

Offensive Rating Calculator

ORTG=xSHOT×xEFF×xPOSS
ORTG
115.8
league avg 115.8
+0.00 vs avg
xSHOT
0.854
Possessions that survive the turnover tax.
xEFF
1.287
Points created once a scoring event starts.
xPOSS
1.054
Recycle loops from ORBs and missed final FTs.
Shot profile
eFG%
54.0%
Miss rate
53.4%
Shot value / FGA
1.081
FT value / FGA
0.206
FG ORB recycle
16.10%
FT ORB recycle
2.93%
Possession flow
Possession denominator
0.949
TOV survival
85.4%
FT-ending correction
0.417
Formula
100 × 0.854 × 1.287 × 1.054
ORTG
115.8
+0.00 vs avg
xSHOT
0.854
xEFF
1.287
xPOSS
1.054
EFG%
ΔORTG
+1.50
TOV%
ΔORTG
+1.36
FG OREB%
ΔORTG
+0.66
FT Rate
ΔORTG
+0.19
TS%
ΔORTG
+1.72
2P%
ΔORTG
+0.81
3P%
ΔORTG
+0.99
FT%
ΔORTG
+0.22
3PA Rate
ΔORTG
+0.00
2P OREB%
ΔORTG
+0.32
3P OREB%
ΔORTG
+0.33
FT OREB%
ΔORTG
+0.03
Methodology

How this calculator is built

Dean Oliver's Four Factors Revisited

This calculator is based on Dean Oliver's Four Factors Revisited by Dr. Jirka Poropudas and Topi Halme. Thank you to them for publishing the paper and laying out a possession-extension view of offense that is much easier to test interactively than a black-box rating.

The paper's core idea is that offensive rating can be decomposed into a turnover-survival term, an efficiency term, and a possession-extension term. This page keeps that same structure, then adapts a few pieces so it matches the inputs we actually track in databallr and the controls we want users to manipulate directly.

Calculator form
Estimated ORTG ~= 100 x xPOSS x xSHOT x xEFF
xSHOT is the turnover survival term. In the live calculator it is simply 1 - TOV%.
xEFF is the scoring term. In the live model it is 2 x eFG% + FTr x FT%.
xPOSS is the recycle multiplier. It grows when missed shots or missed final free throws are reclaimed with offensive rebounds.
Turnovers and possessions

The paper builds offense from possession mechanics. We keep that idea, but because databallr already works with actual possession-rate style turnover inputs, we do not need to reconstruct turnovers from box-score proxies inside the calculator.

In practice that means the live page uses xSHOT = 1 - TOV%. Total turnover rate is treated as the possession-ending tax, and this sandbox does not separately back out second-chance turnovers before applying that term.

Rebounding adjustments

The field-goal recycle term is split into missed-two and missed-three branches. Instead of one undifferentiated offensive rebound input, we expose 2P OREB% and 3P OREB% separately.

Overall FG OREB% is still available as a convenience dial, but it is derived from the current shot mix, miss rates, and the split rebound inputs. That lets the rebound value move correctly when the user changes shot profile.

We also model FT OREB% explicitly. Missed possession-ending final free throws create their own recycle term, implemented as FT OREB% x (1 - FT%), while the free-throw possession-ending weight stays on the paper-style 0.43 term.

EFG and TS controls

EFG% and TS% are derived readouts, but the page also exposes them as master controls so users can move cleaner concepts instead of only raw sub-inputs.

In the UI, EFG% writes back as +1.0 2P% and +0.6667 3P%. That preserves the made-three premium while keeping the control intuitive.

TS% is also derived from the current FT Rate and FT%, but the master dial is intentionally handled as a simple control rule: +1.0 2P%, +0.6667 3P%, and +1.0 FT%. Direct edits to FT Rate or FT% still flow back into the live TS readout dynamically.

Why this is an adaptation

The goal of this page is not to reproduce every line of the paper one-for-one. The goal is to keep the paper's decomposition logic visible while turning it into a hands-on lab with inputs that are easy to scan and easy to perturb.

So the page follows the paper on the big structural idea, then makes implementation choices where databallr has richer tracked stats or where a cleaner UI control is more useful than a fully implicit solve. That is why you see split 2P / 3P rebound controls, explicit FT ORB handling, possession-rate turnovers, and convenience master dials for EFG% and TS%.