Series tables and standings

How a standings table is calculated and published in Profixio: the criteria that decide the order, the points system behind them, when a table is regenerated, how to publish, hide and export it, and why a table can look wrong or be missing.

Updated October 13, 2026
Showing settings for: Malvikcupen Abrahallen 2019

Looking for something else? Generating and scheduling matches Setting up a series season Administering series matches

A standings table ranks the teams in one group of one class, using the results of the matches they have played. Profixio builds tables the same way for a series and for a standalone tournament. The competition type only changes when the first table appears, not how it is calculated.

One table per group, normally. A class with three groups gets three tables. A class can instead be set to play as one single table across the whole class, and playoff series (best-of ties and round-robin playoff groups) get their own tables. Whichever it is, the table is stored and republished by the system — nobody types the numbers in.

Two separate things decide what you see:

  • The calculation — how many points a win, a draw and a loss are worth, and the ordered list of criteria that separates teams on equal points. This is what decides the order.
  • The display — which columns are shown and in which order. Changing the display never changes the order.

Both are picked from your federation's standard for that sport and country, so in normal use nobody has to configure anything.

What a table is built from. Only matches that have a result count. A match with no score, no home team or no away team is skipped, and so is a match explicitly marked as not counting towards the ranking. Teams that have been withdrawn are removed from the table entirely, and a team with no matches at all does not appear.

On the public class page. Open a class from the match programme and the tables for its groups are shown above the fixtures, one box per group, plus a box for each playoff bracket that has a table.

In the Profixio app and on the new public competition pages. A competition has a Tables tab that lists the tables for all its classes, and a team's own page shows the table of its group. If a class has no table yet, the app shows a plain list of the teams instead — that is the fallback, not an error. On the competition home screen the tables are shown in a compact form with only matches played, wins, draws, losses and points (or win percentage where that is what the class ranks on). In Swedish table tennis team series, the Tables tab and the competition home screen show the same set-based standings, with the individual matches, sets and balls each team has won and lost.

Under every table there are two buttons, and they are public:

  • Table explanation — opens a panel titled Criterias used listing the criteria in priority order with columns Priority, Name, Sort by most points and Locally, plus the name and id of the calculation and of the display layout. The panel also recalculates the table live and shows every criterion as a column; the columns for criteria calculated head-to-head are marked with an asterisk.
  • Calculation for teams with same points — shows, for each group of tied teams, the matches that were used, a temporary table computed from only those matches, and which criterion actually separated them. If no head-to-head step was needed, it says The table was calculated without the need for locally matches.

If the class has no calculation selected, the panel says No calculation criterias found.

The table refreshes itself. The class page listens for the rebuild finishing and reloads the table a few seconds later, so you do not have to refresh after registering a result.

Promotion and relegation lines. If the class has promotion or relegation counts set, the table draws a line under the promotion places and above the relegation places — solid for direct promotion or relegation, dashed for playoff places. The lines are presentation only; nothing moves a team to another division.

Organisers see one extra thing: Generated at with the timestamp of the last rebuild, shown only to users who may edit classes.

Every calculation is an ordered list of criteria. Profixio applies them one at a time, from priority 1 downwards, and stops separating teams as soon as they are no longer equal.

Each criterion has three properties:

  • Name — what it measures: points, matches played, wins, draws, losses, goals for, goals against, goal difference, goal ratio, set ratio, game-ball totals and ratios, form over the last five matches, winning streak, drawing of lots, forced position, and federation-specific ones such as rugby bonus points or basketball regulation-time statistics.
  • Sort by most points — Yes means a high value is better (points, goals scored), No means a low value is better (goals conceded).
  • Locally — Yes means head-to-head: the criterion is calculated only from the matches the tied teams played against each other, not from the whole group.

How head-to-head actually works. When Profixio reaches a criterion marked Locally and two or more teams are still level, it takes just those teams, takes just the matches between them, recalculates every statistic from scratch for that mini-table, and re-applies that criterion and the ones after it inside the mini-table. The resulting order is written back into the main table. This is what the Calculation for teams with same points panel shows you step by step.

Consecutive head-to-head criteria are resolved in that single pass — they are not applied one after another as separate rounds.

A worked example. A typical football-style list is: points, then goal difference, then goals scored, then points in the matches between the tied teams (head-to-head), then goal difference between them, then goals scored between them, then drawing of lots. Your federation's list may be shorter, longer or in a different order; open Table explanation to see the one actually in force.

