Average price predictor

Nshims

New Member
Joined
May 28, 2014
Messages
227
Points
18

Well, here we are with a first test version,
this can be strange because it is already version 4.45.2,
but that has a simple explanation.

The first number represents the generation of the algorithm used,
after comes the number of tests, learning process and updates,
the last one is just the number of pokemons featured in the current version.

So we can say that it is the 4th algorithm that I tested
and that are only 2 pokemons available (Growlithe and Staryu),
i will always relate to the first evo but, all evo line is considered.

The main engine is a perceptron, that take 8 data set as input (shiny status, IVs and hidden power) and give as output
4 categories each one represent the probability of the pokemon being expensive,
more specifically price sets (1k - 100k, 101k - 1m, 1.001m - 100m, 100.001m +)
plus a certain impossible set that distinguishes non-belonging to a given category.

app.png

You can download a copy and see how it works,
it's a simple interface, you just have to enter the data and press predict.
3 separately trained models with different initial conditions of give approximate prices,
after an average is calculated and a set of possible prices goes from -10% to + 10%.

Download

I noticed that avast sometimes sends the file for further analysis, this can cause a runtime error,
you just have to wait for the analysis to finish.

Note: for the moment this is a beta version, the small number of data means that there are still a lot of dead spots,
I have not tested all the spacing but a difference of 0 - 2 ivs can still give good prices.

Now the hardest parts start, collecting data and setting prices.
Data collection and price definition are two steps that are linked by the fact that they improve the quality of predictions.
But this data must be very well chosen so that the algorithm can find the real motivations behind the prices.

With that said, if you want to help in one way or another, here are the instructions:

To help with data collection you must send me screenshots with the small frame of the pokemons
in adition if you have time you can create an excel file or a csv.
it is important that the database consists of real pokemons that have been captured in game.
Because theoretically all evs are equiprobable, but in practice we see only a small part.

Small frame example:
sf.png

CSV example:
csv.png
Shiny|Lvl|HP|ATK|DEF|SP ATK|SP DEF|SPD|Hidden Power|

If you want to help with price checking, you can contact me by pm or in the game to discuss it.

As I usually program on Linux, I had to use MSYS | MinGW to create a more comfortable environment,
if you have skills in windows development, I would be happy to ask you some questions,
pm me in game or here for more information.

Thanks for price check:
Kingstone


2020/07/06
Added new hidden power system
Added hidden power power calculation system
Added Eevee data (Beta)

2020/04/10
Added accuracy detection system
Fixed bug related to IVs normalization


2020/04/09
Added Scyther / Scizor
Fixed classification bug
Fixed set currency bug

 
Last edited:

Klay

Youngster
Joined
Apr 6, 2015
Messages
612
Points
63
These files are not infected by any coronavirus, you can download it safely
Thanks nshims \o/
 

Nshims

New Member
Joined
May 28, 2014
Messages
227
Points
18
Hi hi, here I am back to give continuity to the project.

I noticed that the project was progressing at a considerable pace,
however, I noticed that the more difficult part is to find
reference pokémons and assign them a corresponding price.

To improve this part, I will opt for a participative system where players
can offer reference pokémons and suggest prices according to their personal estimates.

The classic way to help is already described in the first post.
On the other hand, the participative form consists of
a series of posts that I am going to make with lists of given pokémons .
All you have to do is respond to the post by adding the proposed prices
and also add some pokémons if you wish.

The proposed prices must take into account the shiny status of the pokémons, the different IV's and the hidden power.
Info: use / to add a price if you do not agree with the already existing price.

Thank you in advance for all the players who have already helped so far.
 

Nshims

New Member
Joined
May 28, 2014
Messages
227
Points
18
Here the first 3 lists, I would add the other pokémons if this concept is effective.

Name|Lvl |HP|ATK|DEF|SP ATK|SP DEF|SPD|Hidden Power |Price

Shiny 28+

Shiny

Non Shiny 28+

Non Shiny 20+

Non Shiny
@ Snorlax|Lvl 29|12|24|20|17|11|24|Electric |

@ Snorlax|Lvl 29|23|15|13|18|22|18|Flying |
@ Snorlax|Lvl 29|19|23|18|21|16|10|Rock |
@ Snorlax|Lvl 21|29|23| 0|30|30| 0|Fighting |
@ Snorlax|Lvl 100| 4|28|19|25|12|12|Rock |
@ Snorlax|Lvl 100|31|31|28| 7|17| 1|Dragon |
@ Snorlax|Lvl 31|10| 2|27|17|13|12|Psychic |
@ Snorlax|Lvl 30| 7| 8|12| 2|16|28|Fighting |
@ Snorlax|Lvl 100|11|15|19|13| 9| 0|Ice |

