bjshnog

⟪WN8⟫ Development / Resources

2,170 posts in this topic

Very interesting. Would be nice to work some numbers and be able to construct a similar table to this so we can compare:

 

So, I decided to re-tailor the damage curve using the RU server avg damages for each tank, this is what came out, it might need some tweaking, everyone´s rating would get a WN8 boost from this dmg curve, which is partially compensated by the defense point drop:

 

DAMAGE*630/(287*e^(0.203*TIER)+25)

 

 

tz4u.jpg

 

For comparison:

 

JK2KVi1.png

 

Actually, after seeing some numbers, I think the damage is still low to compensate fully for defense point drop, so it might need a bit more points.

 

Of course, for the weighted tier proposal, we could compare a player with avg tier 8, most games in tier 8 and a few on 10 and 6, compared to a player with most of his games in tier 10 and 6, with a few at 8 and see how their WN8s vary accordingly.

Share this post


Link to post
Share on other sites

Very interesting. Would be nice to work some numbers and be able to construct a similar table to this so we can compare:

 

How would I do this, exactly? I'm fairly certain I need data to get the right results. Specifically, I need Average Damage vs Average Tier and Average Damage vs number of battles in each Vehicle Class at each tier. I can come up with false data on my own, but it would be a lot more convenient if I had the actual data to work with.

 

As we know, Tank Destroyers are bound to do more damage than, say, Heavy Tanks. That means that if we had 5 damage curves which align as accurately as possible to average damage for vehicles of a certain tier and class, then the damage coefficient of Tank Destroyers could be adjusted for their increased damage. It pretty much 'nerfs' the WN8 value of damage for TDs. Conversely, anyone who does lots of damage in Light Tanks will get a bonus in WN8.

 

EDIT: Also, though I'm pretty sure (99% certain) that my combination of WAT and Aggregated Damage Curve is going to be the winner here, I saw this and thought "Why bother even having the e there?":

DAMAGE*630/(287*e^(0.203*TIER)+25)

If you're going to have e^(0.203*TIER), then you might as well just replace that with 1.225^TIER, which equals (e^0.203)^TIER. The e seems like it's only there to look fancy.

 

And for some reason, since I started working on this, my KPG has gone through the roof. :D

Share this post


Link to post
Share on other sites

The only stats available (per-tank) are the XVM stats in game which display average damage and kills for each tank, and also top100 damage and kills for each tank. However, using average damage is very tricky because the damage curve is not a normal distribution, but a gamma distribution. We saw that a long time ago when developing WN4. So if you have more players playing certain tanks the average damage for that tank goes down. Also, using tank types in the damage curve is a bit tricky also, and I would suggest stearing away from that, since that can get very complicated very quickly, and would be hard to implement both for stats sites and also for XVM databases.

 

Also, different vehicles of the same class and tier can have dramatically different potential damage outputs (comprae Lorraine to T54, or Su100 to ARLv39). I think simply using battles/tier would be about as accurate as using class specific stats, and be much, MUCH simpler.

 

I would like to suggest using the curves I posted above for the damage curve/tier.

 

 

 

Theoretically the idea looks good, but I would need to see some examples to see how well it actually works. Obviously this would have to be done manually, maybe you can start with the following players, and give us their avg tier, weighted avg tier, and how that would affect their score for the dmg/g portion of WN8:

 

_Panzervor_

Pucara

Rosh87

CptSkyhawk

kma

 

 

Once we see what that can do for WN8, we could test what we could do with class and tier specific, and see if the accuracy increase is worth the extra trouble.

 

Ps: Regarding the e constant, that was a simplification I never did after devising the formula but you are right. When I calculated the .203 value, I left that as a fluctuating value on a evolutionary algorithm, using the e constant. Doesn´t really matter...

Share this post


Link to post
Share on other sites

While I do believe having separate curves for each Vehicle Class would be far more accurate than just per tier, I agree that it would be quite tedious, take longer to implement into sites and require more processing time. It is still far more accurate than tier alone.

 

