I'm finding that caravans only return a decent price, IF the town has 15-20 of the goods in stock, and are of a decent value to begin with. Tip: if a town only has like 18 in stock, head over to the next town and see if they are selling that item as well (they normally are, just not quite the best price, and less of them), buy the extra 2, and then sell them to the producing city to make up the full 20. You lose a little bit on those 2 items, but even then, since this is at the low price end of the item, I normally still make a bit of profit on those 2, and get full profit from the extra 3 I get to trade, as opposed to if I sent a caravan of 15. I always asses prices so I know where to send the caravan