Drawing of lots is not automatic. When teams are completely equal on every criterion, Profixio leaves them equal. Somebody has to decide the order outside the system and then record it — see the section on teams that are treated differently.

The points system belongs to the calculation, not to the class. It sets three values — points for a win, for a draw and for a loss — and optionally a fourth: a point for losing while still scoring. That last one is how sports that reward a losing team for scoring at least once are handled.

Score-dependent points. A calculation can override the three values for one exact scoreline. This is how set sports work: a 3–0 or 3–1 win is worth the ordinary win points, while a 3–2 win is overridden so that the winner gets less and the loser gets one. When you read the calculation's name in the Table explanation panel, that is usually exactly what it says — for example Res 3-0 3-1 -> 3p/0p, Res 3-2 -> 2p/1p.

Bonus points. Some federations add points that are not derived from the score at all but ticked by the person registering the result. Those are added on top of the match points and ranked with their own criteria. See the federation section below.

Ranking on something other than points. A calculation does not have to put points first. A table type can rank on win percentage instead, in which case the win-percentage column takes the place of the points column in the compact table.

Starting points and deductions. A team can be given a starting balance before any match is counted: points, matches played, a win–draw–loss record, goals for and against, and game balls. This is how points carried over from an earlier half of a season, and how a points deduction, are put into a table. There is no separate "points deduction" feature — a deduction is a negative starting-point value. It is a manual entry per team; Profixio does not detect a split season and copy anything by itself.

This page covers how standings are calculated, published and exported. Neighbouring topics have their own pages:

  • Classes, groups and competition format — creating classes, groups and playoff brackets, one-table-per-class versus one-table-per-group, sets, and the general shape of a competition.
  • Match and result visibility — hiding the whole match programme, hiding individual matches, and hiding results. The hide-table switch is described here because it changes the standings, but the rest of the visibility family is over there.
  • Ranking points and seeding — federation ranking lists, ranking points earned in a tournament and how they feed seeding. Those are a different feature from a standings table, despite the shared word "ranking".
  • Public tournament pages — what the public site shows and how it is configured.
  • Editing a match and registering results — the match form itself, including the draw/tie window and clearing a result.
  • Match generation and scheduling, Setting up a series season and Administering series matches — how the fixtures that feed the table are created and maintained.

For other roles

Tables are not calculated when someone opens the page. They are rebuilt in the background whenever something that could change them happens, and the page shows the last stored result.

A rebuild is triggered when:

  • a result is registered, edited, corrected or cleared — from the match form, from the electronic protocol (including sign, undo-sign and admin refresh), from live registration, and from the API;
  • a match is hidden or shown, or a match is moved between classes;
  • a team is added, renamed, edited or deleted in a class, or a team's forced position, guest-team flag or starting points are changed;
  • a coin toss / drawing of lots is recorded;
  • the class settings are saved — and also when the class settings screen is merely opened;
  • an organiser saves the class settings to rebuild a class by hand.

When the first table appears.

  • Series (leagues): as soon as the fixture list exists. The table lists every scheduled team with zeros. A class with no matches at all gets no table.
  • Standalone cups and tournaments: not until the first result in that class is registered. Before that the app shows a plain team list.

It is not instant. The rebuild runs on a background queue, one rebuild per class at a time, and a very large class can take minutes. If a colleague registered a result ten seconds ago and the table has not moved, wait and reload before assuming something is wrong. Public pages also cache the table for a few minutes.

Two kinds of table are also recalculated on a schedule. The set-based standings in Swedish table tennis team series are recalculated every five minutes for each group that has changed since the last calculation. Every night, classes for ages 12 to 19 in Swedish handball series that use another calculation are switched to the federation's youth calculation, and their tables are rebuilt. Apart from these, nothing rebuilds tables on a schedule; if no trigger fires, the stored table stays as it is.

Manual rebuild. Saving the class settings queues a rebuild for that class. The legacy result-registration page has a broader one — Any missing tables or is the final play not updated? with the button Click to recalculate all tables and all the teams in the final play matches — which rebuilds every table in the tournament and re-resolves the playoff bracket. That button is only offered when the tournament has automatic match tables switched on.

In normal use you do not choose anything. A class inherits the calculation and the display used by your federation for that sport and country. An organisation can have its own default per sport; ask your federation or district administrator to change it.

Every class can be given a calculation, even a class that is set up not to show tables, which is often used for the youngest age groups. The hide table switch changes what is shown, not how the order is calculated.