Also, different vehicles of the same class and tier can have dramatically different potential damage outputs (comprae Lorraine to T54, or Su100 to ARLv39).

For example, if you compared the average damage of TDs to MTs, you would see a huge difference at tier 9. The most accurate way to get the WAT would be to use the average damage data for every single tank, but that's just going too far. With 50 values (actually 45) to input into the formula, it would take a crazy amount of time just to check your own WN8 if you used Excel or some other spreadsheet program. The only way to efficiently do that would be to have a program do it for you.

 

Basically, I'll switch to the raw 10 values of battles/tier, even if it is quite a large hit to accuracy. Advantages of this will be ease of calculation and the WAT will not go below 1 or above 10. Will post values for those players soon.

Share this post


Link to post
Share on other sites

Awesome. Once you have a working spreadsheet, I am sure people will offer to help out and fill out their own and such. I think we should start at the basics and scale from there. We should DEFINITELY check how class/tier works, and possibly maybe even tank specific. Even if it is not implemented finally, it is a very interesting excercise, and we should check the accuracy of each system.

 

Once we check how well it works on a small test sample, and maybe make some tweaks/adjustments, we might be able to convince Hibachi to include some of this on his script, and that would allow us to test one, two or all three (tier, tier+class, per-tank) curves on a larger dataset, and in an automated way.

Share this post


Link to post
Share on other sites

Awesome. Once you have a working spreadsheet, I am sure people will offer to help out and fill out their own and such. I think we should start at the basics and scale from there. We should DEFINITELY check how class/tier works, and possibly maybe even tank specific. Even if it is not implemented finally, it is a very interesting excercise, and we should check the accuracy of each system.

 

Once we check how well it works on a small test sample, and maybe make some tweaks/adjustments, we might be able to convince Hibachi to include some of this on his script, and that would allow us to test one, two or all three (tier, tier+class, per-tank) curves on a larger dataset, and in an automated way.

 

Just what needs to be in there, I have some plans for enhancements to it but anything that makes it more useful to you guys now will happily get prioritized.  I'm so used to getting no feedback or nothing but complaining about what we write at work (unfortunately happy clients are usually silent clients) that just knowing people are using it is motivation to keep working on it.  :D

Share this post


Link to post
Share on other sites
I would like to suggest using the curves I posted above for the damage curve/tier.

 

I don't think that curve would fit well enough to the data. 2210 is way above average for tier 10, and that would cause a large skew in weighted average tier. What my WAT was supposed to do is get a tier value based on the number of battles in each tier and their average damage. For example, Tank 1 is Tier 3 and has 3 battles and Tank 2 is Tier 8 and has 1 battle. As the WN7 formula currently stands, the average tier would be (3 + 8 ) / 2 = 5.5. What my weighted tier does is average the expected average damage for each tier, weighted by number of battles, say WTD(3) * 3 = 510 and WTD(8 ) = 1220 and then do the reverse of the damage per tier function, WTD-1(1730 / 4) = 5.02. So, a tank of tier 5.02, on average, should do 432.5 damage. I think the penalty on which the above curve is based should only be applied AFTER the WAT and DMG/WTD(WAT) calculations in order to be fair (I don't mean giving seal clubbers an edge).

 

Okay, I quickly threw together examples for those 5 players, but I haven't done a table for DMG required at tier for those WN8 terms (500, 600, 700, 800, 900, 1000), etc.

 

Naturally, everyone's WAT will be greater than their Average Tier, but the difference will be less at higher Average Tiers and WATs.

 

Excel thing.

 

Note: the WAT is based on my own estimations for average damage of tanks at each tier. It is probably an overestimate. The WN8 damage component I came up with is far from finished though.

Share this post


Link to post
Share on other sites

If we do end up moving to every tank having a unique weight, then the tier penalty must be weighted such that vehicles of a certain tier/class do not lose or gain extra points just because they have low or high damage output compared to others of the same tier/class. For example, if one tier 1 had the equivalent damage of a hypothetical tier 0.5, then it would be weighted WTD-1(0.5) for the WAT, but would be weighted as a pure tier 1 or a tier 1 LT for the penalty. I'm not sure about the statistics exactly, but I think the Comet has some pretty crappy damage stats. That would be weighted WTD-1(6.1) or something like that, but for the tier-based penalty, it would be a normal tier 7 or tier 7 MT.

 

