TSM4 Guide part 4: Value sources and pricing

In this post we will take a deeper dive into the pricing settings of TSM. I will go through the most important value sources in TSM and show you how you can utilize them in your operations.

Pricing 101

Pricing in TSM is based on a text field. You can enter a fixed gold value, or you can use the built in value sources in TSM. The value sources offer a much more flexible approach as they use the TSM database to get prices related to the specific items in your groups.

Value Sources

Value sources are an incredibly important concept in TSM. Value sources are variables that refer to a specific number related to an item. They have descriptive names that you can refer to directly in the pricing string box.

I covered this briefly in my last post, but today we look at the full breadth of options.

The advantage of a value source is that it will be evaluated separately for every item. This means you can use pricing settings with value sources and it will use the TSM database and desktop application to ensure that your operations reflect any changes in the price.

When used in an operation that is applied to a group with a lot of items TSM will automatically calculate the value sources separately for each item. So any source that is based on the market value of an item will only apply to that item, this is the largest advantage of this approach as it ensures you can use one operation for a lot of different items.

Looking at the sources

Auction house sources

A lot of the sources are based on the auction house prices of an item, we’ll go through those first.


Dbminbuyout refers to the minimum buyout on the auction house. It is generally not particularly useful in auctioning operations, but it’s very useful for figuring out the profitability of crafts.


Dbmarket represents the market value of an item. It is calculated through a slightly complicated algorithm. You can find the description here. Simply said it’s based on an average over the last 14 days.


Dbhistorical is very similar to dbmarket, except it is based on the average over the last 90 days, which makes it much more stable. This can be great for old world materials for instance, as they will typically fluctuate less than current expansion materials.


Dbregionmarketavg represents the average Dbmarket across your region. It’s particularly useful for markets where you want to compare prices across realms such as BoE flipping and Battle pets.


This is the average sale price for your region. I am not currently using this one in any of my operations, but I did use it in my transmog operation when I was active in that market.


Crafting is one of the most useful value sources in TSM. It represents the crafting cost of a crafted item. It’s calculated by finding the material requirements by scanning your profession. It then multiplies the required materials with the material cost for the materials.

The default string for the material costs can be found under crafting in TSM. For most materials the cost will be dbmarket.


These two sources reference the vendor pruchase and vendor sale value of an item.


These two source represents your average purchase price and average sale price for the item in question.

Non-pricing related sources

There are some sources that are not related to the price of the items in question, but other statistics, we’ll go through some of them quickly below.


This is the rate at which an item sells. It is the percentage of auctions that are expected to sell presented as a decimal number.


This is the average number of items sold per day for an item. I don’t currently use this in any formulas, but it can be useful.


This counts the number of times an item has expired. This can be useful in slow moving markets to eventually vendor your item if it does not sell within a certain number of expires.


This is the quality of the item in question, which translates to 1 = white, 2 = uncommon, 3 = Rare and 4 = Epic.


This will let you refer to an items item level. This can be useful for flipping high level battle pets or for using one operation for BoE flipping of various item levels.


This is the required level of the item in question.

Using them to make formulas

To use these sources we will use them in a similar manner to variables in programming. You can also think of them as variables in a math setting if you are familiar with that.

A very simple formula would simply be 120%crafting. This one will evaluate to 120% of the crafting cost. This is what I typically use as a minimum price in my crafting markets as it guarantees a 20% profit margin as long as I have my material costs dialed in.

You can also use simple arithmetic. TSM accepts addition, multiplication, subtraction and division. You could for instance make price that was crafting+200g if you want to get 200 gold in profit as a minimum.

alchemy pricing settings

Combining them

We’ll do another post on using the various functions to make advanced settings. As you can tell there are tons of ways to combine these sources, and you can use functions together with them.

Some examples

Using Dbmarket to moderate the price of a crafted item

If you have a crafted item you will likely want to get full market value for it. If you only use crafting in your operations you may not get the full value of your craft. Let’s say we want to post at a minimum of 120% crafting or dbmarket, whichever is higher. In that case we would simply set the minimum price to max(120%crafting, dbmarket). Max() takes to arguments and returns the largest. This means that this price source will evaluate to dbmarket if this is higher than 120% of your crafting cost, and to 120% crafting cost is this is higher than dbmarket. This will bring your price up if the market value is much higher than crafting ensuring a better price.