@ Snorlax|Lvl 29|23|19| 5|29|28| 4|Bug |80k / 500k
@ Snorlax|Lvl 30| 9|11| 5|19|29| 4|Ice |5k / 50k
@ Snorlax|Lvl 31|31|31|28| 7|17| 1|Dragon |2m / 6m
@ Snorlax|Lvl 29|16| 1|28|30|25|10|Fire |30k / 100k
@ Snorlax|Lvl 27|17|26|11|31|22| 0|Bug |30k / 250k
@ Snorlax|Lvl 31|11|15|19|13| 9| 0|Ice |2k / 50k
@ Snorlax|Lvl 30|24|19|12| 0|10| 7|Poison |10k / 100k
@ Snorlax|Lvl 28|31|23| 3|23|12|31|Steel |50k / 1m
@ Snorlax|Lvl 29|19|23|18|21|16|10|Rock |40k / 250k
@ Snorlax|Lvl 39|11| 4|18|26| 8| 1|Poison |30k / 100k

Epic Fail

Name|Lvl |HP|ATK|DEF|SP ATK|SP DEF|SPD|Hidden Power |Price

Shiny 28+

Shiny

Non Shiny 28+

Non Shiny 20+

Non Shiny
@ Magmar|Lvl 22|27|27|30|21|12|25|Ghost |
@ Magmar|Lvl 41|27|24|23|11|27|27|Dragon |
@ Magmar|Lvl 23|22|15|24|25|21|25|Ice |
@ Magmar|Lvl 22|10|30|24|20|16|21|Flying |
@ Magmar|Lvl 22|19|12|24|31|13|13|Ice |
@ Magmar|Lvl 31|12|27|16|14|14|24|Fighting |
@ Magmar|Lvl 35| 2|23|24|23|13|23|Ice |
@ Magmar|Lvl 23|21|22| 4|12| 8|12|Fighting |
@ Magmar|Lvl 22|14|12| 0|19|13|15|Ice |
@ Magmar|Lvl 23|23|12|25|28|21| 8|Fire |

Epic Fail

Name|Lvl |HP|ATK|DEF|SP ATK|SP DEF|SPD|Hidden Power |Price

Shiny 28+
@ Shiny Gastly|Lvl 29|30|30|28|28|28|30|Fighting |
@ Shiny Gastly|Lvl 26|28|30|29|31|28|28|Rock |
@ Shiny Haunter|Lvl 95|31|30|28|29|29|28|Electric |
@ Shiny Gengar|Lvl 100|30|30|28|28|29|28|Steel |

Shiny
@ Shiny Haunter|Lvl 23|31|26|29|20|31|31|Grass |

@ Shiny Gastly|Lvl 26|21|20|31|25|24|26|Bug |1.5m
@ Shiny Gastly|Lvl 9|30|23|22|23|25|22|Electric |1.4m
@ Shiny Gastly|Lvl 8|27|25|25|24|21|29|Electric |1.5m

Non Shiny 28+

Non Shiny 20+
@ Gastly|Lvl 27|24|26|25|24|28|21|Poison |100k
@ Haunter|Lvl 28|26|30|25|31|26|24|Rock |
@ Haunter|Lvl 27|22|28|23|30|27|26|Fire |
@ Gengar|Lvl 100|28|21|30|28|29|25|Grass |

Non Shiny
@ Gastly|Lvl 26|17|30|29|24|22|29|Ground |
@ Gengar|Lvl 100|27|11|25|27|30|29|Steel |

@ Gastly|Lvl 25|23|20| 1|30|10|31|Ground |50k
@ Gastly|Lvl 27|26|10|25|20|13|31|Grass |50k

Epic Fail
 

whisMEAT

Youngster
Joined
May 16, 2014
Messages
523
Points
63
One addition, about tutor etc moves. It can be added as "moves beside breed+avalible tm+Evo line". To increase price. And awesome work .gz

Another addition. I guess base-spatk-stat is should be modifier to hp price increase rationed on 100stat(a decent stat for hp and easy to calculate) [such as base-sp-stat/100 ] x base-hp-price-addition
 
Last edited:

shodan21

