Guides
Community created guides, helpful strategies, and more.
TOPIC | Optimized profit exalting (beta version)
[size=4] [i]Disclaimer: I have been known to make math errors! If you think I have made an error, please ping me with an explanation and I will look into it. I will be testing & evaluating some of the noted assumptions more carefully in the future, but I want to provide this guide in "beta" for anyone interested.[/i] ----- Time is treasure! When exalting for profit, you typically want to earn treasure as fast as possible. Here, I present a strategy for doing so. The derivation for these numbers is given in the post below. Please note that "fastest treasure gain" is not equivalent to "maximum treasure gain", just as "fastest car" is not equivalent to "longest distance traveled". [b]What is your [u]average fodder price[/u]?[/b] We need to know this in order to determine how much profit you will make when exalting a dragon. If you're just buying and leveling fodder, then this is an easy question-- look at the lowest adult dragon prices in the AH (aka the "fodder floor"). If you have some fodder of your own (price=0) to level before you start buying, you will need to adjust this downward. For instance, if I have 5 of my own fodder and also plan on buying and leveling about 10 more at 6kt each, then my average fodder price would be around (60kt total spending / 15 total dragons ) = 4kt per dragon. (Technically, if you [i]just[/i] want to get the highest treasure per time from dragons which cost nothing, you exalt 'em without leveling. But this is not usually the "real" best strategy, because it cannot be maintained over a long time-- you will run out of dragons. This guide assumes you're trying to optimize a block of grinding time large enough that you will burn through any free fodder you might have, and move on to the AH.) [b][u]How high should you level[/u] before exalting?[/b] If your average fodder price is higher than the left column in the table below, you should level your dragons to the value in the right column, for max profit per time investment. For instance, if your average fodder price is 6500 t, you should exalt at level 5. If your fodder price is right near the borderline between two levels, I suggest using the higher one, due to the extra time involved in buying, exalting, and switching out dragons (which is not accounted for by this analysis.) [quote=Get rich quick!] [columns] [center][size=5]Fodder price above [color=transparent]______[/color] 2951* 3981 5010 6039 7068 8097 9127 10156 11185 12214 13243 14273 15302 16331 17360 18389 19419 20448 21477 22506 23535 24565 25594 26623 [nextcol] [center][size=5] Level to [color=transparent]______[/color] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [/columns] [/quote] * Numbers are not great for very low levels. In actuality, the level 1 fodder exalt payout would probably make you lose money for e.g. 2800t fodder price. However, it is included here for completeness and as a "sanity check" to show that the level 2 threshold is in fact near the level 1 exalt payout. ** High levels are included just for completeness. If you are buying fodder at 26kt for profit exalting, [url=https://xkcd.com/1133/]you are having a bad problem and will not go space today[/url]...
Disclaimer: I have been known to make math errors! If you think I have made an error, please ping me with an explanation and I will look into it. I will be testing & evaluating some of the noted assumptions more carefully in the future, but I want to provide this guide in "beta" for anyone interested.



Time is treasure! When exalting for profit, you typically want to earn treasure as fast as possible. Here, I present a strategy for doing so.

The derivation for these numbers is given in the post below. Please note that "fastest treasure gain" is not equivalent to "maximum treasure gain", just as "fastest car" is not equivalent to "longest distance traveled".

What is your average fodder price?

We need to know this in order to determine how much profit you will make when exalting a dragon.

If you're just buying and leveling fodder, then this is an easy question-- look at the lowest adult dragon prices in the AH (aka the "fodder floor").

If you have some fodder of your own (price=0) to level before you start buying, you will need to adjust this downward. For instance, if I have 5 of my own fodder and also plan on buying and leveling about 10 more at 6kt each, then my average fodder price would be around (60kt total spending / 15 total dragons ) = 4kt per dragon.

(Technically, if you just want to get the highest treasure per time from dragons which cost nothing, you exalt 'em without leveling. But this is not usually the "real" best strategy, because it cannot be maintained over a long time-- you will run out of dragons. This guide assumes you're trying to optimize a block of grinding time large enough that you will burn through any free fodder you might have, and move on to the AH.)