A normal auctioning operation for crafted items

For crafted items I typically only use crafting in my operations. As long as I am making a decent profit relative to my cost I’ll be happy. I use 120% crafting as the minimum price, then I will typically use 200% crafting as the normal price. This only comes into play if the AH is empty and I think double the materials cost is a level that most players will generally be willing to buy.

The maximum price is typically set to 300%crafting.

This ensures a decent profit margin at my minimum price and a decent, but not extraordinary normal price level.

Enchanting pricing TSM

Dbmarket vs. dbregionmarketavg vs. dbhistorical

For flipping markets or for markets where you want to include the market value these three will be your main price sources. I prefer dbmarket for most fast moving current expansion markets, such as materials, flasks etc.

I use dbregionmarketavg together with dbmarket in my BoE flipping settings to ensure that my deals lower than the region market value.

I use dbhistorical in some old world material markets, I’ve been using it extensively in the ore and bars market as the price here is usually more stable, and this gives you a better idea of the long term value of your materials.


Value sources are incredibly powerful tools. Typically as a newbie you can likely get away with just using dbmarket and crafting. These two will cover most of your use cases as they are server related and very useful. The basic crafting setup above is one I use across almost all my crafted markets, and I encourage you to use it. For an idea of a generic flipping setup you can look at my material flipping group. It’s not as universal, but it shows the basics of setting up a dbmarket based flipping operation.

Part 5: Auctioning

If you want to level up your gold making consider supporting my Patreon. 