Youngster
Joined
Aug 7, 2016
Messages
229
Points
43
One addition, about tutor etc moves. It can be added as "moves beside breed+avalible tm+Evo line". To increase price. And awesome work .gz

Another addition. I guess base-spatk-stat is should be modifier to hp price increase rationed on 100stat(a decent stat for hp and easy to calculate) [such as base-sp-stat/100 ] x base-hp-price-addition

my blaziken with thunderpunch agree on the tutor move point ;)

and hidden power is only particularly useful on certain pokes - ones that a) are strong special attackers, and b) have poor coverage within their movepool against either their own weaknesses or the weaknesses of pokes they draw in. classic example is jolteon, because jolt (and all of the eeveelutions) has a very thin movepool, but with hp grass can do major damage to ground/rock pokes that would otherwise be hard counters, and with hp ice can wreck flying dragons (dragonite, salamence). meanwhile, hp ice is not desirable on electivire, because it a) is a better physical attacker, and b) has access (easily, i might add, as an egg move in the human-like group) to ice punch; overall, electivire's moveset provides fantastic coverage (electric, fire, ground, ice) without needing to resort to the considerably weaker power of hidden power (which is another important point - HP is only 60 power, so if it isnt coming off a very high spatk stat and hitting an x4 weakness, it isnt going to do a ton of damage).

so, i wouldnt say that base spatk is really the modifier here - spatk matters (no point putting HP on dugtrio's base 50 spatk or shedinja's base 30!), but if a poke has better moves for any type coverage it needs, then HP becomes irrelevant and the type doesnt affect the value. difficult variable to handle, tbh.
 

Nshims

New Member
Joined
May 28, 2014
Messages
227
Points
18
One addition, about tutor etc moves. It can be added as "moves beside breed+avalible tm+Evo line". To increase price. And awesome work .gz

Thanks, i think is a good idea and easy implementation, but one of the most challenging part is to put prices on tutors and TMs, if i can get some prices for that part will be good for a test.

I noticed that some moves have more value on some specific pokemons knowing that is good to be able to set different prices.

Another addition. I guess base-spatk-stat is should be modifier to hp price increase rationed on 100stat(a decent stat for hp and easy to calculate) [such as base-sp-stat/100 ] x base-hp-price-addition

I think this is applicable only if the pokemon have the right HP, so it can be a side option that will require the user to enter the base spark status.
 

Nshims

New Member
Joined
May 28, 2014
Messages
227
Points
18
my blaziken with thunderpunch agree on the tutor move point ;)

and hidden power is only particularly useful on certain pokes - ones that a) are strong special attackers, and b) have poor coverage within their movepool against either their own weaknesses or the weaknesses of pokes they draw in. classic example is jolteon, because jolt (and all of the eeveelutions) has a very thin movepool, but with hp grass can do major damage to ground/rock pokes that would otherwise be hard counters, and with hp ice can wreck flying dragons (dragonite, salamence). meanwhile, hp ice is not desirable on electivire, because it a) is a better physical attacker, and b) has access (easily, i might add, as an egg move in the human-like group) to ice punch; overall, electivire's moveset provides fantastic coverage (electric, fire, ground, ice) without needing to resort to the considerably weaker power of hidden power (which is another important point - HP is only 60 power, so if it isnt coming off a very high spatk stat and hitting an x4 weakness, it isnt going to do a ton of damage).

so, i wouldnt say that base spatk is really the modifier here - spatk matters (no point putting HP on dugtrio's base 50 spatk or shedinja's base 30!), but if a poke has better moves for any type coverage it needs, then HP becomes irrelevant and the type doesnt affect the value. difficult variable to handle, tbh.

Very good analysis, is possible that you can tell me what are the pokemos that you know to be good carriers of hp, and according to you if we had to put a price on HP well used it would be of the order of how much?
 

shodan21

Youngster
Joined
Aug 7, 2016
Messages
229
Points
43
Very good analysis, is possible that you can tell me what are the pokemos that you know to be good carriers of hp, and according to you if we had to put a price on HP well used it would be of the order of how much?

probably cant give an exhaustive list, but jolteon and espeon (and by extension, eevee) are known to have high value placed on particular HP types; fire for espeon, and grass or ice for jolteon, primarily. also, magneton is usually valued with HP fire, and politoed and magmortar with hp grass. some other pokes, such as HP grass ampharos/charizard and HP fire tangrowth/exeggutor, are valued higher, but not significantly so, since they either arent widely used (ampharos/charizard) or can function well without the right HP (tangrowth/exeggutor). then, there are pokes like kingdra which could perhaps benefit from HP (electric), but depending on the IVs, may not have value in the HP type because it isnt used as a special attacker (kingdra is often physical due to its access to dragon dance). so there are a lot of variables here. as far as having the HP move itself, that would be more or less an increase in value by the price of the TM, which seems to be a minimum of 500k these days.
 

