My wife's computer started acting funny. After playing with it some, I was pretty sure it was going to need a new hard drive. OK, I can do this. It has a 250-GB hard drive in there now, so I will just put a bigger one in. Really, everyone needs more hard drive space anyway - what with all the family videos and pictures and stuff. Off to the online store.

Here is where the problem began. How much is a 1000-GB drive (1 TB)? Wait ... the 1.5-TB drive is just a little bit more than the 1 TB. This is odd. Must collect data. I looked at just about every 3.5 -inch hard drive on Amazon's electronics page (well, the first first 80 listed). I didn't care if it was SATA or SATA 3 or whatever. Just so long as it was a 3.5-inch hard drive. Oh, I skipped some. For instance, check this sucker out.

This one is clearly more expensive than most, especially since it is only 300 GB - but I guess that is because it is a 15000 rpm speed. So, what if I plot price vs. size? Here is what I get:

The first thing you might see in this data is that the variation in price for the lower-sized drives is huge. For example, there is a 20-GB hard drive for $7 and an 80-GB for $100. Why is this? Probably because when that 80 GB was first for sale, it was $100 and the price never changed. How about I average the prices for different sizes and just include the standard deviation of the price for that size as an error bar?

Note: If there was only one data point, I did not give it an error bar (for obvious reasons). Double note - this was a useful site explaining error bars in matplotlib. So, what if I want to fit a linear function to this data? Oh, yes I know. Maybe this isn't the best choice - but really, I just fitting what I have.

This gives a fitting function of:

Here s is the size of the hard drive. A couple of cool things using this function. First, if you want a 0-GB drive, it would still cost you $52 - I guess that would be for the case and stuff. What if I use this function to determine the price of a 5-TB drive? Just put in s = 5000 and you get $233 - not too bad.

I guess this gets back to the real question. What size to buy? I will probably just go with the 1 TB. No one will ever need more than 1 TB, right?