Player ratings & letter grades
Why an A is rare and a C isn't an insult
Every player in Front Office Hoops has ratings under the hood, but you’ll never see a raw number. Every surface that shows a player (player pages, the roster screen, trade offers, the draft board) shows a letter grade instead. That’s a deliberate choice: numbers invite you to compare 81 vs. 82 and lose the plot. Letters tell you what you actually need to know: whether a player is a starter, a bench piece, or a star.
The grade scale
The scale is anchored to real NBA archetypes, not a flat curve from 0 to 100. Here’s the full table:
| Grade | What it means |
|---|---|
| A+ | Generational: a true superstar |
| A | All-Star |
| A- | Borderline All-Star |
| B+ | Above-average starter |
| B | Average starter |
| B- | Low-end starter / sixth man |
| C+ | Key reserve |
| C | Rotation player |
| C- | Solid bench |
| D+ | Deep bench |
| D | End-of-bench |
| D- | Fringe pro: G-League / two-way caliber |
| F+ / F / F- | Below pro level |
Why most players are Bs and Cs
Most of the table lives below the A tier, on purpose. The A tier is rare: most seasons you’ll have zero or one A-grade player on your entire roster. The B range covers the whole starter spectrum, from clearly-above-average starters down to sixth men who start when the matchup calls for it. A C is a rotation player, not an insult: it means this person is good enough to play meaningful minutes in the league. Most rosters are built mostly out of Bs and Cs, with the occasional A or D mixed in. Below the starting five, C-range players are the norm: rotations and benches are made of them, and that’s true of every team in the league.
The fifteen ratings
Fifteen ratings make up a player’s game. Overall is the headline, but under it every player carries the same set of individual skills, each graded on the same letter scale:
| Rating | What it drives |
|---|---|
| Inside | Scoring at the rim: post moves, drives, finishing through traffic |
| Mid-range | The in-between game: pull-ups, floaters, baseline jumpers |
| 3-point | Shooting from deep, both accuracy and how much defenses respect it |
| Passing | Playmaking and assist creation; who your offense actually runs through |
| IQ | Decision-making everywhere: shot selection, fewer turnovers, being in the right spot |
| Defense | On-ball and team defense: contests, steals, making opponents’ nights hard |
| Rebounding | Ending possessions on one glass and extending them on the other |
| Speed | Quickness up and down the floor: transition play, drives, staying in front of guards |
| Strength | Physical battles: holding position inside, finishing through contact |
| Jumping | Vertical athleticism: blocks, boards above the rim, lob finishing |
| Endurance | How slowly a player tires; high-endurance players stay effective deep into games |
| Handling | Ball security: protecting the dribble and avoiding turnovers |
| Free Throws | Accuracy at the line |
| Stealing | Jumping passing lanes and stripping the ball |
| Blocking | Protecting the rim: challenging and rejecting shots |
A player’s physical profile (height, weight, wingspan) layers on top of all of this: a long, tall player blocks and rebounds above what his ratings alone suggest, and a small guard pays for his quickness in the post.
Tendencies and usage
Ratings say how good a player is; tendencies say what he does on the floor. Every player carries a playstyle profile: his shot mix between the rim, the mid-range, and the three-point line, and his usage, how much of the offense runs through him. Tendencies are rolled from a player’s ratings when he enters the league, so a knockdown shooter hunts threes without you configuring anything, and you can read a player’s profile on his scouting report.
Grades across positions
A grade means the same thing at every position. An A in rebounding is elite rebounding at any position: a point guard with that grade cleans the glass like a big does. What changes by position is how common a grade is (centers cluster at the top of the rebounding scale; passers cluster at point guard) and how much that skill matters to the player’s job. The game leans on different ratings for different roles, so a center’s inside and rebounding grades carry his value the way a point guard’s passing and IQ carry his. Rare combinations do exist, and they’re exactly as valuable as they sound: an elite-rebounding guard is a matchup problem, not a rounding error.
Potential and development
Every young player has a ceiling separate from where he is today, and, like current ability, it’s never shown as a number. What decides whether a prospect actually reaches that ceiling, more than anything else, is minutes. Young players grow toward their potential by playing real rotation minutes; a talented prospect buried at the end of the bench develops slowly, and if he stays buried past his earliest seasons, the ceiling itself starts to quietly shrink. That’s how most promising careers stall: the talent was real, the opportunity never came. For a prospect buried too deep to earn rotation minutes, the development league is the release valve: assign him there and he develops on real minutes instead of stagnating at the end of your bench. Age sets the arc around it: players improve through their twenties, peak in their late twenties, and decline sets in during their early thirties (the true greats hold on a little longer).
Scouting the ceiling: the PROJ badge
Every player carries a PROJ grade: the grade he projects to reach at the peak of his career, built by simulating his own growth curve forward many times and taking an optimistic-but-honest read. It revises every season: a young player’s projection firms up as he develops, and by his late twenties PROJ and his current grade converge, then decline together. Scouts are usually right (roughly seven times out of ten), but they can miss by a grade step in either direction, and occasionally two. One thing to know: the read is the same for everyone. CPU front offices trade, sign, and draft off the exact same projection you’re looking at. Treat it as a lean, not a guarantee.
Team grades
Teams get graded too, against results rather than each other. Your team’s OFF / DEF / OVR grades use the same letters, but they’re anchored to outcomes: a B overall is a .500-quality roster, each tier up or down is worth roughly six wins, an A team profiles at a 58-win pace, C is lottery territory, and the D/F range is a teardown. Because the scale is absolute rather than a league ranking, a high-parity league can legitimately cluster in the B range with nobody at either extreme. Grades rate the roster’s strength, not its record: a good team wrecked by injuries or gutted at the deadline can finish well below what its grade says it deserved. One note for imported leagues: team grades are anchored to that league’s own baseline, so an average team in your imported file still reads as a B. The importing guide covers how that works.
The result is a rating system that reads like a scout’s notebook instead of a spreadsheet: quick to scan, hard to over-optimize, and honest about the fact that most of the league is good-not-great. The real GM decisions live in building a rotation of solid Bs and Cs who fit together, not in chasing the one A+ prospect.