Nshims

New Member
Joined
May 28, 2014
Messages
227
Points
18
It sounds very interesting to me, I think I am starting to understand better how the hp work.
I think for the moment it's enough to do tests, i think we can add more pokes with time.
 

Nshims

New Member
Joined
May 28, 2014
Messages
227
Points
18
Here is a first result obtained for the first tests, I opted as suggested for a price added once the pokemon is considered as a good user of the hidden power.

Basically if the pokemon is a good user of the hidden power and it has a good hidden power then the addition is calculated according to the following formula: BP * ((2 * HP) / 70)

BP = Base price for the pokémon hidden power
HP = The pokemon hidden power

This allows the added price to be 428k once the pokemon has 30 hidden power and 1m in case of 70 hidden power.

I used the following data for the test.
Name|Lvl |HP|ATK|DEF|SP ATK|SP DEF|SPD|Hidden Power |Price

Shiny 28+

Shiny

Non Shiny 28+

Non Shiny 20+

Non Shiny
@ Eevee|Lvl 96|24| 1|10| 5|31|30|Electric |
@ Eevee|Lvl 29|13|31|16|22|20|19|Poison |
@ Eevee|Lvl 29|15|22|31| 7|16|22|Bug |
@ Eevee|Lvl 28|26|21|28| 8|20|22|Fighting |
@ Eevee|Lvl 28| 8|26| 0|30| 4|25|Flying |
>>>@ Eevee|Lvl 29|16| 8|31| 2|23|26|Fire |
@ Eevee|Lvl 29|15| 6|19|28|20|13|Ground |
@ Vaporeon|Lvl 100|26|27|14|26|24| 4|Fighting |
@ Jolteon|Lvl 29| 9| 0| 6|22|24|24|Fighting |
@ Umbreon|Lvl 100| 5|13|21| 4|30|29|Ground |
@ Glaceon|Lvl 21|14|16|19|18|27|19|Grass |
@ Glaceon|Lvl 21|17|13|17|13|15|19|Dark |
@ Glaceon|Lvl 22|27|20|19|11| 4|27|Ghost |
@ Glaceon|Lvl 20| 9|20| 4|27|24|12|Rock |
@ Glaceon|Lvl 23|23| 3|24| 9| 2|23|Ghost |
@ Glaceon|Lvl 22|11| 1|28| 0|22|15|Poison |
@ Glaceon|Lvl 100|27|10|13| 8|20|26|Flying |
@ Glaceon|Lvl 23|23| 5|15| 4| 3|25|Electric |
@ Glaceon|Lvl 23|15| 3|23| 7|26|30|Bug |

@ Eevee|Lvl 29|16| 9| 5|29|29|24|Psychic |500k
@ Eevee|Lvl 29|16|29|11|24| 8|16|Flying |400k
@ Eevee|Lvl 61| 9|16|12|15|18|14|Rock |400k
@ Eevee|Lvl 9|14| 7| 9| 2| 8|17|Ground |100k
@ Eevee|Lvl 10|12|15| 2|23| 6|10|Rock |200k
@ Flareon|Lvl 28|23|29|16|11| 5|10|Psychic |750k


by using the data of the Eevee with a hidden power fire, it is possible to have the following results.
v4.48.4.png
 

Attachments

  • v4.48.4.png
    v4.48.4.png
    25 KB · Views: 2

whisMEAT

Youngster
Joined
May 16, 2014
Messages
523
Points
63
It sounds very interesting to me, I think I am starting to understand better how the hp work.
I think for the moment it's enough to do tests, i think we can add more pokes with time.
Sinc it is only 60damage, it is good nearly only against 4x weakness AND if u have decent spark. Or if enemy poke is direct opposite of u that u don't got better than resisted damage(which it is reasonable only if ur base spark is too much or u got boost) . For the latter,that's very circumstantial,i would skip.
Also, i think introducing "exception by vote " here could be really important. Certain Pokemons don't need it at all, they can get nearly all types effectively they needed. Such as tyranitar, Nidoking,starmie etc.most practical way to detect them imo are poll or asking some trusted decent battler
 

