Open alexalperov opened 8 years ago
Interesting.
So you'd sum together all of the opponent's items ever bought, and add a win/loss data point for that match for that hero/item combination?
Yeah that's exactly what I would do. In the end you would have data sets for every hero's winrate against every single item.
concerns:
This would probably be a good task for a graph based storage backend. A background task could run this on an interval. I don't think it needs to be updated in real time.
On Sat, Oct 31, 2015 at 1:08 PM, Howard Chung notifications@github.com wrote:
concerns:
-
How to store this data? Create a new SQL relation for it? What would the schema look like?
What is the cost of adding together all of a team's items? I suppose this could be done once per team, then 10 data points created and the backing data store updated.
— Reply to this email directly or view it on GitHub https://github.com/yasp-dota/yasp/issues/731#issuecomment-152751148.
You want to play with it? I think this is where the "fan-out" stuff starts happening. When we add a match we're getting to the point where we trigger a lot of updates and we need to do this asynchronously so we don't stop importing new matches. Updating player caches is already the bottleneck in some cases. I thought about modifying scanner.js to just put the API results in a queue, then create a new worker type that handles inserting/fan-out tasks. We could use multiple threads to speed it up.
On Sun, Nov 1, 2015 at 9:27 AM, Albert Cui notifications@github.com wrote:
This would probably be a good task for a graph based storage backend. A background task could run this on an interval. I don't think it needs to be updated in real time.
On Sat, Oct 31, 2015 at 1:08 PM, Howard Chung notifications@github.com wrote:
concerns:
How to store this data? Create a new SQL relation for it? What would
the schema look like?
What is the cost of adding together all of a team's items? I suppose this could be done once per team, then 10 data points created and the backing data store updated.
— Reply to this email directly or view it on GitHub https://github.com/yasp-dota/yasp/issues/731#issuecomment-152751148.
— Reply to this email directly or view it on GitHub https://github.com/yasp-dota/yasp/issues/731#issuecomment-152847229.
Dotamax has a nice feature which documents hero advantages/disadvantages" in certain matchups. For example:
Something which has not been implemented anywhere is a similar application for items. For example:
Wraith King
Wraith King's Best Versus
Item Anti-Index Win Rate Daedalus +6.8% 53%
Wraith King's Worst Versus
Item Anti-Index Win Rate Diffusal Blade -12.4% 49% Scythe -4.4% 47%
With Yasp's in-depth knowledge of item purchase items, etc it would allow even greater flexibility. You can create scales that show the effectiveness of the items at different points in the game.
I understand one of the limits of Yasp is that it does not parse as much game data as dotamax and dotabuff, but this feature would give a distinct competitive edge over other statistics websites as well as provide a strategic benefit for DOTA players.
Thoughts?