This has been in talks for awhile, so I am going to make a formal writeup to discuss the capabilities, features, and limits of this idea.
Summary: The "Live" pricing option is a feature that a user can set, that will take the latest scan data's lowest posted bid/buyout price for an item, and undercut that by a certain percentage that the user can define. The idea is that this will work in co-ordinance with batch posting when a user has a lot of items, and doesn't have to individually adjust the price of each item in order to undercut another person.
Features: The "Live" pricing option should have the following features. 1.) Option to list a percentage in which to undercut the lowest current buyout price. 2.) Option to specify a limit for how low an item can be posted under the rolling average. For instance, if the scan data for a Primordial Saronite has the lowest buyout price of 100g because of someone trying to hurt the normal market price of 400g, then the addon will not post that item and skip to the next one in the posting queue. This feature might need more elaboration of what exactly would be set in the options. 3.) Option to not post, or post using a different pricing model if a item does not exists in the latest scan data. 4.) Option to change all items in my bags, or in the database to use the Live pricing model over their set model. I think that the "Live" pricing option should not be a separate model in the list you'd select, but more or less as a override of whatever model is selected. This would allow the users to dynamically turn the live pricing model on/off for an item, without losing their current pricing model they like to use on different occasions for a specific item. 5.) Option to not let an item post if the undercut percentage is below the vendor price for that item on either Bid/Buyout.
Scenario Let's say I decide to liquidate all the items my alt has in his/her guild bank. I could possibly have up to 3-4 tabs full of materials that I want to get the most of my money for, as quickly as possible, without having to spend hours individually pricing each one. This is where the "Live" price option would come in handy. I could run a quick Get-All scan of the AH, or simply refresh all the items in appraiser, make sure that I have the "Live" pricing option set for all the items. I could them specify the undercut percentage, whether or not I wish items to be posted if there is currently none in the scan data, or a limit on how low a specific item is below it's rolling average, and simply batch post those items at an undercut value.
If you have any questions, ideas, changes, or you need clarification on what I've stated let me know. I want to get a full write-up of this idea complete so we have an exact goal to work towards and know exactly what needs to be changed. I suspect this conversation to go one for awhile.
Undercutting should really be the job of Match-Undercut. Currently it isn't flexible enough to do what everyone wants. We could look at expanding the settings, even look at extending the Matcher API so Appraiser can pass more details (extra options?) to the Matcher, and for the Matcher to pass additional info back (see below about blocking posting).
A RightNow stat as suggested in http://jira.norganna.org/browse/ADV-396 - median (or average, or something) of the current competition - should provide a reasonable base for Undercut to work from, as well as allowing some people to use it "raw" if they prefer.
Main point: Appraiser needs a mechanism to allow other modules to block a posting. This needs to designed such that a new module (e.g. 3rd party module) can easily insert itself, either by calling a registration function, or by exporting a specifically named function in its lib. However this may also want to be tied to the Matcher system somehow. Both our current Matchers might want to block a posting (Undercut if lowest competition too low, BeanCounter if fail ratio too high), but to make they decision they need to perform their matching calculation. As this is fairly slow in both cases, we want to avoid doing it twice if possible. We probably want to send some sort of block info back through the Matcher API, that Appraiser can use later to make its blocking decision.
Ghost, May if we do make a new util, or matcher I recommend the name be Liquidate in some form or another. I like it better than live price, and really states its primary use well, dump this stuff at liquidation prices :P/
I'd tend to agree with brykrys in that is mostly in the realm of a matchers rather than a separate "mode". You can do most of this already by setting large values in the undercut matcher.
For the "don't post if can't undercut" option, it might be more flexible to have the matchers control not only the price but optionally also the number of auctions to post. So if you have it set to post 10 of an item, but there are 3 up already that undercut can't match, it could tell appraiser to post at most 7. Similarly, the beancount matcher could adjust post count based on your sales history.