Instantly share code, notes, and snippets.

# dteoh/albedo_vs_mona_crafting_talent.md

Last active June 23, 2021 12:15
Show Gist options
• Save dteoh/ec87d0c638029c229c4aabaa8fb38bc3 to your computer and use it in GitHub Desktop.
Genshin Impact: Albedo vs Mona crafting talent, who is better?

# Genshin Impact: Albedo vs Mona crafting talent, who is better?

In Genshin Impact, you can craft materials of a given rank from three materials of the rank just below, eg. you can craft one gold book from three blue books.

Albedo has a talent where crafting a weapon ascension material has a 10% chance of giving double the output. Mona has a talent where crafting a weapon ascension material has a 25% chance of refunding a portion of the input materials.

If you have both characters, whose talent is better?

TL;DR: Albedo.

## Analysis

To determine this, I decided to just simulate the crafting process. I will give both characters a starting amount of input materials, then let both of them craft as many of the next higher ranked material as possible. We can then calculate the conversion ratio to determine who is more efficient.

For this analysis, I will just compare the conversion of blue materials into purple materials. Each character will start with 1 million blue materials. I wrote the simulation in Ruby:

```class Inventory
attr_accessor :blue_mats, :purple_mats

def initialize
self.blue_mats = 0
self.purple_mats = 0
end

def sufficient?
blue_mats >= 3
end
end

class Character
attr_accessor :expenditure

def initialize
self.expenditure = 0
end

def craft_all!(inv)
while inv.sufficient?
craft! inv
end
end

def craft!(inv)
return unless inv.sufficient?

inv.blue_mats -= 3
inv.purple_mats += 1

refund(inv) if refund_did_proc?

self.expenditure += 350
end

def refund_did_proc?
false
end
end

class Mona < Character
def refund_did_proc?
rand(1..4) == 1
end

def refund(inv)
inv.blue_mats += 1
end
end

class Albedo < Character
def refund_did_proc?
rand(1..10) == 1
end

def refund(inv)
inv.purple_mats += 1
end
end

STARTING_MATS = 1_000_000

begin
mona = Mona.new
inv = Inventory.new
inv.blue_mats = STARTING_MATS

mona.craft_all! inv

puts "Mona | purple mats = #{inv.purple_mats} | conversion = #{STARTING_MATS / inv.purple_mats.to_f} | avg cost = #{mona.expenditure / inv.purple_mats.to_f}"
end

begin
albedo = Albedo.new
inv = Inventory.new
inv.blue_mats = STARTING_MATS

albedo.craft_all! inv

puts "Albedo | purple mats = #{inv.purple_mats} | conversion = #{STARTING_MATS / inv.purple_mats.to_f} | avg cost = #{albedo.expenditure / inv.purple_mats.to_f}"
end```

The results:

Character Output (Purple materials) Conversion rate Average Mora per output
Albedo 366837 2.73 318.1
Mona (1 mat refund) 363659 2.75 350.0
Mona (1.5 mat refund) 380783 2.63 350.0
Mona (2 mat refund) 399743 2.51 350.0
Mona (2.5 mat refund) 420870 2.38 350.0
Mona (3 mat refund) 443601 2.25 350.0

Mona's talent doesn't make it clear how many materials get refunded, so I ran the simulation with several refund breakpoints. I don't have Mona so I don't know what is the normal refund amount. Assuming the talent works like Xingqui's, you will probably only see a refund of one material. I will just give my conclusion by comparing the "1 mat refund" against Albedo.

## Conclusion

Albedo has the better talent overall. Albedo and Mona's conversion rate of blue mats into purple mats are quite similar, with a slight advantage going to Albedo. Where he wins is the average cost (Mora) to produce one purple material. It is cheaper in the long run to use Albedo when crafting materials.

For Mona's talent to be better than Albedo's, her average refund rate needs to be higher than 1.1 (this was determined empirically). At 1.1 refund, the conversion rate is about the same as Albedo's. At a higher average refund rate, she will create more purple outputs, and as long as you have the Mora, this translates to better returns on the resin spent to acquire the blue materials.

### dteoh commented Jun 23, 2021

Yes, you are completely right! Just doing the math with expected values is a much more straightforward analysis.

Happy to see that the empirical approach landed on the 1.1 EV :)

### Kayden-lolasery commented Jun 23, 2021

thank you for this!