The Bad Boys by the Numbers: What 1988–89 Lineup Data Tells Us About Detroit’s Dynasty

Squared Statistics · Historical Lineup Data Series · 1988–89 NBA Season

The Bad Boys, Possession by Possession

For 35 years, Detroit’s dynasty has been argued through highlight reels and championship rings. For the first time, hand-reconstructed lineup data lets the possessions speak for themselves.

By Justin Jacobs, PhD  ·  23 Pistons games sampled · Detroit went 18–5 in those games  ·  2,215 total offensive possessions across 132 five-man stints

The 1988–89 Detroit Pistons are one of the most mythologized teams in NBA history. They were physical, organized, and relentless — a collection of complementary pieces assembled around a singular defensive philosophy. They swept the Lakers in the Finals and ended Showtime. They were not supposed to be beautiful. They were supposed to win.

For over three decades, how they won has been analyzed almost entirely through box scores, highlight film, and memory. What has never existed — until now — is possession-level lineup data for this team: a record of which five players were on the court together, how many possessions they played, how many points they scored and allowed, and what the net result was.

This post draws on 23 hand-reconstructed games involving the Pistons from the 1988–89 regular season, games in which Detroit went 18–5. Across those games, 132 unique five-man lineup combinations have been identified, producing 2,215 total offensive possessions of observation. That is enough data to see meaningful patterns — and in some cases, to see things the box score never could.

A few important caveats before diving in. Twenty-three games is a real but limited sample. Lineup combinations with fewer than 40–50 possessions should be treated as suggestive rather than conclusive — small samples produce extreme ratings that will regress as more data is added. The patterns discussed here are consistent and structurally coherent, but this is an ongoing reconstruction project. Results will be updated as additional games are logged. The RAPM estimates referenced in this post are derived from a leaguewide sample of 216 games and carry confidence intervals of approximately ±9–10 points per 100 possessions — wide enough that individual rankings should not be taken literally. They are cited here as directional context alongside the more grounded stint-level evidence, not as standalone verdicts.

Setting the Stage: RAPM as a Compass, Not a Map

Before turning to the lineup data, it is worth briefly orienting the Pistons within the broader leaguewide RAPM picture for 1988–89 — with the caveat that these estimates carry wide uncertainty and should be read as rough directional signals rather than precise rankings.

The leaguewide RAPM for this season suggests the top of the individual impact ladder was occupied, unsurprisingly, by the era’s superstars: Patrick Ewing, Michael Jordan, and Magic Johnson all show large positive estimates. What is striking is where several Pistons appear in that same distribution. Rodman, Mahorn, and Laimbeer all register estimates that place them in the broadly positive upper tier of the league — not as the best players in basketball, but as genuinely impactful contributors by a metric that, even at this confidence level, is pointing in a meaningful direction.

Isiah Thomas’s RAPM estimate is also positive, though more modestly so. Joe Dumars similarly. James Edwards and John Salley, by contrast, register estimates in the negative range — a signal that aligns precisely with what the stint data will show in detail below.

What this leaguewide picture hints at, even through the uncertainty, is something structurally unusual about Detroit: multiple players in the positive upper tier of the league, no single transcendent superstar, and clear drop-off at the backup positions. That is a portrait of a depth-driven championship team rather than a star-driven one — and it is a picture the stint data will confirm with considerably more precision.

To be explicit about the RAPM confidence bounds: with intervals spanning roughly ±9–10 points per 100 possessions, two players whose estimates are within 3 or 4 points of each other cannot be meaningfully distinguished by this metric alone. The discussion above avoids specific league rankings for this reason. The value of the RAPM here is in identifying which players are clearly positive, which are clearly negative, and whether the overall shape of the roster makes sense — not in adjudicating fine-grained differences between players with similar estimates.

The Architecture of a Championship Team

The most important structural finding in this data is also the simplest: the Detroit Pistons were a dramatically different team depending on whether Bill Laimbeer and Rick Mahorn were on the court together. Not somewhat different. Dramatically different — in a way that dwarfs the impact of almost any other lineup variable in the sample.

