TradeSkillMaster Pricing Souces - A Few Of Our Favorites Explained

TradeSkillMaster Custom Pricing Sources can be a bit complicated so today I thought I would share a few of my favorites as well as explain them thoroughly.

Head past the jump for explanations of some of our most-used pricing sources.

What is a Pricing Source?

To start off a little bit of explanation is in order. In TradeSkillMaster 2.0 the creators included a bunch of new ways for TradeSkillMaster to calculate and determine pricing.

In its most simple form you can think of a Pricing Source as a little "math formula" or "computer program" that determines a price.

These prices can be used for things like sell prices in an Auctioning Operation or buy prices in a Shopping Operation.

Once you get the hang of writing a rricing source the possibilities are nearly endless.

Entering A Pricing Source

In TradeSkillMaster 1.0 you had a few options for ways to use something other than a simple gold amount ("295g" for example). These were handled with a drop-down menu next to the old Category/Group Overrides.

In TradeSkillMaster 2.0 custom pricing sources must be typed out. This can provide some barriers to entry for people who might not have written one before but on the plus side provide much more flexibility.

To enter a pricing source you simply type the source formula into any entry field in a TradeSkillMaster Operation that asks for a price (like an Auctioning or Shopping Operation.

(A good place to go to look for pricing source examples is TradeSkillMaster's CustomPrice page. This page lists all the ways you can build a pricing source as well as the proper syntax you need to use.)

The Undermine Journal GE Addon

I utilize The Undermine Journal GE addon in many of my own pricing sources.

(If you plan to use any of our pricing sources that include "TUJGEMedian" you have to have The Undermine Journal GE addon installed before hand.)

The Undermine Journal GE addon is an addon produced by The Undermine Journal that calculates a "Market" price (aka "Mean" or "Average") as well as a "Median" (or middle) price for all the items in the game that it has seen on the auction house.

It obtains its pricing information by scanning the auction house of all the servers and calculates a Market and Median price for each item.

In other words the addon provides a fairly good price across all servers.

While it may not be perfect for very specific markets like gems or glyphs that can vary from server to server, for general pricing I think it works well most of the time.

Using The Undermine Journal GE addon also has the advantage of being able to be used without ever having to scan the auction house. This gives the benefit of also allowing you to do auctioning across multiple servers easily without having to scan each one.

Static Pricing

Let's start with a simple pricing source: a gold amount.

To enter a specific gold amount as a pricing source you simply type the gold, silver and copper amounts in the following format: XXgXXsXXc.

If I wanted a pricing source of 295g 45s 76c I would enter:


You can also leave off the copper and/or silver amounts if you want and simply enter:


This is the most simple pricing source there is. Unfortunately it isn't very smart and you have to know the exact price you want for each group, etc.

Dynamic Pricing

Another option for pricing sources is to use a pricing source that is somewhat "dynamic" meaning that it can change for each item in a group.

One example of this is if you utilize The Undermine Journal GE addon (TUJGE).

By using TUJGE as a pricing source each time TradeSkillMaster tries to determine a price for an item it will check (or "ask") the TUJGE addon for the pricing information for that specific item.

This means that the prices for different individual items in a single TSM group/subgroup can be different (as opposed to a static price group where all items are priced the same).

For example if I had "Copper Ore" and "Tin Ore" in a single TSM group and was using the TUJGE addon as part of the pricing source it might give back "1g" for the Copper Ore and "2g" for the Tin Ore (if that was the pricing TUJGE had calculated for those items).

This example was hypothetical but it demonstrates how the TUJGE addon could give different prices for different item even if they are in the same groups (which isn't true if you are using a simple gold amount for the price source).

Median vs. Market

Before we go too much further I wanted to explain (to the best of my ability) the difference between the "TUJGEMarket" and "TUJGEMedian" pricing sources available from The Undermine Journal GE addon.

"TUJGEMarket" is the "mean" or "average" price meaning that The Undermine Journal takes all the item prices it finds then divides those prices by the number of items it found.

"TUJGEMedian" is the "median" or "middle" price meaning that it is the midway point between the highest and lowest prices The Undermine Journal saw for an item.

Others more familiar with math and statistics may be able to provide a more thorough explanation as to what exactly each one is and also which might be better to use.

In asking around I've heard that Median is a little less susceptible to large swings in price. Because of that I always use Median.

(That said, I'm always open to learning more about why either should be used over the other.)

Percentage of TUJGEMedian

One of the most common pricing sources that I use is to calculate a percentage of The Undermine Journal GE Median.

An example might be a Auctioning Operation where the lowest I'll sell an item for is 30% of TUJGEMedian, the normal price is 120% of TUJGEMedian and the maximum price is 200% of TUJGEMedian.

This is a common pricing strategy for many of my groups as it allows the price to be calculated automatically but also uses the pricing information that The Undermine Journal has collected to make sure the prices stay within a reasonable range.

I use this particular pricing on a lot of groups. Lots of times it's groups where I just throw items in that I want to sell but don't want to spend any time really "fine-tuning" the price.

I use the pricing below as a sort of "catch all" pricing. Pricing that works well enough, enough of the time to be very useful.

To write the pricing sources above we first include the percentage, a "%", a space then "TUJGEMedian".

Minimum pricing is written:

30% TUJGEMedian

Normal pricing is written:

120% TUJGEMedian

Maximum pricing is written:

200% TUJGEMedian

If all you get our of this post is to install The Undermine Journal GE addon and use the above pricing to build a single Auctioning Operation I'll consider my job done.

This single set of pricing sources is useful so much of the time it really is a sort of "lazy man's" pricing. It works on almost everything.

Using Math

Another thing you can add to pricing sources is math. Almost any sort of math you can think of is allowed.

A new type of pricing that I am currently experimenting with is a pricing source based on using the vendor sell price of an item to determine its sell price.

I've done this to allow a sort of "universal" pricing that can be tweaked by simply changing the multiplier of the vendor price as the single "tweaking" factor.

While this pricing is still experimental I thought I'd include it to show how math can be used in pricing sources.

While this example used "VendorSell" as the pricing source the following pricing sources (taken from the TradeSkillMaster CustomPrice page) might also be used:

avgBuy (Average Purchase Price)
avgSell (Average Price sold at)
Crafting (Crafting Cost)
dbmarket (AuctionDB - Market Value)
DBMinBuyout (AuctionDB - Minimum Buyout)
Disenchant (Disenchant Value)
matPrice (Crafting Materail Cost/Value)
VendorBuy (Price to purchase from a vendor)
VendorSell (Price to sell to a vendor)

For this example I'll be giving the current buy pricing source I am using for the maximum price in my 84-83 MoP Items TSM Shopping Operation.

I'm currently using 3 times the price a vendor will buy an item (VendorSell) as the highest price I'll buy a item for. This is written as:

3 * VendorSell

In the above I typed "3" then the mathmatical symbol for multiplication "*" and then what I wanted to be multipled (in this case "VendorSell").

I'm also using a multiple of VendorSell for my current (experimental) Auctioning Operation pricing as well.

My current 83-84 MoP item Auctioning Operation pricing sources are as follows:

Minimum price:

3 * Vendor Sell

Normal price:

20 * VendorSell

Maximum price:

30 * VendorSell

The above example shows how you can use math as part of a pricing source. In addition to multiplication (*) you can also use subtraction (-), addition (+) and division (/).

Pricing Sources That Choose

The last example I am going to share is a pricing source that looks at two numbers/pricing sources and chooses one or the other.

The example that I use on a daily basis is a pricing source for my transmog Shopping Operation that looks at 10% of TUJGEMedian and 100g and chooses the lower value.

Another way to put this is that I want to buy my transmog items for 10% TUJGEMedian but I don't want to buy any items that are listed for over 100 gold.

(This is similar in theory to how Auctioneer saved searches allowed you to set a maximum bid and buyout price for auctions.)

To accomplish this we are going to use the operator "min" as part of our pricing source. The "min" operator looks at the pricing souces you list and chooses whichever one is smaller and uses that one as the pricing source.

(You can also use "max" instead of "min" and TSM will choose the larger of the two numbers as the pricing source.)

The min pricing source is written:

min (10% TUJGEMedian, 100g)

The syntax is "min (x, y)" where x is one pricing source and y is another pricing source.

As you can see from above the pricing sources inside the parenthesis can also include math or percentages (10% TUJGEMedian in this case).

While it seems counter intuitive for "min" to be used to set a "max price" that is how it is accomplished.

For example if there was a transmog item where the TUJGEMedian price was 5000g then 10% of that would be 500g. That is over my price limit of 100g.

If, then, TSM found that particular item on the auction house for sale for 450g it, technically, would be under "10% TUJGEMedian" but because I only want to buy items under 100g it wouldn't buy the item because it would choose the minimum price of 100g for the maximum price in the Shopping Operation and 450g is over 100g.

In other words (using the above example) TSM would essentially be thinking: "min (450g, 100g)".

It would be thinking "For the maximum price I'm willing to buy an item for (Maximum Price in a Shopping Operation) I'm going to choose the lowest price between the two options I'm given. The first option is 450g and the second is 100g. 100g is the lowest price (min) so I'll use that for my maximum price."

While this seems complicated, if you are wanting to use a percentage of TUJGEMedian as your Maximum Price in a Shopping Operation but are also working in a market with some huge prices (like transmog) and want to set a "hard cap" on what you're willing to pay for any one item you can use something like "min (x, 100g) where "x" is the pricing source of your choice and "100g" is your maximum price you want to spend.


So we've given you some of our most-used pricing sources that we are using on a day-to-day basis.

We've also gone from the most simple (a gold amount) to the more complex (min pricing source using a percentage as one of the sources).

Even with the examples we've given here there are always more great ideas for pricing sources.

That is what is so powerful (and also so intimidation) about the way pricing sources are set up. It is a bit more complex to have to write out your sources rather then being able to pick them from a drop down but the new-found flexibility of the new system is really better in the long run.

It allows you to be more fluid and more creative with your pricing sources. We can do things today that we would have never been able to do in TradeSkillMaster 1.0's pricing system.

We just need to spend the time getting to know the options and experimenting with them.

What are some of your favorite pricing sources? I'd love to hear about them below.

Like this post? Get even more Power Word: Gold - Purchase our Gold-Making Guides, subscribe via RSS, subscribe to the Podcast via iTunes or RSS, watch our Livestreams, follow us on Twitter, Like us on Facebook, Circle us on Google+, subscribe via Youtube and join us on reddit.


  1. Since I'm working the AH on one faction on one server I don't care about global prices, just those on my little world, I've been using the TSM application to populate the DBmarket prices. (Do you know any reason not to use it?)

    Therefore, a lot of my auction rules include a %dbmarket aspect. For crafted PvP gear & jewelcrafting items, I have a rule like:
    Rule name: 24h 2of1 120-250craft
    Min: max(120% crafting, 80% dbmarket)
    Normal: max(250% crafting, 150% dbmarket)
    Max: 250%dbmarket

    I also use the reset tab in a similar way, with my reset price set to something like (200%crafting, 135%dbmarket).

    Despite the flexibility of the rules, I've still created lots of auction rules. An issue for me is losing track of what groups use each rule. I may want to change my "24h 2of1 110-200%dbmarket" rule to "24h 2of1 125-225%dbmarket", but I don't know which item groups might be effected. And I don't know a way to find that without looking at Do you know of one?

  2. This comment has been removed by the author.

  3. This comment has been removed by the author.

  4. I've also had a case where I have to use "first()"

    this is good for certain items which never show up. for instance, I might have a group of things that I sell for dirt cheap, but I never quite remember where I get them.

    I usually want to sell at dbMarket but sometimes it hasn't shown up (or it ages out or something). Then basically, I want to sell it for some markup over VendorSell, but that might not be right, since it might not have a VendorSell. And finally, if all else fails, I'll say 5g:

    first(dbMarket, 1.2 * VendorSell, 5g)