Help

Seeking Guidance on Dynamic Ranking System in Airtable

Topic Labels: Automations Data Formulas
469 0
cancel
Showing results for 
Search instead for 
Did you mean: 
mariuspittie
4 - Data Explorer
4 - Data Explorer

Hello Airtable Community!

I'm currently working on implementing a dynamic ranking system for my gaming challenge, and I'd love some guidance on using Airtable for this purpose.

Project Overview:

I want to create a fluctuating Rank Rating like Elo/MMR in competitives video games.. For the sake of clarity lets call this player rating unit RP for Rating points.  RP are based on player performance (each new player start at 1000 RP).
Each rank, like Challenger, Gold, etc., would have a specific RP range (e.g., Challenger: 2500 RP to 3000 RP).

Key Components:

  1. Ranking Points (RP): A dynamic elo system that adjusts with player performance.
  2. Ranking System: Each rank defined by a specific RP range.

Specific Questions:

  1. How can I set up a dynamic RP system that adjusts with player performance?
  2. Is there a recommended approach to automatically assign ranks based on RP ranges in Airtable?
  3. What formula or automation can I use to ensure a player's rank changes automatically when their RP fluctuates?

I've attempted various approaches without success. My primary attempt involved the following steps:

  1. Players Table: I created a 'Ranking Point' number column in the Players table, representing the player's rank rating (set to 1000 by default).

  2. Ranking System Table: In a separate table, I set up columns for 'Rank name,' 'Rank icon,' 'Min RP range,' and 'Max RP range.' The latter two columns defined the minimum and maximum range of ranking points for each rank (e.g., Challenger's min is 2500 RP, max is 3000 RP).

  3. Correlation Attempt: Returning to the Players table, I added a 'Player Rank' formula column (see formula below). I experimented with lookup fields linked to the 'Ranking System' table, aiming to correlate the player's RP with the min/max values of each rank. The goal was to automatically determine the player's rank based on their RP and display it in the 'Rank' column of the Players table. 

    IF(

    AND(

      {Ranking Points} >= {Min RP Range (from Ranking System)},{Ranking Points} <= {Max RP Range (from Ranking System)}

    ),

    ARRAYJOIN(

      IF(

        {Ranking Points} >= {Min RP Range (from Ranking System)},

        IF(

          {Ranking Points} <= {Max RP Range (from Ranking System)},{Rank names (from Ranking System)}

        )

      )

    ),

    "Unranked"

    )

Turns out the only thing that is showing up in the column is "Unranked".

If anyone has experience implementing a similar dynamic ranking system in Airtable or has insights on managing RP-based ranks, I would greatly appreciate your advice.

Thanks in advance for your help! Excited to hear your thoughts on creating a fluid ranking system.

Best,

Marius

0 Replies 0