Where the two fields live. Open a class in the match programme and use Edit category. The Category tab has:

  • Rang type — the calculation, with the help text Select which type of ranking table should be used.
  • Visning rto id — the display layout, with the help text Select how the table should be displayed.

Both are numeric ids. The Match table tab next to it is a read-only view: it shows Explanation for match table calculation with the criteria in force, the Ranking View Table display columns, and the calculated table itself so you can see the effect immediately.

When the two fields can be set. The calculation and the display layout can be chosen or changed only after the match programme has been published, either as an evaluation setup or as the live setup.

Who can change them. The Edit category button and the form behind it require the right to edit classes. Without it the button is not shown and the page refuses to open.

The criteria themselves are not set on the class. Ask your federation or district administrator to change which criteria a calculation uses, or to have a new calculation built for a special competition. Ask, do not improvise: a wrong criteria order mis-ranks a live series.

Both fields must be set for a table to be stored. A class with a calculation but no display layout, or the other way round, produces no table at all. That is a common cause of "the table is just missing".

A class has a hide table switch. Federations use it for age groups where a public ranking is not wanted, typically the youngest classes.

What hiding does:

  • The table is not shown on the new public competition pages or in the app — for anybody, including administrators.
  • On the tournament's own class page the class carries the notice Tables are not shown for this category. Users with match-edit rights still see the table itself, marked The table is hidden in public view; everyone else sees no table.
  • Playoff fixtures whose participants are described by table position stop naming the position and show Not decided instead, because the placeholder text would give the standings away.
  • The class is left out of the tables API.

This is a manual choice, not an age rule. Profixio does not read players' ages and does not decide anything from the class name. If your federation expects young age groups to have no public table, somebody has to set the switch on each class.

Where to set it.

  • Tournaments: the class edit page, and inline on the class list reached from the match programme.
  • Series and leagues: the levels table in the league admin, as an inline checkbox, as a filter, and as a bulk action so a whole set of divisions can be switched at once.

Hiding the table does not stop results from being registered, does not delete anything, and does not hide the fixtures. Hiding fixtures and results is a separate set of switches — see the match-visibility page.

Four per-team settings change how a team is placed. They are on the Teams tab of Edit category (Click on a team to edit), and each one adds a marker after the team name in the table.

Setting Marker Effect
Forced position (*2) — the number you set The team is pinned to that place. Everyone else shifts around it. Its matches still count towards goals and points for the other teams.
Guest team? (*G) The team is placed last with no position number, and every match it played is removed from the calculation — the other teams' goals, points and matches-played do not include them.
Excluded from A playoff? (*X) Marks a team that must not be seeded into the top playoff. It does not change the table order itself.
Drawing of lots (*DL) Records that this team won a lot drawn outside the system. It becomes the value of the drawing-of-lots criterion, which is usually the last tie-break.

Guest team is the strong one. Use it for a team playing on different terms, a team from outside the competition, or a filler team — anything whose results must not distort the other teams' statistics. Depending on the display layout the guest team is shown at the bottom without a position number, or left out of the published table altogether; either way the effect on the other teams' figures is the same. Forced position is the weak one: it moves a team but leaves its results counting.

Recording a drawing of lots. Profixio does not draw for you. Decide the winner outside the system — coin toss, penalties, whatever the regulations say — then open any match in that group, go to the advanced part of the match form and use the draw/tie window to mark the team that won. The table is recalculated and the team is shown with (*DL).

Starting points. In series, the same team editor has Update initial starting points with the fields Points, Matches, Win-draw-lost, Goal+/Goal-, Gameball+/Gameball- and Comment. Whatever you enter is the team's balance before any match is counted. Use it for points carried over from an earlier stage and for points deductions (enter a negative value). Fill in the format the fields ask for — 3-2-1 for win–draw–loss, 10-5 for the paired fields — or the form refuses to save.

Withdrawn teams disappear. A team marked as withdrawn is removed from the table completely rather than left at the bottom with zeros.

When a playoff slot is defined as "best second-placed team of all groups" rather than "winner of group A", Profixio has to compare teams that never played each other. Two rules make that fair, and both surprise people.

Groups are cut to the same size. If one group has six teams and the others have five, the sixth-placed team in the bigger group is treated as a guest team for this comparison — which means all of its matches are ignored. Every team being compared has then played the same number of matches. The team is only excluded from the comparison; it keeps its normal place in its own group's published table.

For example, in a class with three groups where two groups have five teams and one has six, the teams in the six-team group would otherwise have one match more in which to collect points. Ignoring the match against the last team in that group’s table means every team is compared over the same number of matches.

