How companies learn your secrets is a long but interesting article on commercial data-mining. The case studied here is Target, leading with a bit of a fumble where they showed they knew a high-school student was pregnant before her family did, but practically everybody analyzes their customers like this. This article explains some of what they're doing and why it works.
"We have the capacity to send every customer an ad booklet, specifically designed for them, that says, 'Here's everything you bought last week and a coupon for it,' " one Target executive told me. "We do that for grocery products all the time." But for pregnant women, Target's goal was selling them baby items they didn't even know they needed yet.
"With the pregnancy products, though, we learned that some women react badly," the executive said. "Then we started mixing in all these ads for things we knew pregnant women would never buy, so the baby ads looked random. We'd put an ad for a lawn mower next to diapers. We'd put a coupon for wineglasses next to infant clothes. That way, it looked like all the products were chosen by chance.
"And we found out that as long as a pregnant woman thinks she hasn't been spied on, she'll use the coupons. She just assumes that everyone else on her block got the same mailer for diapers and cribs. As long as we don't spook her, it works."
I know someone who used to get together with friends every now and then to randomly redistribute store affinity cards to mess up the data mining. I don't know how long hat will keep working (if indeed it still does) -- unless you also pay with cash. Personally, I just assume that any transaction I make that involves a credit card, affinity card, or disclosure of an address or phone number is not really private.