Laimbeer + Mahorn Together

+13.1
Net rating per 100 poss · 716 possessions · 19 stints
ORTG 112.7 · DRTG 99.6

Neither Laimbeer nor Mahorn

−6.9
Net rating per 100 poss · 401 possessions · 40 stints
ORTG 101.7 · DRTG 108.6

When both Laimbeer and Mahorn shared the floor, the Pistons outscored opponents by 13.1 points per 100 possessions across 716 observed possessions. When neither was on the court, Detroit was outscored by 6.9 points per 100 possessions — a team that gave up more than it got. That is a swing of 20 full points per 100 possessions between a team’s best and worst frontcourt state, observed across a combined 1,117 possessions of data.

The stints with only one of the two present — 1,098 possessions across 73 lineup combinations — produced a net rating of +6.6. The gradient is clean and consistent: both on court is elite, one on court is good, neither is a liability.

This is not a subtle finding. It is the load-bearing fact of how this team was built, and it has implications for every other individual analysis that follows.

The Top Lineups: What the Best Stints Tell Us

The two most-played lineup combinations in this sample are also the two best. Detroit’s starting five in the pre-trade portion of the season — Adrian Dantley, Bill Laimbeer, Isiah Thomas, Joe Dumars, and Rick Mahorn — logged 207 possessions together and produced a net margin of +31, with a defensive rating of 96.6 points per 100 possessions. That is outstanding defense by any era’s standard.

After the Dantley-for-Aguirre trade in mid-February, the starting five became Laimbeer, Thomas, Dumars, Aguirre, and Mahorn — 181 possessions, net margin of +23, and a defensive rating of 90.2. Both iterations of the starting unit were dominant. Both kept Laimbeer and Mahorn as the frontcourt anchor.

Lineup Poss ORTG DRTG Net P/M
Dantley · Laimbeer · Thomas · Dumars · Mahorn 207 109.7 96.6 +13.1 +31
Laimbeer · Thomas · Dumars · Aguirre · Mahorn 181 103.9 90.2 +13.7 +23
Laimbeer · Rodman · Thomas · Dumars · Mahorn 100 125.0 104.6 +20.5 +10
Dantley · Laimbeer · Thomas · Salley · V. Johnson 104 103.8 101.9 +1.9 +3
Laimbeer · Rodman · Thomas · Dumars · Salley 84 115.5 105.8 +9.7 +6
Laimbeer · Dumars · Aguirre · Mahorn · V. Johnson 78 116.7 106.6 +10.2 +10
Laimbeer · Rodman · Thomas · Salley · V. Johnson 53 92.5 115.8 −23.3 −17
Rodman · Edwards · Dumars · Salley · V. Johnson 45 80.0 117.4 −37.4 −18
Rodman · Thomas · Edwards · Salley · V. Johnson 43 93.0 120.9 −27.9 −12

One lineup stands out from the table in a way worth dwelling on. The 53-possession stint of Laimbeer, Rodman, Thomas, Salley, and Vinnie Johnson — replacing Mahorn with Salley and Dumars with Johnson — produced a net rating of −23.3 per 100 possessions. This is the same frontcourt in name (Laimbeer and Rodman are both there) but a profoundly different team without Mahorn anchoring the defense. The DRTG of 115.8 in that stint is worse than the DRTG of 117.4 in the Salley-Edwards no-anchor combination. The takeaway is not that Rodman is a problem — it is that Mahorn was doing something that the data can see even when the eye test might not have fully registered it.

A Note on Mahorn’s RAPM

Mahorn’s RAPM estimate for this season shows a defensive component that is among the more clearly positive on the roster — consistent with what the stint data is showing about his anchoring effect on the team’s defensive performance. His offensive estimate is more modest. Again, the confidence intervals are wide enough that precise comparisons to other players are unreliable, but the directional message — that Mahorn’s primary value was defensive — aligns with both the eye test and what the lineups reveal. That coherence across three different types of evidence (RAPM, stint net ratings, and game log) is more persuasive than any one of them alone.

