Poe2 Crafting Calculator

PoE 2 Crafting Probability Calculator

The probability of hitting your target modifier.
Cost in Exalted, Regal, or Chaos per click.
How sure do you want to be that you hit it?
Calculate your current luck with current attempts.

Results

Average Attempts
Avg. Currency Cost
Attempts for Confidence
Current Success Prob.

Path of Exile 2 Crafting Guide

Crafting in Path of Exile 2 represents a significant shift from the original game. With the removal of sockets from gear and the introduction of new currency mechanics like the updated Exalted Orb and Regal Orb systems, understanding the math behind your attempts is more critical than ever. Whether you are aiming for a Tier 1 Physical Damage roll or a specific Resistance suffix, this calculator helps you manage your resources effectively.

How to Calculate PoE 2 Crafting Costs

Success in PoE 2 crafting is governed by "Weights." Every modifier has a weight assigned to it. The probability of hitting a specific modifier is calculated as:

Probability (%) = (Weight of Target Mod / Total Weight of All Possible Mods) * 100

Once you know this percentage, you can use our calculator to determine how much currency you need to set aside. Most players aim for a 95% confidence level, meaning they want to have enough currency to ensure they hit the mod in 95 out of 100 hypothetical scenarios.

Key Crafting Terms in PoE 2

  • Mod Weight: The frequency value of a modifier. High weight means common; low weight means rare.
  • Confidence Level: The mathematical certainty of achieving a result within a specific number of attempts.
  • Average Luck: The "1 in N" chance. Statistically, you should hit the mod once every N times.
  • Expected Cost: The average currency expenditure based on the success rate and cost per attempt.

Example Crafting Scenario

Imagine you are crafting a bow and want to hit a specific modifier that has a 2% chance of appearing. Each attempt costs 1 Exalted Orb.

  • Success Chance: 2%
  • Average Attempts: 50 (1 / 0.02)
  • Attempts for 95% Confidence: 149. This means to be 95% sure you hit the mod, you should prepare 149 Exalted Orbs, not just the "average" 50.

By using this calculator, you can avoid "crafting rage" by understanding the true variance involved in Path of Exile 2's RNG systems.

function calculatePoeCrafting() { var probInput = document.getElementById("poeSuccessChance").value; var costInput = document.getElementById("poeCostPer").value; var confInput = document.getElementById("poeConfidence").value; var attemptsMadeInput = document.getElementById("poeAttemptsMade").value; var p = parseFloat(probInput) / 100; var costPer = parseFloat(costInput); var confidence = parseFloat(confInput) / 100; var attemptsMade = parseInt(attemptsMadeInput); if (isNaN(p) || p 1) { alert("Please enter a valid Success Chance between 0.01 and 100."); return; } if (isNaN(costPer) || costPer < 0) { costPer = 0; } if (isNaN(confidence) || confidence = 1) { confidence = 0.95; } if (isNaN(attemptsMade) || attemptsMade < 0) { attemptsMade = 0; } // Logic var avgAttempts = Math.ceil(1 / p); var avgTotalCost = avgAttempts * costPer; // N = log(1 – Confidence) / log(1 – p) var reqAttempts = Math.ceil(Math.log(1 – confidence) / Math.log(1 – p)); var reqCost = reqAttempts * costPer; // Current Prob = 1 – (1 – p)^n var currentProb = (1 – Math.pow(1 – p, attemptsMade)) * 100; // Display document.getElementById("avgAttempts").innerText = avgAttempts.toLocaleString(); document.getElementById("avgCost").innerText = avgTotalCost.toLocaleString(); document.getElementById("confAttempts").innerText = reqAttempts.toLocaleString(); document.getElementById("currentProb").innerText = currentProb.toFixed(2) + "%"; var summary = "To hit a " + (p * 100).toFixed(2) + "% chance mod, you expect to spend " + avgAttempts + " attempts on average. To be " + (confidence * 100) + "% certain, prepare for " + reqAttempts + " attempts costing " + reqCost.toLocaleString() + " currency."; document.getElementById("summaryText").innerText = summary; document.getElementById("poeResultArea").style.display = "block"; }

Leave a Reply

Your email address will not be published. Required fields are marked *