During the series How to Make Crafting Profitable, Part 3
covers DBMinBuyout and why it is bad to use. I linked to /u/gumdropsEU/
on Twitter, and pasted the results of the !matcost command from the Woweconomy Discord.
That ought to have covered everything, but clearly there are more questions. Let's dive into DBMinBuyout and related errata.WoW Classic/BCC, and Manual Scans
Both of these game versions require TSM price data to be collected from TSM users. That may change in the future, if and when Blizzard provides a web API for those games like they do for retail WoW. As of this writing, Blizzard does not provide such a feature, meaning TSM can get data only one way: through /tsm scan as run by users.What Manual Scanning Does
When a user runs the /tsm scan command from the Browse tab, this updates DBMinBuyout for all the items found on the auction house during the scan. This has several limitations:
The scan takes time, and will miss auctions during the scan. Either the auctions get cancelled, bought, or expire before the scan is complete, a manual scan will not detect those items.
- Manual scans update DBMinBuyout as mentioned. No other price sources are updated. Your crafting costs, market value, sale rates, sales per day, etc, are not updated during this scan.
- Users are limited, by Blizzard, to manually scanning once every 15 minutes, or after logging out/exiting the game and returning to the game. During either the 15 minute window or the minute or two needed to relog, dozens, possibly hundreds, even thousands, of auctions could be changed. New auctions could be posted. Old ones bought, cancelled, or expired. A manual scan is limited by time, and misses a lot of data.
- Whenever the user reloads their UI or logs out/quits, the results of a manual scan are wiped from memory. /tsm scan is saved on a per-session basis. Therefore, not even DBMinBuyout is saved to disc.
- DBMinBuyout reflects the single, cheapest cost for the item. It isn't updated live, which means if you buy the cheapest auction, DBMinBuyout does not update to the next cheapest price. You'd need to manually scan again, incurring the wait time.
This means that DBMinBuyout is at best a couple of minutes old or 15 minutes, depending on which wait you incur, and incomplete. At worst, it is several hours old if you have played for a long stretch without reloading your UI to bring in data from the app.
<snip>Retail WoW, and no Manual Scans
Retail World of Warcraft has no manual scan command. Instead, Blizzard provides data themselves through a web API. Typically, Blizzard updates their data every hour or so, but occasionally there are outages. You can check if Blizzard is reporting auction house data with https://does.theapi.work/
If there is data from Blizzard, the same thing happens with retail as does Classic/BCC: it gets processed on the TSM servers and provided back as price sources.
<snip>Where Should You Use DBMinBuyout
Realistically, you shouldn't. There is only one place in TSM that it works, and that is the Default Craft Value Method, where is first checks if an auction for that crafted item exists, and if yes, value against that current auction. If no such current auction for the crafted item exists, use the market value. first(dbminbuyout, dbmarket) * 0.95 which is found in /tsm, settings, crafting and you can read in greater detail in Part 1 of Making Crafting Profitable
. Check the sticky comment for the other parts.