The WAT for the penalty, but not for the WTD(WAT), shall henceforth be referred to as PWAT.

Share this post


Link to post
Share on other sites

I just had an interesting idea. Perhaps PWAT can use a function of raw server average winrate and effective vehicle tier (Average Battle Tier realigned for tiers 1-10 rather than 1-12) for each tank's weight, than damage stats. Because of the various ways tanks can achieve wins, this seems to me like the most logical thing to do. This means that the T57 Heavy will receive a small natural penalty because it is OP while the Leopard 1 would get a bonus.

 

This will mean that if someone tries to pad their stats by seal-clubbing at low tiers, their WN8 will go down slightly even if their WAT is at a high tier. How does that sound?

 

Namely, their tank-specific server average damage stats could be multiplied by something like 48.9/WR, giving them a lower tier weight and thereby slightly increasing or decreasing the tier penalty.

 

EDIT: It has come to my attention that some tanks used to be OP, but now they are near average. We could apply some sort of transformation for all tanks to make up for these, or make up our own WR values based on the performance of other tanks.

 

It's probably actually a better idea to have this as a separate normalizer though.

Edited by bjshnog

Share this post


Link to post
Share on other sites

Hmmm...  the curve I am giving you puts all the damages above normal, but that doesnt really matter, since what amtters is the relationship between the values at each tier.

 

Using your spreadsheet, you can actually see that using your current damage curve, Panzervor actually gets the most DMG/WTD, and he is the biggest sealclubber of the bunch. Using top100 damages for each tier makes much more sense, due to several effects distorting average damages, like I explained, damage is a gamma distribution amongst players, not normal, so the more players play a tier (low tiers are way more played than high ones) the more the average drops.

 

 

Also, your spreadsheet has some errors, the total tier /tier columns were missing the tier 10, so all the average tiers were incorrect.

 

Lastly, I think the curve will work much better using the following:

 

24* (tier)^1.85+340

instead of:

15.5* (tier-1)^2.2+100

 

Using tier instead of tier-1 is a solution for people with only tier 1 games and such, and the results I think you will find have a much better relation between tiers.

 

 

PS: What you propose in your last post is what noobmeter does, and I do not think it´s a great idea due to several problems. The biggest one is taht winrate varies HUGELY depending on platoon/noplatoon, even more than XP with prem/nonprem, so... no to winrate per-tank. :D

HOWEVER, we could apply the same methodology to frags, and then there would be no need for a normalizer term...o_o

 

Share this post


Link to post
Share on other sites

About tier 10, that really screwed up my calculations. However, the fact remains that _PanzerVor_'s average damage is still 150 higher than Pucara's. Even if he is a seal-clubber, he's doing better than Pucara and deserves a higher damage WN8.

 

I agree that replacing tier-1 with tier is necessary, but I also think that it needs to align to average damage per tier in order for the WAT to be accurate. What it is supposed to do is give a accurate average expected damage value for a hypothetical tier. For the damage WN8 value, we could find how far a player is between the WTDAVG(WAT) and WTDTOP100(WAT). If they are halfway between, then we could give them an index of 0.5 or 50, apply some transformation to that and add the tier penalty on afterwards.

 

For the tier penalty, we should compare the ratios of average damage to top100 damage to actually see STATS for how much skill each tier requires, without coming up with biased numbers. I should have mentioned that earlier.

 

 

PS: What you propose in your last post is what noobmeter does, and I do not think it´s a great idea due to several problems. The biggest one is taht winrate varies HUGELY depending on platoon/noplatoon, even more than XP with prem/nonprem, so... no to winrate per-tank. :D

 

No, no, no, no, no. I meant SERVER averages. Say the Foch 155 has a 53% server-wide WR. We would apply a penalty for that WR being higher than average. Not using the player's WR. If a player has a 75% winrate on that tank, then we would still count it as 53% because it is the vehicle that is OP, not the player. (Although the player might be OP.)