The Backup Big Problem

No finding in this dataset is more consistent or more consequential than this: when John Salley or James Edwards appeared on the court without either Laimbeer or Mahorn to anchor the frontcourt, Detroit was a below-average NBA team.

Edwards/Salley + Laimbeer or Mahorn

+4.1
Net rating per 100 poss · 802 possessions · 54 stints
ORTG 107.1 · DRTG 103.0

Edwards/Salley — No Laimbeer, No Mahorn

−8.1
Net rating per 100 poss · 389 possessions · 37 stints
ORTG 101.5 · DRTG 109.7

Across 389 possessions — a meaningful sample — lineups featuring a backup big without a Laimbeer-or-Mahorn anchor produced a net rating of −8.1. The defense, in particular, collapsed: a DRTG of 109.7 is well below league average for this era. When anchored by one of the starting bigs, the same backup players contributed to a net of +4.1.

The RAPM estimates for Edwards and Salley are consistent with this picture, both registering in the negative range. Given the sample size limitations of RAPM, we would not draw strong conclusions from those numbers in isolation — but the fact that the RAPM, the aggregate stint net ratings, and the per-lineup breakdowns all point in the same direction is meaningful. Three independent signals converging on the same answer is more informative than any one of them alone.

Salley and Edwards were not bad players — they were players whose value was entirely context-dependent. Embedded in the right lineup, they were functional contributors. Exposed as the primary frontcourt presence, they were liabilities. Chuck Daly understood this, which is why the rotation heatmap (below) shows so little fourth-quarter presence for either player. The data confirms the coaching decision.

The Pistons’ depth at center was their soft underbelly. In 389 possessions where Salley or Edwards played without Laimbeer or Mahorn, Detroit was outscored by 8.1 points per 100 possessions — the clearest vulnerability in a near-dominant team.

Dennis Rodman: What the Data Can and Cannot Say

Dennis Rodman’s RAPM estimate for 1988–89 is one of the more intriguing numbers in the leaguewide table — not because the precise value can be trusted at this sample size, but because of its composition. The estimate is positive and meaningfully so by the directional standard we are applying here. More interesting is the split between his offensive and defensive components: his offensive RAPM estimate is notably larger than his defensive estimate, which sits close to neutral.

This is worth pausing on. Rodman’s entire historical reputation rests on defense and rebounding. The later Rodman — with the Bulls in the mid-1990s — was among the most disruptive defensive players in the league. But in 1988–89, the RAPM is tentatively pointing in a different direction: his measurable individual contribution may have been more offensive in nature, driven by screening, offensive rebounding, and keeping possessions alive, while the defensive credit was diffused across a team defensive system that made everyone look good. Given the confidence intervals, this is a hypothesis rather than a conclusion. What the stint data can do is add texture to that hypothesis.

The most revealing analysis is what happens to Detroit’s team performance based on who is playing alongside Rodman in the frontcourt:

Rodman’s Frontcourt Context Poss ORTG DRTG Net P/M
Rodman + Laimbeer + Mahorn 190 125.3 102.5 +22.8 +34
Rodman + Laimbeer only 463 113.4 100.6 +12.8 +58
Rodman + Mahorn only 225 111.1 95.9 +15.2 +38
Rodman — no Laimbeer, no Mahorn 295 102.4 108.9 −6.5 −27

When Rodman shared the floor with both Laimbeer and Mahorn, the Pistons’ net rating was +22.8 per 100 possessions — elite by any measure. When Rodman played without either of them, the team was −6.5 per 100. That is a 29-point swing, and it mirrors precisely the Laimbeer-Mahorn analysis above. Rodman was a genuinely impactful player in this sample, but his impact was amplified dramatically by the defensive structure around him — and diminished severely when that structure was absent.