shodan21

Youngster
Joined
Aug 7, 2016
Messages
229
Points
43
Sinc it is only 60damage, it is good nearly only against 4x weakness AND if u have decent spark. Or if enemy poke is direct opposite of u that u don't got better than resisted damage(which it is reasonable only if ur base spark is too much or u got boost) . For the latter,that's very circumstantial,i would skip.
Also, i think introducing "exception by vote " here could be really important. Certain Pokemons don't need it at all, they can get nearly all types effectively they needed. Such as tyranitar, Nidoking,starmie etc.most practical way to detect them imo are poll or asking some trusted decent battler

right, and there's also the consideration of, particularly for eevee, whether or not the IVs lend itself to the eeveelution that needs a particular HP type. the example Nshims gave would probably not be made an espeon, which makes best use of HP fire, because its IVs lend itself better to one of the defensive eeveelutions, particularly umbreon. so, having HP fire is probably not a significant value boost for that particular example. of course, most other pokes dont have this particular issue because they dont have so many evolution options; eevee is a particular case because of how many options it has, each of which benefit from different HP types (jolteon, espeon, glaceon, sylveon, maybe vaporeon) or dont need HP at all (flareon, umbreon, leafeon).

also, PWO uses Gen 6 mechanics for hidden power - flat 60 power, not a variable power based on IVs. simplifies that part of the predictor :p
 

Nshims

New Member
Joined
May 28, 2014
Messages
227
Points
18
Also, i think introducing "exception by vote " here could be really important. Certain Pokemons don't need it at all, they can get nearly all types effectively they needed. Such as tyranitar, Nidoking,starmie etc.most practical way to detect them imo are poll or asking some trusted decent battler
In fact, the model already takes into account the pokemons that do not need to be able to hide, I added a variable in the data structure relative to the pokemon so once the variable is empty or NULL then the hidden power is ignore. Otherwise, the algorithm will check if the pokemon has good hidden power.

In addition, that would be good, I have help to distinguish the pokemons that are good users of the hidden power.

right, and there's also the consideration of, particularly for eevee, whether or not the IVs lend itself to the eeveelution that needs a particular HP type. the example Nshims gave would probably not be made an espeon, which makes best use of HP fire, because its IVs lend itself better to one of the defensive eeveelutions, particularly umbreon. so, having HP fire is probably not a significant value boost for that particular example. of course, most other pokes dont have this particular issue because they dont have so many evolution options; eevee is a particular case because of how many options it has, each of which benefit from different HP types (jolteon, espeon, glaceon, sylveon, maybe vaporeon) or dont need HP at all (flareon, umbreon, leafeon).

Now, it would be interesting to know which ivs imply a particular evolution, this is undoubtedly one of the preliminary stage to be able to check if the hidden power addition is applicable.

also, PWO uses Gen 6 mechanics for hidden power - flat 60 power, not a variable power based on IVs. simplifies that part of the predictor :p

So instead of the hidden power power, I can put the iv in special attack of the pokemons, it allowes to consider the hidden power if the pokemon has for example 20+ ivs in special attack.
 

shodan21

Youngster
Joined
Aug 7, 2016
Messages
229
Points
43
Now, it would be interesting to know which ivs imply a particular evolution, this is undoubtedly one of the preliminary stage to be able to check if the hidden power addition is applicable.

high spatk and speed is most likely jolteon, especially with hp ice/grass, and speed is more important than spatk. with decent bulk and hp fire as well as high speed and spatk, probably espeon. missing either high speed or high spatk, but having good bulk, probably umbreon; if decent spatk, possibly vaporeon. if terrible ivs and you need the pokedex data, then flareon. :p
 

Nshims

New Member
Joined
May 28, 2014
Messages
227
Points
18
high spatk and speed is most likely jolteon, especially with hp ice/grass, and speed is more important than spatk. with decent bulk and hp fire as well as high speed and spatk, probably espeon. missing either high speed or high spatk, but having good bulk, probably umbreon; if decent spatk, possibly vaporeon. if terrible ivs and you need the pokedex data, then flareon. :p

i'm struggling to understand what bulk means in this context, maybe def, sp def and hp?
 

Mallow-

Youngster
Joined
Nov 15, 2011
Messages
842
Points
63
While some might call Pokemon like I "bulky" because of shape and size, I find that more often, when a Trainer say a Pokemon have "bulk", this means that Pokemon be able to take a good number of hits without much worry ;)
 
Top