Most leagues already name a Player of the Month. Somebody opens the stats, picks the name, writes a post, and finds a photo. The first two steps are arithmetic, so bbstats now does them for you. On the 1st of each month a league with a running championship gets an unpublished news draft naming the month’s player, with the averages, the shooting splits, and the best game already written in. You add the photo and press publish. The moment you do, a Player of the Month award is created and shown on the public Awards page, next to the season’s MVP and the podium.
The screenshots are from the Yerevan Amateur Cup at evncup.bbstats.am, whose September 2026 post was written by hand before this shipped. Its numbers and the ones bbstats computes from the same box scores are identical.
Table of Contents
- Quick Takeaways
- How the Player Is Chosen
- What the Draft Says
- From Draft to Award
- When It Runs
- What You Still Do
- Frequently Asked Questions
- References
Quick Takeaways
| Key Insight | Explanation |
|---|---|
| Drafts, never posts | The generated article is saved unpublished. Nothing reaches fans until an admin adds a photo and publishes it. |
| Efficiency decides | The pick is the highest FIBA efficiency (PIR) per game over last month’s finished games, among players with at least half as many games as the busiest player. |
| Every sentence is a number | “Led the league in scoring” appears only if nobody who played that month averaged more. The best night names the opponent and the date. |
| Publish creates the award | Publishing the post adds a Player of the Month award for that championship and month. Unpublishing or deleting the post removes it. |
How the Player Is Chosen
bbstats takes the finished games of the previous calendar month for one championship, in that championship’s time zone, and skips forfeits. Each box-score line counts as a game played only if the player actually featured: minutes on the clock or at least one recorded stat. A dressed player who never came on does not get a game.
The ranking is FIBA efficiency per game, the same PIR the Leaders page already shows: points, rebounds, assists, steals and blocks, minus missed field goals, missed free throws and turnovers. To stop a single big night from winning the month, a player needs at least half as many games as the busiest player that month. If four games were the most anyone played, two is the minimum. Ties go to total efficiency, then points per game.
A championship needs at least two finished games with box scores in the month before a draft is written. A league running several divisions, say U11 Boys and U13 Girls, gets one draft per division, with the division name in the title.
What the Draft Says
The structure follows the posts leagues already write: a headline, a congratulations line, a short story, then the numbers. The story is assembled from sentences that are only included when the stats support them. A league-leading figure is stated as such only if no other player who appeared that month averaged more. The team’s record in the player’s games is given only when it is a winning one. The best night is the game with the highest efficiency, with the opponent and the date.
Here is the story paragraph the demo league produced for September 2026. Everything in it is derived from two box scores:
Nobody in the league posted a higher efficiency rating this month than David’s 24.5 PIR per game. David led the league in scoring at 20.0 points per game. With 5.0 assists per game, David made the players around them better. And it came efficiently: 77.6% true shooting. That run included a double-double.
Best night of the month: 15 points and 10 assists against Lions on 16 September.
Below the story come the sections a reader expects: averages (PPG, RPG, APG, games, SPG, BPG), shooting (2-point, 3-point and free-throw percentages, omitted where there were no attempts), and advanced (PIR, true shooting, effective field goal percentage). The post ends with a link to the player’s profile. Openers and closers vary from month to month so two consecutive posts do not read as the same template. Pronouns are avoided, because the same code writes for boys’ and girls’ divisions.
From Draft to Award
Until now the public Awards page listed completed championships only: the podium and whatever the admin had added, MVP, Top Scorer, All-Star Five. A monthly award belongs to a season that is still running, so the page now also lists a running championship as soon as it has an award, and shows a separate Player of the Month section under the season awards.
The cover image of this article is that page at phone width. The award is created when the post is published, not when the draft is generated. That keeps the Awards page honest: it only shows what the league has announced. If the post is unpublished or deleted, the award goes with it. There is one award per championship and month. The card shows the month, the player with a photo, the team, a one-line stat summary, and a Read the story link to the post. The same award appears on the championship’s Awards tab, and the month label follows the visitor’s language.
When It Runs
- The check runs hourly. The draft for the month that just ended appears on the 1st, between 09:00 and 10:00 in the championship’s time zone.
- If a game from that month is still being scored live, the draft waits for the next hour.
- Each championship and month is generated once. A deleted draft is not re-created.
- Suspended leagues and the public demo league are skipped.
What You Still Do
- Open admin → News on the 1st. The draft is marked Draft, category Player of the Month.
- Read it. Edit any sentence you like, or rewrite it; the award uses the player, not the text.
- Add a cover photo of the player.
- Tick Published and save. The award appears on
/awardsimmediately.
If you disagree with the pick, delete the draft and write your own post, or add the award by hand in admin → Awards as before.
Frequently Asked Questions
Will fans see the draft?
No. It is unpublished and returns not-found on the public site until an admin publishes it.
Why efficiency and not points?
Points reward volume shooters. FIBA efficiency credits rebounds, assists, steals and blocks and charges misses and turnovers, so a 15-point, 12-rebound, 6-assist night outranks 22 points on 20 shots. It is also the figure the Leaders page already uses, so the pick can be checked there.
Our September post was already published by hand. What happens?
The draft is still written, because bbstats cannot tell that a hand-written post is about the same month. Delete the draft if you have already posted, or publish the generated one instead. For the Yerevan Amateur Cup, the bbstats team linked the existing September post to the player so it drives the award shown above.
Can I edit the award?
Yes, in admin → Awards, like any other. Publishing the post again rewrites it from the post’s player and stats.
Which stats are used for the note on the award card?
Points, rebounds and assists per game, efficiency per game, and the number of games, all from the month’s finished games.
