How Does Steam Calculate Average Game Completion Rate

Steam Average Game Completion Rate Calculator body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #c7d5e0; background-color: #1b2838; /* Steam dark blue */ margin: 0; padding: 20px; } .calculator-container { max-width: 800px; margin: 0 auto; background: #171a21; /* Steam darker panel */ border: 1px solid #2a475e; border-radius: 4px; padding: 30px; box-shadow: 0 0 20px rgba(0,0,0,0.5); } .calc-header { text-align: center; border-bottom: 2px solid #66c0f4; margin-bottom: 30px; padding-bottom: 10px; } .calc-header h1 { color: #66c0f4; /* Steam blue */ margin: 0; font-size: 28px; text-transform: uppercase; letter-spacing: 1px; } .input-group { margin-bottom: 20px; } .input-group label { display: block; margin-bottom: 8px; color: #8f98a0; font-weight: bold; } .input-group input { width: 100%; padding: 12px; background: #2a3f5a; border: 1px solid #000; color: #fff; border-radius: 2px; font-size: 16px; box-sizing: border-box; } .input-group input:focus { outline: none; border-color: #66c0f4; box-shadow: 0 0 5px rgba(102, 192, 244, 0.5); } .btn-calc { display: block; width: 100%; padding: 15px; background: linear-gradient(to bottom, #47bfff 5%, #1a44c2 100%); border: none; color: white; font-size: 18px; font-weight: bold; cursor: pointer; border-radius: 2px; margin-top: 10px; text-shadow: 1px 1px 0px #000; } .btn-calc:hover { background: linear-gradient(to bottom, #66c0f4 5%, #2a5ed6 100%); } .results-panel { background: #1b2838; padding: 20px; margin-top: 30px; border: 1px solid #3d4f61; border-radius: 4px; display: none; } .results-panel h3 { color: #fff; margin-top: 0; border-bottom: 1px solid #3d4f61; padding-bottom: 10px; } .result-row { display: flex; justify-content: space-between; margin-bottom: 15px; align-items: center; } .result-label { color: #8f98a0; } .result-value { font-size: 24px; color: #66c0f4; font-weight: bold; } .explanation-content { max-width: 800px; margin: 40px auto; background: #fff; color: #333; padding: 30px; border-radius: 4px; } .explanation-content h2 { color: #171a21; border-bottom: 2px solid #2a475e; padding-bottom: 10px; } .explanation-content h3 { color: #1b2838; margin-top: 25px; } .explanation-content p { margin-bottom: 15px; } .explanation-content ul { margin-bottom: 20px; padding-left: 20px; } .explanation-content li { margin-bottom: 8px; } .tab-container { display: flex; margin-bottom: 20px; border-bottom: 1px solid #3d4f61; } .tab { padding: 10px 20px; cursor: pointer; color: #8f98a0; background: #171a21; border: 1px solid transparent; border-bottom: none; } .tab.active { color: #66c0f4; border: 1px solid #3d4f61; border-bottom: 1px solid #171a21; background: #1b2838; font-weight: bold; margin-bottom: -1px; } .calc-section { display: none; } .calc-section.active { display: block; }

Steam Completion Rate Calculator

Simulate New Game
Goal Planner

Calculate how adding a new game or completing an existing one affects your Average Game Completion Rate (AGCR).

Yes (Increases Total Games count) No (Updating progress on existing game)

Calculate how many 100% completed games you need to play to reach a target average.

Calculation Results