Share this post


Link to post
Share on other sites

Oh!! I see what you mean about the winrates. Hmmm, let me get back to you on that one.

 

 

Back to the damage, you just cant use server averages. Let me go into greater detail to explain why. I already statsed the problem with gamma distributions instead of normal distributions. Additionally, it is much easier to overperform in regards to tier in teir 1 than in tier 10. For example. Tier 1 avg damage 100. Tier 10 2000. It is VERY easy, and in fact MANY MANY players average over 500 dmg in tier 1 (5 times the avg). However, no one averages 10000 in tier 10. Do you see what I mean? That is the reason using top100 allows a much better curve, since it allows us to measure the TANK´s capacities, regardless of skill level. It is much more fair to compare these numbers, you will see top100 in tier 1 avg around 500 damage, while for tier 10s it varies between 2800-3500 depending on the vehicle.

 

This allows a much more fair comparison of tiers than average damage.

 

Of course Panzervor achieves much better results than Pucara and deserves more WNdamage, and he does, even with the curve I am proposing. With your curve, his WN damage is extremely similar to the non-weighted WN8 one, which kind of defeats the purpouse of the normalization in the first place.

 

2xoh.jpg

 

Spreadsheet:

 

http://www.mediafire.com/?f3s509fuo4j60of

 

 

I will do some analysis for frags and see what I can do, since that could possibly eliminate the need for the normalizer term. However, the formula complexity is going through the roof if we apply these changes...

Share this post


Link to post
Share on other sites

Upon inspection, _PanzerVor_ has much higher stats at tier 8-9 anyway. If he were to play tier 10, I have no doubt they would be even more above average. Despite his lower WAT, he deserves much more than a 100 point boost over Pucara. I think my WN8 damage curve is actually too low for _PanzerVor_, to be honest.

 

Do you see what I mean? That is the reason using top100 allows a much better curve, since it allows us to measure the TANK´s capacities, regardless of skill level. It is much more fair to compare these numbers, you will see top100 in tier 1 avg around 500 damage, while for tier 10s it varies between 2800-3500 depending on the vehicle.

 

This allows a much more fair comparison of tiers than average damage.

 

I see perfectly now. I actually did think about that, but then it just fell out my mind for some reason. o_o We should definitely realign the curve to fit top100.

 

I will do some analysis for frags and see what I can do, since that could possibly eliminate the need for the normalizer term. However, the formula complexity is going through the roof if we apply these changes...

 

Is that a problem? The main resultant difference in complexity here is that people will need a program to parse their dossier (if not using a website) files in order to find their WN8, whereas people used to just be able to simply plug 6 values into a spreadsheet. :/

Share this post


Link to post
Share on other sites

I tried this for frags and it also works pretty nicely. This could easily replace the normalizer term, in a more elegant and robust way, but as I said, the complexity of the formula is through the roof. Even with a simple formula like WN7 poeple from websites, programs like wot statistics and such, noobmeter, etc. had difficulty implementing correctly,I can imagine this will be MUICH harder.... hmmm...

 

For example, for Panzervor, his WN8, but using WNdmg and WNfrags (normalized by tier per nog implementation of weighted averages), his WN8 would be 2400 which is pretty damn close to the normalized WN8. This is preliminary, iwll do more tests and post something tommorrow... jsnazz gets around 1000,which also sounds about right.

 

 

 

Another problem with this methodology is 60 day WN... there would be no choice but to use noobmeter´s method of extrapolating using your old and new account-wide WN.

Share this post


Link to post
Share on other sites

He´s a good test subject. Lets ask Hibachi for an update to his script. All we would need is for the script to retrieve number of games for each tier, and we could do the rest.

 

Once the script is updated, we can use it to retrieve any number of players, and easily calculate alphaWN8 (normal avg tier), and WTWN8 (weighted tier WN8).

Share this post


Link to post
Share on other sites

Whoa whoa whoa! Hang on there, man! You know how people are always saying "Why don't you use per-tank stats?" and you answer "We would if we could?"
 