Nothing is decided until the whole class has finished its group stage. The comparison only runs when every group match in the class has a result. Until then the playoff slots stay unresolved, even if the group in question finished a week ago. This is the usual reason a bracket still shows placeholders while the tables look complete.

If a comparison ends in a genuine tie that the criteria cannot break, Profixio refuses to guess and flags the slot as impossible to calculate rather than filling it with the wrong team.

A single fixture can be played as several physical matches — a best-of-three or best-of-five tie, or a format where the same pairing is split into parts whose goals are added together. Profixio combines them into one result for the table.

  • Best-of ties: the calculation counts wins across the legs. As soon as one team reaches the majority, the tie is decided and the legs that are no longer needed are hidden automatically. If a decider becomes necessary again, they are unhidden again.
  • Added-goal formats: the parts' goals are summed into the parent fixture.
  • If the legs are level and some are still unplayed, the tie is left undecided and the parent fixture has no result yet.

This runs on every rebuild. If an organiser manually unhides a leg that the calculation considers unnecessary, the next rebuild will hide it again. The way to make it appear is to give it a result, not to unhide it.

Excel export of a whole season. In the league admin, filter the league list by season and use Export tables in the actions menu. It downloads one spreadsheet containing every table of every league in the filtered list, with columns for Id, Forbund, League, Nivå, Pulje and Posisjon, plus one column per criterion translated for the sport. The action is hidden until a season is selected.

The export has no team-name column. It gives you the position and the figures, not who is in each place. That is a gap in the export, not a setting you have missed — say so before someone spends an afternoon looking for the option.

API. The tables API, described on the integrations page, returns the stored tables of a tournament as JSON, grouped by class and then by group, with each row keyed by criterion name. It requires web-service access to that tournament. It returns only classes that are fully public — a class with the table hidden, results hidden, the class locked, or no calculation selected is left out entirely rather than returned empty. The response refreshes when the table is rebuilt.

No PDF. There is no PDF export of standings. Print the page or use the spreadsheet.

Calendar feeds carry fixtures only. The .ics feeds for a team, for your own matches and for a referee contain no standings.

Setting What it does Where Also means
Rang type Selects the calculation: points for win/draw/loss and the ordered criteria list Class → Edit category → Category tab Empty means no table is ever stored for the class
Visning rto id Selects the display layout: which columns are shown and in what order Class → Edit category → Category tab Empty means no table is stored, even with a valid Rang type
Hide table Removes the table from public view Class edit page; class list; league levels table (inline, filter and bulk) Playoff placeholders become Not decided; class is dropped from the tables API; match-edit users still see it on the tournament class page with a note
Hide results Blanks the scores for the class Class edit page; league levels table Documented on the match-visibility page; a class with results hidden is also dropped from the tables API
Forced position Pins one team to a place Edit category → Teams → click a team Team name gets (*n); its matches still count for everyone else
Guest team? Puts a team last and removes all of its matches from the calculation Edit category → Teams Team name gets (*G); the other teams' statistics change
Excluded from A playoff? Keeps a team out of the top playoff seeding Edit category → Teams Team name gets (*X); does not change the table order
Drawing of lots Records who won a lot drawn outside the system Match form → advanced → draw/tie window Team name gets (*DL); feeds the drawing-of-lots criterion
Update initial starting points Gives a team a starting balance of points, matches, W-D-L, goals and game balls Edit category → Teams → click a team Series only; the way to enter carried-over points and points deductions
Tournament uses automatic match tables Whether the tournament-wide rebuild tools are offered Legacy result-registration page → advanced → Tournament Off does not stop tables being rebuilt when a result is saved. It only hides the "recalculate everything" button and blocks the external scheduler's rebuild calls
Number of players For rugby, decides which of the federation's two table systems applies Class settings 15 enables bonus-point registration and bonus-point criteria; 7 does not
Match counts in the table Whether one match counts towards the table at all Per match, in the league match editor On by default. Off means the match is skipped entirely by the calculation; training matches are created with it off
Number of promotion, promotion-playoff, relegation-playoff and relegation places How many places at the top and bottom of the table each of them takes Edit category → Match table tab, series run in Profixio League only Draws solid and dashed lines in the published table. Presentation only — no team is moved

Work down the list. These cover almost every report.

