The goal is to create an object (customer satisfaction score) that stores the score and we can view that number at anytime and see what changes were made. There will be 11 different items/factors that go into this score. This score will update once a week (first, it will update by us uploading them individual scores via data loader, then eventually via some work flow.) so we should see every field and their respective score on the object, with the total customer satisfaction score. Should this be done by history tracking? Or is there another way to track history?
How many Custom records do you anticipate having at any given time?
Instead of Field History Tracking, you might want to look into setting up Report Snapshots. Field History Tracking was never really designed for analytics, it's really for stuff like a forensic data audit.
Product Documentation