When people ask what Santa got me for Christmas, I tell them about the sweet Sniper functionality @Sapu94 built into TSM_Shopping.
For me, sniping was the last major missing feature in the TSM suite. At this time the potential with sniping is massively under-appreciated and under-utilized by goblins. I hope to change that with this guide. Back in 2010-2011, sniping was a major source of income for me. It has since become a lost art in goldmaking, one that died alongside Auctioneer when TradeSkillMaster was unleashed unto this world. Earlier this year, some attempts were made at developing a Sniper module for TSM, but the addon wasn't very functional the the project eventually died. Last week, in blazing and glorious fashion, Sapu stepped in and wrote Sniper functionality into TSM_Shopping. You can view the original thread here.
What is sniping? Sniping is a strategy where you look to pick off cheap items from the Auction House moments after they're posted, or just before they expire (bid sniping). It's easily the most effective method by which to get great deals. TUJ's Great Deals page and WoWuction's Bargain Hunter are awesome, but the deals shown on these pages can be several minutes old. True deals sit at the Auction House for mere seconds - these are the deals we wish to target with Sniper.
Sniper works by constantly refreshing the first and last page of the Auction House and checking freshly posted auctions for deals. This is where you pick off deals mere moments after they're posted.
The good about sniping:
- It's "lazy gold". Your dedicated attention isn't needed. Once the initial setup is complete, little customization is required.
- Very high earnings are possible.
- Stacks with crafting. You can do sniper scans, say, while shuffling.
- Stacks with homework and studying. You can run sniper in the background and tab in deals are found.
- Doesn't require a large investment.
- It's fun!
- Highly random. A session might yield 40k, or 200g.
- Scales poorly on smaller servers.
- Fiercely competitive (since the release of this guide, anyway).
- Requires extensive configuration and understanding of the game.
My intention was to make this guide as newbie-friendly as possible, so the steps below are fairly detailed. You should nonetheless be familiar with the very basics of TSM. For this I always recommend @PhatLewts TSM video series. Make sure to check out his blog and drop him some rep while you're at it. Also make sure to check out his quick sniper tutorial.
The first step is to tell sniper how to look for deals. Open up TSM, go to the Options tab (2nd icon), and click Shopping. Here, you have 3 options:
- Below Custom Price: Entering any value here will tell sniper to flag absolutely anything that is posted under said value. If you enter 10g, sniper will flag any and all items that come under that value (realistically you might use something like 10% DBHistorical). In the example above, I use 1% snipe, a custom pricing source.
- Found Auction Sound: Quite simply, the sound played when a deal is found. Self-respecting goblins use the Cash Register sound here.
- Below Vendor Sell Price: Checks for items that are posted below their vendor sell price. Useful if you're just starting out and need a quick buck, otherwise just leave this unchecked.
Most sniper guides will tell you to set option #1 and call it a day. The problem with using this "blanket" option is that sniper will return too many "false positives". Sniper will not be effective if you need to babysit everything it flags, and believe me, it will return tons of false positives. For sniper to be effective, you need to be 100% confident in all its flagged results. Otherwise, you'll end up second-guessing yourself and missing out on deals. Trust me, I've done countless days of sniping back when Auctioneer realtime scanning was king, and this is the way to go. This is where we differ greatly from all other sniping guides/methods.
To snipe effectively, you need to set sniping thresholds for any and all items of interest. That might sound insane, since this means setting up groups for thousands of items, but just bear with me for now.
Make sure that your Market Value Price Source match across the board. You don't want to use auctionDB as your price source if your Max Price is, say, WoWuction pricing. Use one or the other across the board. I use snipeold and snipelegion, custom prices that accounts for realm, regional, and vendor pricing. Using a custom price is dandy, since I can change how all my groups operate by changing a single line. This custom price might seem conservative, but it's set up in such a way that I never doubt the value of flagged deals.
Edit: Some of you have asked for more detail with regards to my custom pricing so here's a quick rundown;
snipeold: min(crafting,75% vendorbuy,avg(DBRegionHistorical,DBHistorical))
"Snipe Old" is quite simply for sniping old-world markets. This source takes the minimum of crafting price, vendor buy price, and market value (historical and regional).
snipelegion: min(DBMarket, crafting, 75% vendorbuy)
This source is for anything new in Legion. Since most Legion goods are in high volume, there is sufficient data for DBMarket to be accurate. Once again we take the minimum of crafting, vendor buy price, and market value.
The use of custom pricing allow you to modify any given custom price without having to touch operations, so I encourage you to use it extensively.
Note that I use dozens other pricing sources tailored specifically for certain groups. I change them on a regular basis and don't claim to have a perfect setup yet. At the very least, however, you should use custom stepped rules as outlined by @Ord here.
Next, we're going to create groups and populate them with items that sniper should look for specifically. In normal circumstances this would be a painful, confusing, dreary process. For example, to populate the BoE Epics: 1-59 group, you'd need to dig up every single item that fits this category, and add them to the group. Rinse and repeat for the tens of thousands of items in WoW. Luckily for you, uncle Sterling has done the hard work already. All you need to do is import them. Note that I had to split my imports into small, manageable chunks that don't crash the game...
Importing items can screw up your current groups if you don't know what you're doing. I suggest creating a new profile and working from scratch for any sniping activities.
To import the group structure and items, first create a parent group. Call it "Sniper Groups" or something similar. Highlight this group and go to the Import/Export tab. Copy paste the strings below in the Import String box, then hit ok. You will end up with the same group structure I'm using!
WARNING! No doubt these groups still contain items that will come up as false positives. Should you find one, please reply to this thread and report the item so that we may remove it.
I couldn't fit all the text in one post. Click here for all groups.
Next, create "shopping" operations for all your sniping groups. Go to Module Operations / Options, and click on Operations. From here you can create new operations. You could technically get away with creating a single operation that snipes all your groups at 10% DBHistorical, but extra customization never hurt anyone.
Feel free to use whatever price you wish here, but I find that DBHistorical and DBGlobalHistorical work best. Again, I encourage the use of custom pricing here. Whatever you do, make sure that your pricing model supplies a high seen count for all items, as to not overvalue items.
Show Auctions Above Max is entirely optional. It shows you auctions above your max snipe price. Not recommended unless you're troubleshooting.
Again, make sure to use descriptive names for your operations. You'll notice I put my actual market %s in my operation titles; this helps me see what I've done at a glance.
Navigate back to your groups and start assigning operations. Make sure to check Override Module Operations here, since we don't want the group to inherit anything from its master category/group.
Open up the Auction House UI, and go to the Shopping tab (by default this will be your tab). Click on Other, and Start Sniper. If you go to the Browse tab, you'll notice that the search pane is quickly cycling through new auctions (otherwise, something is wrong). When sniper flags a potential deal, it will pop up in the search area, similar to Shopping.
I started sniper just to take this screenshot and wasn't expecting much (maybe a good deal on some ). Those deals popped up literally 10 seconds in. What you see there is a ~1500g value, conservatively, at a cost of 68g. That is the power of sniper.
Session #1 Stats
x 20 = 60g
x 5 = 150g
x 4 = 10g
x 32 = 64g
x 8 = 24g
x 6 = 20g
x 34 = 136g
Spent = ~1300g
Expected value = ~6200g
Expected profit = 4900g
Session duration = 1hr, 15min
GPH = ~3900
Session #2 Stats
x 4 = 4g
x 24 = 50g
x 15 = 50g
x 9 = 5g
x 9 = 15g
x 7 = 15g
x 12= 12g
x 3 = 600g
x 9 = 27g
x 12 = 100g
Spent = 674g
Expected value = ~3900g
Expected profit = ~3300g
Session duration = 1hr
GPH = ~3300
Session #3 Stats
x 47 = 60g
x 20 = 60g
Spent = 816g
Expected value = ~6000g
Expected profit = ~5200g
Session duration = 45 min
GPH = ~6900
ATFAQ (all-too frequently asked questions)
1. I run sniper, and all sorts of junk shows up.
Vendor search may return some junk, as will Below Custom Price, if set too low. If your market pricing is too high, too many results will be returned.
2. I run sniper, but nothing shows up. My life is ruined!
It may take a while for results to show. On smaller economies, items are posted infrequently, and thus deals are rare.
To make sure your shopping rules are being respected by sniper, set them to 1000%. Run sniper and see if anything is flagged. If not, your shopping rules have not been configured correctly.
Also make sure that you have valid pricing in your tooltips for the shopping rules you are using.
3. I want to run sniper while I sleep.
Not really possible, unless you want to break the ToS, in which case you should head to OwnedCore and hang out in that cesspool.
4. How do I auction off items I snipe?
Apply auctioning rules to your sniper groups. These are the basics of TSM, which are well covered in PhatLewts' guides linked in my signature.