Find out what locals pay. In most places where haggling or bargaining is common, there's a double standard when it comes to the price tag: What locals pay is often far less than what tourists pay.
Even if you find that an alpaca scarf costs 60 Peruvian nuevo sol for locals but 100 nuevo sol for tourists, don't necessarily expect to be able to bargain down the price of the scarf to 60 nuevo sol. Many vendors won't sell the "locals" price to tourists out of principle, although you may be able to get pretty close if you're skilled.