Well I just had a brilliant idea. We can do the next best thing. Forget everything else in this thread. Shocking, right? I know you said before that using per-tank stats would be super-complex to implement, but really, all the site admin would need is a database of 4 top100 stats (the 4 D's) for all tanks and an ID# for each.
 
This idea I had may actually eliminate the need to have a tier normalizer at all. That is because its general idea is "Hey X, I can use my tanks 31% more effectively than you can use yours. 42% better at dealing damage, 34% better at getting kills, 30% worse at defending and 5% better at scouting, based on our tanks' abilities." These numbers, of course, are made up, but that will be the result, since this is orders of magnitude more accurate than the weighted tier system I came up with. It may be complex to set up and take more time to calculate WN8, but it will be worth it if implemented correctly.
 
It would also make win rate a redundant variable in terms of skill (maybe). Despite the fact that I know WHY it is in the formula, to be honest, I hate the fact that WR is in WN more than Garbad does. This should get rid of it once and for all, because it will (hopefully) show that the only stat which can be padded without actually improving at all is WR, by playing low tiers, not to mention its extremely unreliable variability (unicorn platoons, Tank Companies, Clan Wars, etc).
 
DX = stat X.
X = 1~4.
D1 = Damage. D2 = Destroyed. D3 = Defense. D4 = Detected.
DX,T = total expected DX of XVM TOP players using each of the player's played vehicles multiplied by number of battles in each vehicle.
DX,P = total DX stat of player, meaning total Damage stat, total Destroyed, etc.

NV = number of battles in vehicle V.

DX,T,V = DX,T for vehicle V alone, the stat which XVM shows as the TOP value.
KX = [DX,P / DX,T]. This is the ratio of player stat to TOP expected stat.
RX = relative correlation coefficients (after adjustment for correlation between stats). We need to find these again, I think with a cutoff of 1000 battles, no more. RX R(KX,WR).
 
I don't know the correlation coefficients for each stat, so I'm just going to post the general formula (after the preliminary data is calculated). We find the correlation coefficients R(KX,WR) for 4 stats, KX = [DX,P / DX,T], with respect to win rate, then do whatever process we need to do, subtracting or dividing by [1 - R(DX,P,DX,T)2] or whatever the hell the process is, to find how they correlate to WR together when added. This is my process for calculating base WN8 from these data (to be replaced with images as soon as I get off this network):

 

UPDATED:

About seal clubbers, at tier 1-3, they still have to be crazy-skilled to get near those top100 stats. This is why a tier penalty will probably be pointless in this formula. If a tier penalty actually is necessary, maybe it should work per-stat. Either SX = SUMV[NV * SQRT(DX,A,V/DX,T,V)] / N should be used as a multiplier for each stat, or KX should be changed to equal [DX,P / SQRT(DX,T * DX,A)]. However, I think at this point the entire formula becomes extremely messy instead of just complex.

 

After doing all this, there should probably be a curve, FN, by which the preliminary WN8 is multiplied in order to avoid people (mainly re-roll seal-clubbers) with 10 battles having WN8s of 4000 just because of a good luck/RNG streak at the beginning. I say it should be FN = MIN(N,100), where N = number of battles.

 

The very last step will be to scale the whole thing to make either the median or the mean equal 1000. The factor by which it needs to be multiplied is K (currently unknown, because tests have not been done yet). In case you think FN should be [MIN(100,N) / 100], it doesn't matter. The K factor balances that out.

 

Step 1:

orw1x5p.png

Step 2:

0CXurU0.png

Step 3:

edmIvyu.png

Overall formula:

OFMVeYt.png

 

If we could try all of this and run some tests, I'm fairly certain it'll work extremely well.

 

If a player ends up getting a WN8 which puts them above the TOP for the tanks they've used, then they are probably a unique player.

 

If we do this, then I think WN8 will be as accurate as anything could possibly be, given the data we have available, while letting very skilled low tier players actually be recognized as skilled players, rather than seal-clubbers, IF they are actually that skilled. It will also allow us to calculate exactly what ratio of skill a player has to the best on the server as well as any other player.

 

EDIT: In case it wasn't made obvious, average tier will become irrelevant. If clans want to see how much experience players have at high tiers, then they can just look at the number of battles at high tiers and WN8. I think it also solves the problem of 60-day WN8.

Share this post


Link to post
Share on other sites

 show that the only stat which can be padded without actually improving at all is WR

 

Reconsider this statement.

Share this post


Link to post
Share on other sites

Reconsider this statement.

 

Platoons, regular Tank Company battles, Clan Wars (although I expect that to have less effect overall). Playing at lower tiers can yield 70%+ winrates depending on how much a player can overcome terribad noobs (which is easy).

 

Also, read the whole post if you haven't already. When I say "padding stats", what I mean is the KX value. At lower tiers, these should be equally easy to alter at higher tiers because their TOP values are at a higher ratio over average, meaning that even if someone had 2kpg at tier 1, it would be worth as much as 1kpg at tier 10. If I proposed a KX for win rate, then it could easily be padded by these actions.

 

QED

 

EDIT: DWR,T would definitely be higher at tier 1 than tier 10, but what I mean is by doing those actions, you can easily pad KWR, but you can't pad the other KX values by doing that. Upon examination of my formula, you can see that there will be no such thing as a stat-padding tank now. ^_^

 

IMPORTANT: Don't get confused; I'm not saying winrate is all luck. Just that it can be padded easily.

 

EDIT 2: Sorry, I should elaborate further. A player, X, has a 60% WR that they earned on their own through their own skill. If they had platooned with similarly skilled players from the beginning, that 60% would tend upwards to maybe 85-90%. If they only did TCs with similarly skilled players, then that would pretty much result in a 98-100% WR. I think some people have actually done this by playing TCs at tier 1-2 with gold ammo, full teams of unicums, etc. That would obviously completely annihilate the competition, vastly increasing WR above that player's own capabilities.

Share this post


Link to post
Share on other sites

fKYM1AC.png

The only drawbacks are this and the complexity issue. :)