48 thoughts on “TSM4 Guide part 4: Value sources and pricing

  1. Hey
    First, thx for your blog, it cas been extremely helpfull in getting started with goldmaking.

    I have a question about crafting cost. How To setup crafting cost without having all the profession? I would like To use crafting cost To spot crafted item on the AH that are cheaper than the material involved for example.

    1. Sadly TSM calculates crafting cost based on your profession, you would have to make a separate pricing string for every crafted item in the game to do this.

      1. Alright, thx. I guess I will just use your spreadsheet then :). IMO TSM’s team should as crafting cost as a pricesource tho!

    1. Crafting represents the crafting cost for a flask. It is then divided by 1.4 as you get 1.4-1.5 flasks per craft with rank 3 procs. Then you divide by 0.95 to take the AH cut into consideration. The minimum price will thus ensure a small profit.

  2. Whenever I set the maximum price to 300% crafting I get an error saying “did not post X because my maximum price (300% crafting) is invalid, check your settings.

    1. Crafting can be invalid for two reasons:
      Either one of the materials is missing a valid price source (e.g. Expulsom)
      Or TsM has not successfully scanned the recipe from your crafting window. Crafting will only be valid if you can craft the item and TSM has scanned your profession, which it does everytime it opens a profession window

      1. I know I’m very late to the party but holy crap thank you. I’ve been trying to figure out why I’ve been getting that error and I forgot that Boralus Blood Sausage uses Expulsom but I didn’t think of that until I saw this. Thank you for saving me from my headache.

    1. Ups I fucked up a bit there and can’t delete my comment.. sorry for that

      Anyway, I have 3 questions.

      If I use a lvl 1 bank alt i obvioulsy don’t have any professions so the 100%crafting price source will always consider I crafted specific Items (which I sent from main character) with rank 1, right? Although I might have crafted it with rank 3 which would make a huge different. How can I change this?

      How can I change the price for expulsom? Right now I think it just calculates as if expulsom is free?? I think I know where I can change the setting for that (change string for expulsom in crafting profession) but does that effect change the prices for all my characters even lvl 1 without professions? Further, do you have a good string for expulsom cost? I only really use Tidespray bracers for expulsom shuffle but I can’t get it to work.

      Why is the calculated crafting costs (under crafting tabs) sometimes completely of? The MinBuyout prices for every single item times how often I need those items all added together don’t add up the calculated crafting cost of TSM. Especially if there is Expulsom involved.

      Tanks in advance and for your awesome gold making series.

      1. Hey there, thanks for the support.

        For your questions:

        1. TSM will sync your crafting cost across characters. This can take some reloads, but your bank alt will have the same crafting price source as your crafter after TSM has scanned your profession successfully.

        2. To change the price of material you have to open the crafting menu by typing /tsm crafting into chat. Head to crafting reports, then materials and you can search for expulsom and change the value. For tidespray linen crafting a simple one would be (dbmarket(i:152576)*10+2g50s)/0.15

        3. The crafting cost is based on the default material value method, which usually evaluates to dbmarket. The actual cheapest auction on the AH is usually never the same as dbmarket, it will either be lower or higher. The default material cost represents the long term average value you are likely to be able to buy the item at.

        Hopefully that clears up your questions! Let me know if you need help with anything else.

  3. Hey Lazy, Thanks for the great guides m8.

    But what about syncing between two accounts cause i use my bank toon on my second account?

    Thanks for the great help

  4. What Pricing would you use to post mats? on my server the mats for mot crafts ar way more expenive than the crafts itself.

      1. when I imput that the post scan prints that there is a auction cheaper then my lowest price and it wont post it. and when I run with the defult string:
        It works

        1. I don’t try to be cheapest, so I have it set to «post at minimum» when the price is below my minimum price. You can set it just below the price string

  5. Hi, Thanks for all your posts and knowledge sharing! Very helpful!
    I’m getting these error messages every time I log in on any character and have searched and searched, but can’t find relevant resolutions. Two boxes pop open saying:

    The DBGlobalMarketAvg is currently implicitly mapped to DBRegionMarketAvg. Would you like TSM to make this permanent by creating a custom price source?

    And then the second is the same thing but dbglobalhistorical being mapped to dbregionalhistorical. I understand the theory of this, but am uncertain how to proceed. My options are Yes or No. I’ve been hitting No, but the boxes pop up each time I log in. PLEASE! Can you help me understand and resolve this?

    1. The latest version of TSM removed the global price sources for performance reasons. You will keep getting the error message every time you log in until you click yes, so you may as just click yes. It has no practical impact unless you really liked the old global sources for some reason.

  6. Hi There, Lazy Goldmaker!

    First off, I apologize if Im asking this question in the incorrect thread.

    I just started using TSM, and I’ve imported some operations, have purchased about 60k worth of BFA materials to flip on the AH, and would like a syntax for the below market line to generate an operation that undercuts the lowest item listed.

    I find myself frequently buying cheap materials, but Im in a high pop server and somehow my listings always end up being 20th or 30th in price, sometimes even from get go.

    Any idea how I can make sure I undercut every single time?



    1. If you want to undercut at any price you would decrease your minimum price to 1 copper.

      If you are using my setup you should be aware that my settings will intentionally not undercut the cheapest auction. You get fairly steady sales at 100% dbmarket as long as you post in attractive stack sizes.

      If you want to decrease the prices you open the tsm window with /tsm. Go to operations and auctioning and then you find the various “flipping xx stack” operations and reduce the minimum price. You could try 80 or 90% dbmarket to start as the basic price is 100% dbmarket.

  7. How do you do things with Item Quality? Is there anyway I can set all grey items to be valued at something? Even if I have to do say, I”f epic 100%dbmarket, else if rare 100%….finally else 1c” with only grays being effected by the final else.

    1. There is a source called itemquality, I believe it is 1 fpr gray items, so a simple iflte(itemquality,1, whatever price you want for grays, the price you want for other items in the group) should work.

  8. I want to set a custom crafting price for Ultramarine pigment. I want to do something like min(Akunda’s Bite, Riverbud, etc.)/17. Is something like this possible?

    1. Yes, you can do that by going dbmarket(i:123456) where the number is the item ID for the item, which will be in the wowhead URL. So if you just wanted akundas and riverbud it would look like this: min(dbmarket(i:152507),dbmarket(i:152505))/17

  9. Hi,
    thanks for this post. Do you know if it’s possible to set the matprice value tsm takes to calculate the crafting Price to the avgbuy of the materials??

  10. Hello,
    in the TSM profession window (tailoring and alchemy) many receipes are without crafting costs/profit – although on mouse over the mats are listed correctly.
    Do have any idea or suggestion how to fix this?


    1. This happens if one of the materials is missing a valid price source, which is always the case for BoP materials. You can set the material price by going to the crafting view. Type /tsm crafting in chat, go to crafting reports and then materials and search up the materials that are missing and give them an appropriate price.

      1. Oh big tanks, this is the solution 🙂
        I think most of the time the missing mats are from vendors like “Rune Thread”. The tooltip shows the correct vendor price under Tradeskillmaster Info – but not in the materials list.
        Any guess why?


        1. Unsure. I think TSM only stores vendorbuy values for a certain amount of time, so if it has been too long since you opened a vendor it will be out of date.

          1. Just curious — is there a reason for this? Vendor prices don’t really change, unless there’s been a patch/expansion. It should be static and updated by the addon maker, right?

      2. The string/source in the missing mats is always dbmarket, if i change it to vendorBuy it shows the correct price (instead of nothing).


        1. The default value is min() with a bunch of different sources in the parenthesis that includes vendorbuy, sounds like you may have changed the default material value.

  11. Hello. I need a searchstring für armor items showing only items with a dbregion or dbmarket value >20000g and a <10% buyout of that value. Is that possible?

    1. You would have to change the default shopping value. You could probably set something up that would be invalid if the price isn’t correct and any items with an invalid price source would show up at the bottom.

      ifgt(dbmarket,20000g,10%dbmarket,dbmarket-200000g) would be invalid if dbmarket is smaller than 20 000 and would default to 10% dbmarket for any items with dbmarket above 20000. You could then just search for /Armor/

  12. I am trying to figure out how to create an auction string for transmogs based on sell rate. If the sell rate is .02, that means on average I would need to post the item 50 times for it to sell. Each of those postings would cost a auction fee. If the profit after the 50 auction fees is more profitable than disenchanting or vendor sell then I would want to post it. I think I would also need a vendor string as well that used the same logic. Everything else would be disenchanted. This same string minus the disenchant could be used for everything else.

  13. Hey, how’s it going?

    I am playing on classic WoW, so perhaps this isn’t a problem people have in retail.

    There are several items which can only be crafted using a daily cooldown, such as Skyfire Diamonds and certain cloths etc. These items are then in turn used for further crafts such as gem cuts or gear.

    If one of my characters has the recipe for the Skyfire Diamond, TSM will use the crafting cost of that item to calculate the cost of the final cut version of the gem. But since supply is limited by the daily cooldown, I have to buy some extras from the AH or other players. However, this can cause TSM to post items at a loss, since it uses the crafting cost of the base craft instead of the market value of the intermediate product.

    For example: Crafting the gem is 50g, buying the gem is 100g, the final cut gem is 90g. TSM thinks I make 40g, in fact I am losing 10g.

    I was looking through the options, trying to come up with something, but the closest solution I found was the following under Settings->crafting : Default material cost method: min(dbmarket, crafting, vendorbuy, convert(dbmarket)). When I deleted “crafting” from the string, it worked the way I wanted for the gems, but I’m pretty sure it will affect all the profit calculation for all other items which do not have a daily cooldown.

    Is there an option to adjust the crafting price for the items that are locked behind daily cooldowns?

    1. If you open the tsm crafting window with /tsm crafting you can then go to reports, materials and then search the lis for skyfire diamond. Then you can change the value string for diamonds specifically, without changing the valuation of every material. You can then do the same for any other daily cooldown material.

  14. Hi, yes there is an option in which u can adjust the pricing algorythm u jsally find in the options menue under crafting or smth similar. It uses a first method which puts out the first valuable pricing ….

  15. Hey LazyGoldMaker,

    I started flipping materials because I’ve seen one of your videos and I am struggling now with the minimum price. Basically, I buy materials when they are below 75% market value and there is a decent gap to the next post. (Or i buy it all up, resetting the price.) Which results for me that I want in my default operation a minimum price of 80% marketvalue. This way I want to make sure that I don’t make losses on trades.

    Is that a good approach or do you have another tip. And also, I need desperate help to set up the minimum price as I don’t quite get the formulas, yet.

    Thanks a lot!

    1. I’m interested in this as well, but seeing as it’s been 2 years, I doubt there will be a reply. I’m doing something similar (80% market value for buying enchanting mats in Wrath and flipping them into scrolls), and with market volatility it’s been challenging to figure out how to manage it so that I’m profitable. Life was a lot easier when Stormspire & spreadsheets were more readily available 🙁

  16. “Dbmarket represents the market value of an item. It is calculated through a slightly complicated algorithm. You can find the description here. Simply said it’s based on an average over the last 14 days.”

    Is “here” supposed to be a link?

Have a question or a thought? Leave it here:

This site uses Akismet to reduce spam. Learn how your comment data is processed.