Every time you post an item to the auction house and it does not sell you lose the auction house deposit. Obviously you want to minimize the gold you lose this way. This is especially relevant for slow selling items with fairly high deposit costs such as transmog.
TSM4 has you covered
Auctioning operations have a setting for maximum number of expires that you can set to stop posting an item if it is no longer possible to profit. With a little bit of math we can quickly figure out how many expires it would take before it no longer makes sense to post it.
For unique and slow selling items it can be quite useful. As the number of expires will be tied to the specific item.
The only real issue is that you have to set it on a per item basis to be precise.
What do you set it at?
One deposit will cost you 60% of the vendor sell price for an item (assuming 48 hour duration). If you divide your minimum price by 60% vendorsell you get the number of expires you can have before you start losing gold.
If you are using this for transmog the minimum price is probably shared by most of your items so you can easily just make a custom source like the one below.
Set your operation
To set it in our operations we first need to add the price source to our tooltips so we can quickly add it to the relevant sub-operations. Once we do that it’s an easy case of just setting the number of expires for the operation equal to the copper value of maxExpires.
As you can see in the screenshot the value is 15 silver and 45 copper. This is equal to 1545 expires for this particular item.
Once an item has hit max TSM will not post it and tell you it’s because the max expires has been reached. At that point you are usually better off just vendoring it and taking the loss. This is most often an issue for low value transmog as it can take extremely long to sell.
A more flexible approach
There is a more flexible approach you can use in stead though. TSM4 added a new value source called NumExpires, which is simply the number of expires for a specific item. For duplicate items and crafted gear this source will be pretty useless, as your numexpires will just grow forever.
Using this you can gradually lower the price to try to sell an item off or you can just use it to stop posting an item if the number of expires hits the limit.
Lowering the price
If you want to use this to lower the price you can do something like this:
This price will reduce the price by 1 percentage point for every expire. This source will eventually hit levels that are way too low though. A slightly more sophisticated approach would use an if clause.
This source would reduce the price by 1 % for the first 30 expires before it would settle at 70% dbmarket after that.
Setting a hard cutoff
To make an operation stop posting something if it has passed the point of profitability due to lost deposits you need to add some functions that turn the minimum price invalid after a certain number of expires.
The cutoff for when it hits profitability is of course if numexpires is larger than minimum price divided by 60% vendorsell.
If your minimum price is 70% dbmarket it would look like this.
0-1 will evaluate to an invalid price and will prevent you from posting if the number of expires is too high. This can be used with any operation or minimum price source including custom price sources with several nested ifgt() functions similar to what BilisOnyxia uses in the sniper string.