Share this post


Link to post
Share on other sites

I´v got another problem, there are many tanks, specially new tanks, even tanks introduced in 8.5, for which there are no top100 stats... this is a problem, and will also make WN8* impossible to calculate when new tanks come out.

 

The idea is a good one, but problematic due to missing info for some tanks.

Share this post


Link to post
Share on other sites

Also comparing per-tank statistics assumes that the game meta / tank characteristics never changes.

 

--> Ideally you want to compare player's stats on a given tank in a given period to the general population's stats on a given tank in a given period.

Share this post


Link to post
Share on other sites

I´v got another problem, there are many tanks, specially new tanks, even tanks introduced in 8.5, for which there are no top100 stats... this is a problem, and will also make WN8* impossible to calculate when new tanks come out.

 

The idea is a good one, but problematic due to missing info for some tanks.

 

Then until we have the data, we can use a tier/class-based curve for those few tanks. Or, if a certain tank is marked "OP" or "UP", they get a slightly increased or decreased TOP stat? How are the top100 stats retrieved? Do the XVM people do the calculations every so often based on the stats of the users of XVM Stat? Is there any way we can try to have them update it? Or is it WG who does that?

 

For the history problem, what about those people who already have thousands of battles in those tanks from the old versions? Until we have updated data, there's not much we can do.

 

Still though, this system is a lot more precise (and accurate) than just a tier-based curve. What if someone loves to play the AMX 13 90? That doesn't have that high of a top100 damage stat, or kill stat. If they played it a lot, then their WN8 could go down even if they are slightly better compared to the top100 stats than they are in other tanks...

 

 

Also comparing per-tank statistics assumes that the game meta / tank characteristics never changes.

 

--> Ideally you want to compare player's stats on a given tank in a given period to the general population's stats on a given tank in a given period.

 

Do we have a way of doing that?

Share this post


Link to post
Share on other sites

I should probably note that if I have replied to the author of a comment, I may change the reply any number of times until the author of the comment responds to my reply.

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.