This is an important distinction. It does not mean Rodman was merely a product of his environment. The 463 possessions where he played alongside Laimbeer but without Mahorn still produced a robust net of +12.8. There is real individual contribution visible here. But the data counsels against reading Rodman as a player who could generate elite team performance independent of context. He was a critical piece of a system, not a system unto himself — at least in 1988–89. The Rodman who would later anchor the Bulls’ defense in the mid-1990s may be a different story.

His Game Log Against the Best Competition

Rodman appeared in six sampled games against the Chicago Bulls — the team Detroit was increasingly defined against in this era. The results across those games tell a story that the aggregate RAPM cannot:

Jan 31 · CHIChicago+16
Feb 5 · CHIChicago+19
Apr 6 · CHIChicago−3
Apr 7 · CHIChicago−3
Jan 20 · INDIndiana+25
Mar 6 · DENDenver+16
Nov 18 · PHXPhoenix+14
Dec 6 · MILMilwaukee−10
Dec 14 · MILMilwaukee−11
Nov 5 · CHHCharlotte−10

The January and February Chicago games produced large positive margins (+16, +19). The April games — back-to-back at the end of the regular season, with the playoff picture already set — produced small negatives. The Milwaukee games in December, where Detroit as a whole team struggled, also produced negatives. The pattern is consistent with a player whose performance tracks with his team’s overall health and game importance, not one playing independently of context.

Isiah Thomas and the Frontcourt Dependency

Across all stints in this sample where Isiah Thomas was on the court, the Pistons posted a net rating of +8.2 per 100 possessions over 1,578 possessions. When Thomas was off the court — 637 possessions — the net was +1.1. That gap is real and meaningful, but it is somewhat smaller than one might expect for a player of Thomas’s stature and eventual Finals MVP recognition.

The more telling split is Thomas’s performance in relation to the frontcourt behind him:

+13.6 Net Rating Thomas + Laimbeer + Mahorn
563 poss
+7.0 Net Rating Thomas + Laimbeer only
606 poss
+9.9 Net Rating Thomas + Mahorn only
210 poss
−4.6 Net Rating Thomas — no L or M
199 poss

The same pattern repeats: when Thomas plays without Laimbeer or Mahorn behind him, the team is negative. The defensive structure those two provided was not supplementary to Thomas’s game — it was load-bearing for everything the Pistons tried to do. Thomas running the offense with a strong frontcourt was one of the better combinations in basketball in 1988–89. Thomas running the offense with backup bigs was below average.

This is not a criticism of Thomas. It is a structural observation about how the team was built: the backcourt could not compensate for frontcourt deficiency, and the frontcourt elevated everyone around it.

The Trade: Dantley to Aguirre

On February 15, 1989, Detroit traded Adrian Dantley and a draft pick to Dallas for Mark Aguirre. It remains one of the more debated moves of the Bad Boys era. The stint data offers some preliminary evidence — preliminary because Aguirre played only the final two months of the sampled season, and sample size limits what can be concluded.

Dantley on Court (41 stints)

+6.8
Net rating per 100 poss · 816 possessions
ORTG 109.9 · DRTG 103.1 · P/M +65

Aguirre on Court (34 stints)

+2.1
Net rating per 100 poss · 602 possessions
ORTG 106.3 · DRTG 104.2 · P/M +17

In this sample, the Pistons were a better team with Dantley on the floor (+6.8 net) than with Aguirre (+2.1 net). The difference shows up on both sides of the ball — Dantley’s lineups scored more efficiently and defended more efficiently. This is not necessarily a damning verdict on the trade. Aguirre arrived mid-season, took time to integrate, and played fewer games in this sample. The two-month window here may not reflect what Aguirre eventually provided in the playoffs.

What the data does suggest is that the trade was not an obvious upgrade during the regular season portion captured here. It looks, at minimum, like a lateral move in terms of team performance — which, given that Dantley was a two-time scoring champion, is at least somewhat surprising. The RAPM estimates for both players are positive, and the gap between them is well within the confidence interval — so the metric offers no tiebreaker here. The stint data is the more useful lens for this particular question, and even there the sample cautions against strong conclusions.