How high should you level before exalting?

If your average fodder price is higher than the left column in the table below, you should level your dragons to the value in the right column, for max profit per time investment.

For instance, if your average fodder price is 6500 t, you should exalt at level 5.

If your fodder price is right near the borderline between two levels, I suggest using the higher one, due to the extra time involved in buying, exalting, and switching out dragons (which is not accounted for by this analysis.)

Get rich quick! wrote:
Fodder
price
above
______
2951*
3981
5010
6039
7068
8097
9127
10156
11185
12214
13243
14273
15302
16331
17360
18389
19419
20448
21477
22506
23535
24565
25594
26623


Level
to
______
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25


* Numbers are not great for very low levels. In actuality, the level 1 fodder exalt payout would probably make you lose money for e.g. 2800t fodder price. However, it is included here for completeness and as a "sanity check" to show that the level 2 threshold is in fact near the level 1 exalt payout.

** High levels are included just for completeness. If you are buying fodder at 26kt for profit exalting, you are having a bad problem and will not go space today...
_back_day.png
Remember how you were always like "Ugh, I'll never use calculus for anything in real life"? Well, I don't know if FR counts as real life, but we're gonna use some calculus now! [u][b]Setting up the problem[/b][/u] First, I make the assumption that you [b]earn experience (exp) at an approximately constant rate[/b] when coli grinding. This is, of course, not completely true-- there is a bit of extra time associated with switching between fodder dragons: exalting the last dragon, buying a new one, creating the coli team, and building up breath for eliminates. This extra time is more significant at lower levels. Still, I think it's an acceptable approximation -- if you're worried about it, err on the side of leveling higher. If experience is earned at a constant rate, then the time spent grinding is proportional to exp earned. We can therefore use [b]coli exp as a proxy for time spent[/b]. This is nice, because it works no matter what the absolute rate of exp increase is per time -- you can work slowly or quickly, in a venue with high or low exp yield, and the result for optimal level will still hold. Therefore, we want to [b]maximize the profit made per exp earned[/b]. [u][b]Modeling exalt payout[/b][/u] (Technically, we could do all of this empirically. But it makes me happier to have formulas and models, rather than huge data tables.) FR user isozyme has created a lovely [url=http://www1.flightrising.com/forums/gde/746775]table of exalt payouts[/url] for each level. A preliminary look at the data indicates that this can be reasonably modeled by a power law, [img]http://quicklatex.com/cache3/25/ql_5a7cf8db614725545739d396454f7725_l3.png[/img] Where [i]E[/i] is total earned experience, [i]L[/i] is level, and [i]a[/i] and [i]b[/i] are constants. Using [url=http://www.scipy.org/about.html]scientific python[/url] ('cause I'm a nerd), I fit the data to acquire [i]a[/i]=45.6227550329, [i]b[/i]=3.20678458271 (more significant figures included here than we actually need/want/should technically use, but whatever). [u][b]Modeling exp gain[/b][/u] Culex's epic coli guide includes a table of the total exp required to attain each level, under the [url=http://www1.flightrising.com/forums/gde/1040710/1#3141237]charts and stats section of the guide[/url]. It turns out that this data can be reasonably well modeled by a linear fit, [img]http://quicklatex.com/cache3/3f/ql_31a6faaf02ca8b25238baf7647bd923f_l3.png[/img] where [i]T[/i] is the treasure profit, [i]F[/i] is the average fodder cost (set to zero when fitting) and [i]c[/i] and [i]d[/i] are constants. Again using scipy, I found that [i]c[/i]=1495.57806328 and [i]d[/i]=893.541501129. [u][b]Optimization time![/b][/u] The quantity we want to optimize is the [b]profit per experience[/b], T/E: [img]http://quicklatex.com/cache3/78/ql_87981ce90d8d8a2a4fe2d90f9592f678_l3.png[/img] If you've taken calc, you might remember that we can find a local maximum (or minimum) by taking the derivative of a function and setting it to zero. (In this case, I know it'll give us a maximum because I plotted the function!) Using the quotient rule for derivatives, we set: [img]http://quicklatex.com/cache3/1e/ql_e46546f7fada49c7b1d866980f44af1e_l3.png[/img] (Does this look awful yet? Yeahhh, I didn't do this algebra. I used Wolfram Alpha.) This equation has one nonzero solution: [img]http://quicklatex.com/cache3/e0/ql_355db400128f1a7e193f84f0245b5ae0_l3.png[/img] This solution can be interpreted as the [b]optimal exalt level for a given average fodder price [i]F[/i][/b]. (When the optimal level is a fraction, it's a good rule of thumb to round up, to avoid going too low and losing money. This is particularly true because of the unaccounted-for changeover time noted earlier. However, if you don't like that rule of thumb, you could just plug your fodder price directly into the equation above and round the level as you see fit.) The relation can be flipped around to generate and approximate fodder price associated with each optimal level: [img]http://quicklatex.com/cache3/8d/ql_0e917cf69cca2a5609e0d8f88556008d_l3.png[/img] Plugging in the known values of [i]b[/i], [i]c[/i], and [i]d[/i] for each level 2-25 yields the table in the first post. Ta-da!
Remember how you were always like "Ugh, I'll never use calculus for anything in real life"? Well, I don't know if FR counts as real life, but we're gonna use some calculus now!

Setting up the problem

First, I make the assumption that you earn experience (exp) at an approximately constant rate when coli grinding. This is, of course, not completely true-- there is a bit of extra time associated with switching between fodder dragons: exalting the last dragon, buying a new one, creating the coli team, and building up breath for eliminates. This extra time is more significant at lower levels. Still, I think it's an acceptable approximation -- if you're worried about it, err on the side of leveling higher.

If experience is earned at a constant rate, then the time spent grinding is proportional to exp earned. We can therefore use coli exp as a proxy for time spent. This is nice, because it works no matter what the absolute rate of exp increase is per time -- you can work slowly or quickly, in a venue with high or low exp yield, and the result for optimal level will still hold.

Therefore, we want to maximize the profit made per exp earned.

Modeling exalt payout

(Technically, we could do all of this empirically. But it makes me happier to have formulas and models, rather than huge data tables.)

FR user isozyme has created a lovely table of exalt payouts for each level. A preliminary look at the data indicates that this can be reasonably modeled by a power law,

ql_5a7cf8db614725545739d396454f7725_l3.png

Where E is total earned experience, L is level, and a and b are constants.

Using scientific python ('cause I'm a nerd), I fit the data to acquire a=45.6227550329, b=3.20678458271 (more significant figures included here than we actually need/want/should technically use, but whatever).

Modeling exp gain

Culex's epic coli guide includes a table of the total exp required to attain each level, under the charts and stats section of the guide. It turns out that this data can be reasonably well modeled by a linear fit,

ql_31a6faaf02ca8b25238baf7647bd923f_l3.png

where T is the treasure profit, F is the average fodder cost (set to zero when fitting) and c and d are constants.

Again using scipy, I found that c=1495.57806328 and d=893.541501129.


Optimization time!

The quantity we want to optimize is the profit per experience, T/E:

ql_87981ce90d8d8a2a4fe2d90f9592f678_l3.png

If you've taken calc, you might remember that we can find a local maximum (or minimum) by taking the derivative of a function and setting it to zero. (In this case, I know it'll give us a maximum because I plotted the function!)