No table at all

  1. Is it a cup? A cup class has no table until the first result is registered. A series class gets one as soon as the fixtures exist.
  2. Does the class have any matches? A class with no matches gets no table.
  3. Is hide table on for the class? The class page then says Tables are not shown for this category, and on the public competition pages and in the app the table is gone for everyone, including you.
  4. Give the background rebuild time. Reload after a minute before escalating.

The table exists but a team is missing

  1. The team has no matches in the group.
  2. The team is withdrawn — withdrawn teams are removed, not shown with zeros.
  3. The team is marked as a guest team: look for (*G) at the bottom of the table with no position number.

The numbers look wrong

  1. Is a team marked (*G)? All of its matches are excluded from every other team's goals, points and matches-played. That is the intended effect.
  2. Does a team have starting points? Its totals include a manually entered balance. The comment field usually says why.
  3. Matches with no result, no home team or no away team do not count.
  4. Is the match marked as not counting towards the table? Training matches are created that way on purpose, and any match can be set that way.
  5. For a best-of tie, only the combined parent result counts, not the individual legs.

Two teams are level and the order looks arbitrary

Open Calculation for teams with same points. It shows which matches were used, the mini-table built from them, and the criterion that separated the teams — or that they are genuinely identical, in which case the order is undecided until a drawing of lots is recorded.

The table has not updated after a result

  1. Rebuilds are queued and one class rebuilds at a time; a large class takes longer.
  2. Public pages cache the table for a few minutes.

A playoff match still says "Not decided"

  1. The class has hide table on. Placeholders are deliberately suppressed so they do not reveal the standings.
  2. The slot is "best Nth across groups" and the class has not finished its whole group stage.
  3. The slot could not be resolved because two teams tie on every criterion.
  4. See the classes and competition format page for brackets that were never published.

No table at all

  1. Open Table explanation. No calculation criterias found. means the class has no calculation selected — Rang type is empty.
  2. Check that Visning rto id is also set. A calculation without a display layout produces nothing.

The table has not updated after a result

  1. Save the class settings — that queues a rebuild. The tournament-wide recalculate button on the legacy result page rebuilds every table in the tournament at once.

Most of this page is the same everywhere. These parts are not.

Calculations are per country and sport. Two federations in the same sport in different countries do not share a criteria list or a points system, and handball, football, volleyball, basketball and bandy all differ. The short names and descriptions of the criteria are maintained per sport and per language, which is why the same criterion can read Målforskjell in one sport and Settforskjell in another.

Set sports — volleyball, beach volleyball, padel and other best-of-sets formats — use score-dependent points: a clean win is worth the full win points, while a win in the deciding set is overridden so the winner gets less and the loser gets one. Set ratio, set difference and game-ball statistics only mean anything in classes that register set results.

Swedish beach volleyball gets a wider table. In tournaments belonging to Swedish beach volleyball, and only on the display layout built for it, the table gets grouped headings Matches, Sets, Points and Results, and a Standard table / Extended table toggle. Extended table adds six columns counting how many times the team won or lost 3-0, 3-1, 3-2, 2-3, 1-3 and 0-3. No other federation has this toggle.

Rugby bonus points. Norwegian rugby has two table systems, one for sevens and one for fifteens, chosen by the class's number of players. When the class is set to 15, the result form shows a Try BP and a Losing BP checkbox for each team, and the table can rank on points including bonus points. Set the number of players to 15 on every class that plays fifteens, or neither the checkboxes nor the bonus-point criteria appear. Bonus-point registration is enabled for Norwegian rugby only.

Basketball regulation-time criteria. Swedish basketball can rank on win percentage with tie-breaks that look only at the score after ordinary time, so a game won in overtime counts as a draw in regulation. This needs per-period data from the match feed and is opt-in per table type; the ordinary points, wins and goal difference are unaffected.

Swedish table tennis team series use set-based standings. The table shows team matches played, wins, draws and losses, the individual matches, sets and balls won and lost, and points. When the group's display layout uses tiebreaks, wins, draws and losses are replaced by four columns: wins, tiebreak wins, tiebreak losses and losses.

Some rules are federation policy. Whether a young age group may have a public table is a federation rule — use the hide-table switch to follow it. Promotion and relegation counts are presentation only: Profixio shows how many places are promotion or relegation places.

Series run in Profixio League. For a league administered in Profixio League, the class list and much of its configuration originate there. The table type and display fields are the same database columns, so a change made in either system is visible in both — but the criteria-authoring screens described in Profixio's older help material belong to that system, not to this one.

Was this page helpful?

@scripts @endscripts