Reading the Rotation Map

The player rotation heatmap shows, for each second of game time across the 23 sampled games, how frequently each Piston appeared on the court. The x-axis runs from tip-off to the end of regulation. Brighter yellow indicates a player appeared more frequently at that game-second. Overtimes are excluded.

Detroit Pistons 1988-89 rotation heatmap showing player usage by seconds elapsed

Figure 1. Detroit Pistons rotation heatmap, 1988–89 regular season. 23 sampled games. Yellow = frequent appearance. Overtimes excluded.

Several things emerge immediately. Isiah Thomas and Bill Laimbeer are the only players with near-continuous bright yellow across all 48 minutes — they are the constants, the players Chuck Daly was effectively unwilling to bench for any significant stretch. This is consistent with the stint data: both players appear in more stints and more possessions than anyone else on the roster.

Dennis Rodman’s pattern shows something different. He is not a 48-minute player — there are visible gaps — but his fourth-quarter presence intensifies noticeably. The brightest yellow in Rodman’s row clusters in the closing minutes of games. Daly saved him, at least in part, for the moments that mattered most. Whether that reflects strategic deployment or minutes management is not something the heatmap can distinguish, but the pattern is real.

Rick Mahorn’s usage concentrates heavily in the first and third quarters, thinning noticeably in the second and fourth. This is consistent with a player being managed for foul trouble and physical wear — a frontcourt enforcer whose value was highest in the opening minutes of each half when the physical tone of the game was being set. The data supports the interpretation that Daly used Mahorn as a first-half enforcer and protected him late, a rotation philosophy that has been observed anecdotally but not documented at the possession level until now.

John Salley and James Edwards confirm what the stint numbers already showed. Both players appear almost exclusively in the middle of quarters — the classic bench rotation window — with minimal fourth-quarter presence. The coaching decision matches the data: these were necessary minutes players, not closing-time options.

What This Data Cannot Tell Us

It is worth being direct about the limits of what 23 games can establish. The lineup combinations with fewer than 50 possessions are suggestive, not definitive. The patterns identified here — particularly the Laimbeer-Mahorn dependency — are structurally coherent and consistent enough to be meaningful, but they will sharpen considerably as more games are added to the reconstruction.

Equally important: this data covers only the regular season. The 1988–89 Pistons won the championship. The possessions that defined their legacy were played in April and May, not November and January. The playoff data, when reconstructed, may confirm or modify what the regular season sample shows. It is possible, for example, that the Salley-Edwards limitations were managed differently in the playoffs — that Daly simply played them fewer minutes when the stakes were highest. The regular season rotation heatmap suggests as much. The playoff data will tell us.

What we can say now, with reasonable confidence: the Detroit Pistons’ dominance in these 23 games was structural, not individual. It was built on a frontcourt partnership between Laimbeer and Mahorn that elevated every player around it, a defensive system that made Rodman extraordinary and rendered the backup bigs acceptable, and an offensive engine in Thomas-Dumars that needed that structural foundation to reach its ceiling. When the foundation was present, this team was among the best in basketball. When it was absent — even briefly — they looked ordinary.

That is what a championship team looks like from the inside, possession by possession.


Data source: Squared Statistics / Justin Jacobs. Lineup and stint data reconstructed from video annotation of the 1988–89 NBA regular season. 23 Detroit Pistons games sampled; 132 five-man lineup combinations; 2,215 offensive possessions. RAPM estimates derived from a leaguewide sample of 216 games (21.1% of the full season) and carry confidence intervals of approximately ±9–10 points per 100 possessions; they are cited here as directional context only. Full methodology and tiered data access available at squared2020.com/about.

Leave a Reply

Discover more from Squared Statistics: Understanding Basketball Analytics

Subscribe now to keep reading and get access to the full archive.

Continue reading