Using the quotient rule for derivatives, we set:

ql_e46546f7fada49c7b1d866980f44af1e_l3.png

(Does this look awful yet? Yeahhh, I didn't do this algebra. I used Wolfram Alpha.)

This equation has one nonzero solution:

ql_355db400128f1a7e193f84f0245b5ae0_l3.png

This solution can be interpreted as the optimal exalt level for a given average fodder price F. (When the optimal level is a fraction, it's a good rule of thumb to round up, to avoid going too low and losing money. This is particularly true because of the unaccounted-for changeover time noted earlier. However, if you don't like that rule of thumb, you could just plug your fodder price directly into the equation above and round the level as you see fit.)

The relation can be flipped around to generate and approximate fodder price associated with each optimal level:

ql_0e917cf69cca2a5609e0d8f88556008d_l3.png

Plugging in the known values of b, c, and d for each level 2-25 yields the table in the first post.

Ta-da!
_back_day.png
(reserved post for future notes)
(reserved post for future notes)
_back_day.png
[quote name="raktajino" date=2017-02-11 11:56:24] [u][b]Modeling exalt payout[/b][/u] (Technically, we could do all of this empirically. But it makes me happier to have formulas and models, rather than huge data tables.) FR user isozyme has created a lovely [url=http://www1.flightrising.com/forums/gde/746775]table of exalt payouts[/url] for each level. A preliminary look at the data indicates that this can be reasonably modeled by a power law, [img]http://quicklatex.com/cache3/25/ql_5a7cf8db614725545739d396454f7725_l3.png[/img] Where [i]E[/i] is total earned experience, [i]L[/i] is level, and [i]a[/i] and [i]b[/i] are constants. Using [url=http://www.scipy.org/about.html]scientific python[/url] ('cause I'm a nerd), I fit the data to acquire [i]a[/i]=45.6227550329, [i]b[/i]=3.20678458271 (more significant figures included here than we actually need/want/should technically use, but whatever). [u][b]Modeling exp gain[/b][/u] Culex's epic coli guide includes a table of the total exp required to attain each level, under the [url=http://www1.flightrising.com/forums/gde/1040710/1#3141237]charts and stats section of the guide[/url]. It turns out that this data can be reasonably well modeled by a linear fit, [img]http://quicklatex.com/cache3/3f/ql_31a6faaf02ca8b25238baf7647bd923f_l3.png[/img] where [i]T[/i] is the treasure profit, [i]F[/i] is the average fodder cost (set to zero when fitting) and [i]c[/i] and [i]d[/i] are constants. Again using scipy, I found that [i]c[/i]=1495.57806328 and [i]d[/i]=893.541501129. [/quote] Question, did you post these two in reverse? You have modeling exalt payout and yet you are looking at level and experience as the two variables. Next, you are modeling exp gain but you are looking at treasure profit and average fodder cost. I haven't checked your numbers to see if the equations themselves have any flaws, but at the very least the wording does not make sense with the equations. [s]Not that a lot of people would notice, but us math geeks do.[/s]
raktajino wrote on 2017-02-11:
Modeling exalt payout

(Technically, we could do all of this empirically. But it makes me happier to have formulas and models, rather than huge data tables.)

FR user isozyme has created a lovely table of exalt payouts for each level. A preliminary look at the data indicates that this can be reasonably modeled by a power law,

ql_5a7cf8db614725545739d396454f7725_l3.png

Where E is total earned experience, L is level, and a and b are constants.

Using scientific python ('cause I'm a nerd), I fit the data to acquire a=45.6227550329, b=3.20678458271 (more significant figures included here than we actually need/want/should technically use, but whatever).

Modeling exp gain

Culex's epic coli guide includes a table of the total exp required to attain each level, under the charts and stats section of the guide. It turns out that this data can be reasonably well modeled by a linear fit,

ql_31a6faaf02ca8b25238baf7647bd923f_l3.png

where T is the treasure profit, F is the average fodder cost (set to zero when fitting) and c and d are constants.

Again using scipy, I found that c=1495.57806328 and d=893.541501129.

Question, did you post these two in reverse? You have modeling exalt payout and yet you are looking at level and experience as the two variables. Next, you are modeling exp gain but you are looking at treasure profit and average fodder cost.

I haven't checked your numbers to see if the equations themselves have any flaws, but at the very least the wording does not make sense with the equations.

Not that a lot of people would notice, but us math geeks do.
kQXO8qG.gif 6qRiT6A.pngLN63BIW.png