Scoring
Scoring: Star Algo and Fanta Algo
Glossary
Platform: the Starcks platform.
App: the Starcks web app.
Game: the Starcks fantasy football game.
Player: one of the footballers listed on the Platform.
User: a user registered on the Platform.
Star Token (STK): the primary token of the Platform.
Star Player Token (SPT): a secondary token associated with a Player.
Legend Token: an SPT associated with a Player who has officially retired from professional football. It does not generate a Round Score and cannot be fielded as a starting Player; it can be equipped in the Legend Slot.
Legend Slot: an additional Formation slot, separate from the starting Players and substitutes, in which a single Legend Token can be equipped. When active, it applies the Legend Multiplier to the Players sharing the Legend Token's role.
Legend Multiplier: a ×1.03 multiplier applied to the weighted contribution of the Formation's Players who share the role of the equipped and active Legend Token.
Credit: the Platform's credit unit. Credits can be won through the Game or generated through Locking. They can be spent on Game Items and Store Items.
Wallet: the section of the App where STK and SPT can be purchased and exchanged.
Formation: a set of 7 starting Players (1 mandatory goalkeeper + 6 outfield Players), together with their substitutes.
Formation Countervalue: the total STK value of the starting Players fielded in a Formation.
Store: the App store, where items of various kinds can be purchased.
Game Store: the store dedicated to the Game, where Game Items can be purchased: Logo, Jersey, Tactic and training items.
Tactic: one of the tactics — the default one or those purchasable in the Game Store — which provide multipliers depending on specific formations.
Round: a Game round, generally associated with a matchday of the Italian Serie A.
Boost: an additional multiplier applied to the Formation score depending on whether the incremental thresholds B1, B2 and B3, calculated on the Formation Countervalue, are exceeded. The threshold values are shown in the App.
Season: a Game season, typically associated with a Serie A season.
Tournament: a tournament made up of one or two consecutive Rounds, divided into access Levels, with an incremental entry threshold based on the Formation Countervalue.
Level: the access level of a Tournament, determined by the minimum Formation Countervalue required for entry. Four Levels are available.
Form: the condition status of an SPT, expressed on five levels (from 1 Exhausted to 5 Top), which provides a multiplier to the Player's score. It varies according to the Player's usage and rest.
Training: the free, time-based activity that raises a Player's Form by one level. It can be accelerated through the training items available in the Store.
ScoreAlgo: our proprietary algorithm for the quantitative assessment of a Player's performance during a match.
Introduction
Starcks The Game is an innovative fantasy football game in which Users field 7 Players from those available on the Platform — 1 mandatory goalkeeper and 6 outfield Players — and assign each of them a weighting within the formation.
A Player can be fielded provided the User holds, for that Player, a minimum quantity of Star Player Tokens equal to a value of 100 STK.
The weighting of each Player in the Formation ranges from a minimum of 10% to a maximum of 40%. The sum of the weightings of the starting Players equals 100%.
The STK values of the Players in the Formation (Formation Countervalue) and their respective weightings are calculated as final at the moment the Game Round opens.
A Tactic can be assigned to the Formation, either the default one or a consumable Tactic purchased in the Game Store. The Tactic provides a bonus multiplier to the Formation score if specific requirements are met.
Each fielded Player also carries their own Form multiplier, which depends on the condition status of the SPT at the moment the Round opens.
A Legend Token may also be equipped in the Formation's Legend Slot. The Legend Slot does not produce a score of its own and its countervalue does not count towards the Formation Countervalue. Activation requires holding a minimum countervalue of Legend Tokens — frozen at the moment the Formation is fielded, like all Player countervalues — equal to 10 per cent of the total value fielded in the Tournament in which the Line-up is taking part. Legend Tokens committed to Locking are excluded from this count.
A Boost multiplier may be applied to each Formation depending on the Formation Countervalue.
A Formation always takes part in the Season standings and optionally in a Tournament standings.
A User may choose to enter a Tournament by selecting one of the available Levels. Once a Level has been selected, it cannot be changed until the Tournament is completed.
Tournaments have standings divided by level, at the end of which prizes are awarded in Credits.
Each User may create up to 5 teams. The same SPT may be fielded in one team only per Round.
During the rest periods between Rounds, the Platform allows Users to customise their Formation. While a Round is in progress, the Formation cannot be modified.
When the Game editing phase opens, the Platform initially provides a default Formation, based on a maximum of the 7 highest-value Players held in the Wallet. If a User forgets to customise their Formation, they will play with the default Formation. If a User has customised their Formation, they can always revert to the default Formation.
Score calculation
Round Score
The Score of a Player in a Round (PS) is calculated through the ScoreAlgo, whose operation is explained in the following sections.
The ScoreAlgo calculates a score based on quantitative performance during a match. The PS is expressed as a value from 0 to 10,000.
Each Player's contribution to the Formation is the product of their PS, the weighting assigned in the Formation, their Form multiplier and, where applicable, the Legend multiplier. The Formation's Round Score is the sum of the individual Player contributions, multiplied by the Tactic Multiplier.
PlayerContribution(i) = PS(i) × Weight(i) × FormMultiplier(i) × LegendMultiplier(i)
Round Score = Sum( PlayerContribution(i) ) × TacticMultiplier
Legend Multiplier
If the Formation has a Legend Token equipped and active, each Player’s contribution includes the LegendMultiplier:
LegendMultiplier(i) = 1.03 if Role(i) = Role(Legend); otherwise 1.00
The Legend Multiplier is applied to the individual weighted contribution, inside the summation, before the Tactic Multiplier and the Boost — following the same logic as the Form multiplier. It also applies to a substitute who enters play, if they share the Legend Token’s role. If no Legend Token is equipped, if the activation threshold is not met, or if no fielded Player shares the Legend Token’s role, LegendMultiplier(i) = 1.00 for all Players. ScoreAlgo and the calculation of the PS are not affected in any way.
Seasonal Score
The Seasonal Score is calculated from the Round Score, to which a Boost Multiplier is applied depending on the Formation Countervalue, resulting in a Seasonal Round Score. The sum of all Seasonal Round Scores determines the Seasonal Score.
Seasonal Round Score = Round Score × BoostMultiplier
The Boost Multiplier is determined by exceeding the incremental thresholds B1, B2 and B3, calculated on the Formation Countervalue. The threshold values and their corresponding multipliers are shown in the App.
Tournament Score
The Tournament Score is calculated from the Round Score, to which a Tournament Multiplier is applied. This multiplier is 0 if the subscribed Tournament Level is not met, or 1 if it is, resulting in a Tournament Round Score. The sum of all Tournament Round Scores determines the Tournament Score.
Tournament Round Score = Round Score × TournamentMultiplier [0 | 1]
The Boost does not apply to the Tournament Score: it is exclusive to the Season standings.
Tournament Levels
Levels are determined by the Formation Countervalue, calculated on the starting Players only. Substitutes do not count towards reaching the threshold.
| Level | Minimum Formation Countervalue |
|---|---|
| Level 1 | 1,000 STK |
| Level 2 | 3,000 STK |
| Level 3 | 10,000 STK |
| Level 4 | 30,000 STK |
The Formation Countervalue is recorded at the moment the line-up is submitted. Any change to the Formation updates this record; the last valid line-up at the time of Tournament entry is the one that counts. Subsequent market fluctuations do not affect Level eligibility.
Substitutions
For each starting Player fielded, a direct substitute may be designated, who must have the same STK value as the starting Player. In the event of a substitution, the substitute comes on retaining the same STK value and the same weighting as the Player replaced.
For scoring purposes, a substitute who comes on carries their own Form multiplier, not that of the starting Player replaced.
Form
Form is the condition status of a Player, expressed on five levels. It provides a multiplier applied to the individual Player's contribution within the Formation. All Players start at level 3 (Normal) at the beginning of the Season; Players purchased during the Season also start at level 3.
Levels and multipliers
| Level | Name | FormMultiplier |
|---|---|---|
| 5 | Top | x1.08 |
| 4 | Sharp | x1.04 |
| 3 | Normal | x1.00 |
| 2 | Tired | x0.95 |
| 1 | Exhausted | x0.88 |
Form variation
Each Player's Form is updated at the close of the Round, once only, according to the Player's status in that Round.
| Player status in the Round | Variation |
|---|---|
| Fielded as a starter, received a rating | −2 levels |
| Fielded as a starter, did not receive a rating (postponement, did not play) | unchanged |
| Fielded as a substitute, came on | −1 level |
| Fielded as a substitute, did not come on | +1 level |
| In the Wallet, not fielded in any team | +2 levels |
| The User does not field any team in the Round | unchanged across all Players |
Form cannot fall below level 1 or rise above level 5. Excess values are not stored.
The Form level a Player holds when the Round opens is recorded at that moment and remains fixed for that Round's score calculation, even if a Training session completes while matches are in progress.
Training
Training is the free activity that raises a Player's Form. Each session raises Form by 1 level and requires an increasing waiting time:
| Level transition | Session duration |
|---|---|
| Level 1 → 2 | 8 hours |
| Level 2 → 3 | 16 hours |
| Level 3 → 4 | 16 hours |
| Level 4 → 5 | 24 hours |
Full recovery from Exhausted (1) to Top (5): 4 sessions, 64 hours in total. From Normal (3) to Top (5): 2 sessions, 40 hours in total.
A maximum of 4 Players may be in timed Training at the same time. At the end of each session the slot is freed and the Player stops at the new level: to continue, a new session must be started manually.
Timed Training continues during an ongoing Round; any resulting level increase applies to the following Round.
Training items
Store items increase Form with immediate effect, with no waiting time, and do not occupy Training slots.
| Item | Effect | STK | Credits |
|---|---|---|---|
| Training Session | +1 level | 20 | 800 |
| Training Camp | +2 levels | 45 | 1,800 |
| Athletic Preparation | raises to level 5 | 100 | 4,000 |
Within the Training section, for a Player with a timed session in progress, the Complete Training item is available, which ends the session immediately. It can only be purchased with Credits, at a cost of 50 Credits for each remaining hour of the session (rounded up, with a minimum of 50 Credits).
No item can raise a Player above level 5.
Tactics
With the 7-Player format, seven Tactics are available. The multiplier is applied to the Formation's Round Score. Using a Tactic costs 1,500 Credits or 38 STK and is valid for a single Round.
| Tactic | D-M-F | TacticMultiplier |
|---|---|---|
| 1-3-2-1 | 3-2-1 | x2.06 |
| 1-2-3-1 | 2-3-1 | x2.05 |
| 1-3-1-2 | 3-1-2 | x2.04 |
| 1-2-2-2 | 2-2-2 | x2.03 |
| 1-1-3-2 | 1-3-2 | x2.02 |
| 1-2-1-3 | 2-1-3 | x2.01 |
| 1-1-2-3 | 1-2-3 | x2.00 |
Higher multipliers are assigned to more defensive formations, compensating for the lower average score of defensive roles compared with attacking ones (see the normalisation deciles below).
The Tactic multiplier applies only if every Player in the Formation has a weighting equal to or greater than 10%. Where no Tactic is activated, the TacticMultiplier is x1.00.
StarAlgo
To calculate a Player's score (PlayerScore) for a match, a BaseScore and an AdjustedScore are used according to the formula:
PlayerABSScore(match, player) = BaseScore(match, player) + AdjustedScore(match, player)
PlayerScore = Normalize(Previous(Season(match)), Role(player), PlayerABSScore)
The PlayerScore has no maximum quantitative limit and is therefore normalised within a range of [0, 1] and subsequently multiplied by 10,000.
BaseScore is calculated on statistics that have a direct impact on the match (for example, goals, assists, red cards).
AdjustedScore is calculated on complementary statistics that are valuable in assessing a player's overall performance and impact on the match.
Normalize: normalisation uses the statistics of a season (we use the season prior to the current one, as it is complete) and the Player's role.
BaseScore calculation
The BaseScore tracks a Player's key contributions during a match. Every Player starts at level 0. Each positive-impact statistic raises the player's score level, each negative-impact statistic lowers it to the previous level. The level cannot fall outside the range [-3, 5].
Example: a player with 2 goals, 1 assist and a red card will end at level 2; a player who concedes 1 penalty and receives a red card will end at level -2 (5 points).
Given a level, a base score is generated according to the following table.
| Level | BaseScore |
|---|---|
| -3 | 0 |
| -2 | 5 |
| -1 | 15 |
| 0 | 25 (+10 if the Player took part in at least ⅔ of the match time) |
| 1 | 60 |
| 2 | 70 |
| 3 | 80 |
| 4 | 90 |
| 5 | 100 |
Below is the list of events with a positive impact (+1) and a negative impact (-1) on the BaseScore calculation.
| Type | Role | Event |
|---|---|---|
| Positive | Any | Goal |
| Positive | Any | Assist |
| Positive | Any | Penalty Kick Won |
| Positive | Goalkeeper | Penalty Kick Saved |
| Positive | Goalkeeper | Clean Sheet |
| Negative | Any | Red Card |
| Negative | Any | Own goal |
| Negative | Any | Pen Kicks Committed |
| Negative | Any | Pen Kicks Missed |
| Negative | Goalkeeper | Goals conceded >= 3 |
AdjustedScore calculation
The AdjustedScore takes into account secondary statistics that are harder to quantify during a live match. For this purpose we rely on market-leading partners such as Opta Stats Perform to obtain these statistics, which we use because we believe that, together with decisive scoring events, they offer a more accurate overall assessment of a player's impact on a match.
The AdjustedScore is currently calculated using the table below, according to the following formula:
AdjustedScore(match, player) = Sum(
*for(param, Parameters(), Weight(param, Role(player)) \ ParamValue(match, player, param))**
V8 thresholds
| Parameter | Scope | W Cen. Def. | W Ext. Def. | W Mid. | W Mid. Att. | W Att. | W GK |
|---|---|---|---|---|---|---|---|
| Shots on target (Shots) | Any player | 3.00 | 3.00 | 2.00 | 2.00 | 2.00 | 5.00 |
| Shots off target (ShotsMissed) | Any player | -0.50 | -0.50 | -1.00 | -1.00 | -1.00 | -0.50 |
| Accurate passes % (PassesAccurate) | Any player | 0.05 | 0.05 | 0.05 | 0.05 | 0.06 | 0.05 |
| Chances created (PassesKey) | Any player | 0.40 | 0.40 | 0.30 | 0.30 | 0.10 | 0.50 |
| Tackles won (TacklesWon) | Any player | 3.00 | 3.00 | 3.00 | 3.00 | 3.00 | 0.00 |
| Duels won (DuelsWon) | Any player | 1.50 | 1.50 | 1.00 | 1.00 | 1.00 | 0.00 |
| Duels lost (duels.total-duels.won) | Any player | -1.00 | -1.00 | -1.00 | -1.00 | -1.00 | 0.00 |
| Aerial duels won (DuelsAerialWon) | Any player | 0.80 | 0.80 | 0.80 | 0.80 | 1.00 | 0.00 |
| Successful dribbles (DribblesWon) | Any player | 1.50 | 1.50 | 1.50 | 1.50 | 1.50 | 5.00 |
| Failed dribbles (DribblesLost) | Any player | -0.50 | -0.50 | -0.50 | -0.50 | -0.50 | -0.50 |
| Dribbled past (DribblesPast) | Any player | -0.50 | -0.50 | -1.00 | -1.00 | -1.00 | -1.00 |
| Interceptions (BallsIntercepted) | Any player | 3.00 | 3.00 | 3.00 | 3.00 | 3.00 | 3.00 |
| Blocks (BallsBlocked) | Any player | 2.00 | 2.00 | 1.00 | 1.00 | 1.00 | 0.00 |
| Possession lost (BallsDispossessed) | Any player | -0.60 | -0.60 | -0.50 | -0.50 | -0.10 | -0.30 |
| Accurate crosses (CrossesAccurate) | Any player | 0.50 | 1.00 | 0.50 | 0.50 | 0.50 | 0.20 |
| Fouls committed (FoulsCommitted) | Any player | -2.00 | -2.00 | -1.00 | -1.00 | -0.50 | -1.00 |
| Yellow cards (YellowCards) | Any player | -3.00 | -3.00 | -3.00 | -3.00 | -3.00 | -3.00 |
| Penalties missed (PenKicksMissed) | Any player | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| Goals conceded by team (GoalsTeamConceded) | Any player | -4.00 | -4.00 | -2.00 | -2.00 | 0.00 | 0.00 |
| Offsides (Offsides) | Any player | -2.00 | -2.00 | -0.50 | -0.50 | -0.50 | -1.00 |
| Woodwork (other.hit_woodwork) | Any player | 3.00 | 3.00 | 3.00 | 3.00 | 3.00 | 3.00 |
| Saves (ShotsSaved) | Goalkeeper | n/a | n/a | n/a | n/a | n/a | 2.00 |
| Goals conceded (GoalsConceded) | Goalkeeper | n/a | n/a | n/a | n/a | n/a | -3.00 |
| Punches (Punches) | Goalkeeper | n/a | n/a | n/a | n/a | n/a | 1.50 |
ABSScore normalisation
Each ABSScore is normalised on the basis of the previous season's deciles, calculated in advance and maintained throughout the current season.
Below are the reference thresholds for the division into deciles and the min and max values per role category.
| Role | MIN | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | MAX |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Goalkeeper | -1.85 | 25.80 | 36.65 | 39.74 | 42.60 | 45.77 | 49.75 | 63.20 | 69.00 | 74.02 | 90.60 |
| Central Def. | -9.75 | 26.01 | 29.07 | 31.50 | 34.30 | 37.60 | 41.20 | 45.80 | 51.88 | 59.94 | 100.45 |
| External Def. | 2.45 | 29.75 | 36.17 | 40.05 | 43.85 | 46.62 | 49.85 | 53.80 | 60.11 | 68.67 | 107.70 |
| Midfielder | 7.0 | 26.35 | 29.10 | 31.75 | 34.85 | 38.45 | 42.35 | 46.12 | 52.05 | 64.35 | 103.75 |
| Midfielder Att. | 8.30 | 26.80 | 31.96 | 35.12 | 38.10 | 40.80 | 44.09 | 51.22 | 62.19 | 70.14 | 106.95 |
| Attacker | 5.84 | 26.35 | 28.94 | 31.00 | 33.50 | 37.00 | 41.05 | 46.82 | 62.53 | 70.37 | 105.64 |
The deciles collect all Player scores of a season within the same role category, order them by score and divide them into 10 equally represented groups. So if we had 100 players per category, the range [MIN, D1] would contain the bottom 10 by overall seasonal result, the range [D1, D2] the next 10, and so on up to the range [D9, MAX], which would contain the top 10 by seasonal result. The 9 thresholds associated with deciles D1 - D9 divide the player categories into 10 rating families. In normalisation, values below MIN return 0 and values above MAX return 100.
Example 1: an ABSScore of 43.5 falls within the range [D4, D5] and therefore corresponds to a normalised score (expressed in hundredths) between 40 inclusive and 50 exclusive, calculated proportionally according to the proximity of the score to the two thresholds.
NV = (V - Spre) / (Spost - Spre) + Decile
specifically: NV = (43.5 - 42.60) / (47.77 - 42.60) + 4 = 4.1740. This is then multiplied by 1000 in the Game score to work with whole numbers only: in this case NormalizedScore = 4174.
Example 2: an ABSScore of 69.00 for a Goalkeeper falls within the range [D8, D9] and therefore corresponds to a normalised score (expressed in hundredths) between 80 inclusive and 90 exclusive; in this case it corresponds exactly to the lower threshold of D8, which is always multiplied by 1000 to work with whole scores. We therefore obtain NormalizedScore = 8000.
Notes on normalisation
Normalisation redistributes a rating typically concentrated between 25 and 75 into a rating between 0 and 100, giving the impression of having lost 20 points at D1 and gained 20 points at D9. This effect is caused by the concentration of ratings within the decile bands: for example, for Goalkeepers D1 starts at -1.85 and D9 reaches 90.60, and the normalisation operation can turn a rating corresponding to an ABSScore of, say, 75 into a normalised rating above 90. Nevertheless, the normalised rating helps to represent a Player's quantitative score more effectively, making use of the entire available rating range.
Calculation chain summary
For clarity, below is the complete chain from an individual Player's rating to the standings score.
| Step | Formula |
|---|---|
| 1. Player rating | PS = ScoreAlgo(match, player), from 0 to 10,000 |
| 2. Player contribution | PS × Weight × FormMultiplier × LegendMultiplier |
| 3. Round Score | Sum(contributions) × TacticMultiplier |
| 4. Seasonal Round Score | Round Score × BoostMultiplier |
| 5. Tournament Round Score | Round Score × TournamentMultiplier [0 | 1] |
| 6. Seasonal Score | Sum of Seasonal Round Scores |
| 7. Tournament Score | Sum of Tournament Round Scores |
The Boost applies exclusively to the Season standings. Form, Legend and Tactic apply to both standings.
Last revised: September 2, 2026