Previous Average: 0%
New Average: 0%
Change: 0%
Perfect Games Needed: 0
Total Games After Goal: 0
Note: Steam rounds profile stats. The value above is exact.
function switchTab(tabName) { // Hide all sections document.getElementById('sim-section').style.display = 'none'; document.getElementById('goal-section').style.display = 'none'; document.getElementById('results').style.display = 'none'; // Remove active class from tabs var tabs = document.getElementsByClassName('tab'); for(var i=0; i 100 || currentAvg > 100) { alert("Percentages cannot exceed 100%."); return; } // Logic: Steam calculates average as (Sum of all Game Percentages) / (Total Games) var currentTotalScore = currentAvg * totalGames; var newAvg = 0; if (isNew === 'yes') { // Formula: (CurrentScore + NewGameScore) / (TotalGames + 1) newAvg = (currentTotalScore + newGamePct) / (totalGames + 1); } else { // Updating existing game. // We assume the user inputs the *New Final Percentage* of that game. // But mathematically, we don't know the *old* percentage of that specific game to subtract it perfectly // without asking for it. // However, usually users want to know "If I add a new game". // If updating, we need the delta. Let's simplify: // For this calculator version, we will assume "Updating" implies the user is replacing a 0% game with X%, // OR we can ask for "Old Percentage". // To keep UI simple, let's assume the user is calculating the impact of adding a new game (most common) // or we ask for the delta. // Correction for better UX: If user selects "No (Updating)", strictly speaking we need the OLD value of that specific game. // Since we don't have it, we will alert the user or treat it as a calculation of "What if my average changes based on 1 game change". // Let's change the logic slightly: // If "No", we assume the "New Game %" is a game that was previously 0% (unplayed) or we just add it to the pool? // Actually, the most accurate math without asking for "Old Game %" is impossible. // Let's Assume for "Updating", the user is converting a 0% game (started but no achievements) to the input %. // Formula: (CurrentScore + NewGamePct) / TotalGames -> This assumes the game was previously 0 in the average. newAvg = (currentTotalScore + newGamePct) / totalGames; } document.getElementById('results').style.display = 'block'; document.getElementById('sim-results').style.display = 'block'; document.getElementById('goal-results').style.display = 'none'; document.getElementById('res-prev-avg').innerHTML = currentAvg.toFixed(2) + "%"; document.getElementById('res-new-avg').innerHTML = newAvg.toFixed(2) + "%"; var diff = newAvg – currentAvg; var sign = diff >= 0 ? "+" : ""; var color = diff >= 0 ? "#66c0f4" : "#ff4c4c"; document.getElementById('res-diff').innerHTML = sign + diff.toFixed(2) + "%"; document.getElementById('res-diff').style.color = color; } function calculateGoal() { var currentAvg = parseFloat(document.getElementById('goalCurrentAvg').value); var totalGames = parseInt(document.getElementById('goalTotalGames').value); var targetAvg = parseFloat(document.getElementById('targetAvg').value); if (isNaN(currentAvg) || isNaN(totalGames) || isNaN(targetAvg)) { alert("Please enter valid numbers."); return; } if (targetAvg = 100) { alert("Target cannot be 100% unless you already have 100%. It is mathematically impossible to reach 100% average if you have any incomplete games in your history."); return; } // Logic: // Target = (CurrentScore + 100 * X) / (TotalGames + X) // Target * (TotalGames + X) = CurrentScore + 100X // Target*TotalGames + Target*X = CurrentScore + 100X // Target*TotalGames – CurrentScore = 100X – Target*X // Target*TotalGames – CurrentScore = X(100 – Target) // X = (Target*TotalGames – CurrentScore) / (100 – Target) var currentScore = currentAvg * totalGames; var numerator = (targetAvg * totalGames) – currentScore; var denominator = 100 – targetAvg; var needed = numerator / denominator; var roundedNeeded = Math.ceil(needed); // Safety check for unrealistic numbers if (roundedNeeded < 0) roundedNeeded = 0; document.getElementById('results').style.display = 'block'; document.getElementById('sim-results').style.display = 'none'; document.getElementById('goal-results').style.display = 'block'; document.getElementById('res-games-needed').innerHTML = roundedNeeded; document.getElementById('res-total-after').innerHTML = totalGames + roundedNeeded; }

How Does Steam Calculate Average Game Completion Rate?

For achievement hunters and profile decorators, the "Average Game Completion Rate" (AGCR) displayed on the Steam Achievement Showcase is a vital statistic. However, the math behind it often confuses users because it doesn't function like a simple "Total Achievements Unlocked / Total Achievements Possible" formula.

The Formula

Steam calculates your profile's average completion rate as the mathematical mean of the individual completion percentages of every game you have played.

The formula is effectively:

Average = (Game A% + Game B% + Game C% … + Game Z%) / Total Number of Games

Example Scenario

Imagine you have played two games:

  • Game A: You unlocked 1 out of 1 achievement (100% completion).
  • Game B: You unlocked 1 out of 100 achievements (1% completion).

Common Misconception: You might think your average is 2 achievements unlocked out of 101 total, which would be approx 1.98%.

Actual Steam Calculation: Steam takes the average of the two percentages: (100% + 1%) / 2 = 50.5%.

This method prevents massive games with thousands of achievements (like Team Fortress 2 or MMOs) from completely dominating your statistics compared to smaller indie games.

Key Rules & Exclusions

  • Qualifying Games: Only games that you have launched and unlocked at least one achievement in usually count towards the denominator. However, if you have played a game that has achievements but unlocked none (0%), it generally counts against your average once it is registered in your history.
  • Profile Limited Features: Games marked as "Profile Features Limited" or "Steam is learning about this game" on their store page do not count toward your global achievement stats or average completion rate.
  • Restricted Games: Banned games or games removed from the store often stop counting toward the average, though this behavior can be inconsistent.

How to Improve Your Rate

Using the Steam Average Game Completion Rate Calculator above, you can see that the most effective way to raise your average is to play short games that are easy to complete to 100%. Because every game is weighted equally regardless of how many achievements it has, a game with 5 achievements carries the same weight as a game with 500 achievements.

Leave a Comment