For each nutrient that is tracked, the minimum and maximum daily intake are defined. This represents the range of that nutrient that you want to consume during a day. If the program should consider the nutrient as bad, there should be no minimum (-1). For example, there is no need to consume cholesterol so the USDA sets the minimum value for cholesterol to -1. If there are no negative effects from consuming a nutrient, the maximum should be set to -1 (i.e. Fiber). For all other nutrients both a minimum and maximum should be specified {i.e. Vitamin A).

Along with the minimum and maximum values there is a weight. The weight determines how important this nutrient is relative to others when scoring a food. The weight can be any positive number. When a new user is created, the weights are setup to sum to 100.

scoregraph (3K) When a new user is created, the program takes the minimum and maximum values for the nutrient and builds a score string. This string defines how the nutrient should be scored. This score string is a semicolon-separated string of data points on a graph where the x value is the quantity of nutrient and the y value is the score. The data points are all connected by straight lines, and anything above the last data point scores the same as the last score. So the string “0,0;30,1;40,1;60,-1” means that if you eat 0 of the nutrient in a day, you get zero points, if you eat between 0 and 30 you get between 0 and 1 point, if you eat between 30 and 40 you get 1 point, if you eat between 40 and 60 you get between 1 and -1 points and if you eat more than 60 you get -1 points.

When building the score string for a new user, the program does the following

All the scores should range between -1 and 1 [-1, 1]. You can use [0, 1] for good things and [0, -1] for bad, but there shouldn't be a score data point larger than I or smaller than -1. To make a nutrient more or less important than another nutrient, the weight should be changed. This will scale the whole graph by the weight. This way you can quickly change the relative weights of the nutrients without having to change each point in the score graph.

When scoring a day, each nutrient is scored and then the sum of the scores is the score for the day. To determine the score for each nutrient, the amount of the nutrient in all of the foods consumed in the day is scored and the value is multiplied by the weight.

When scoring a single food or recipe, the amount of each nutrient is scaled so that the number of calories in the food is equal to the middle of the calorie range, then each nutrient is scored. For example, imagine that you want 2000 calories a day. When scoring an apple that has 50 calories, all the nutrient values are multiplied by 400 before scoring. This is so that foods can be compared to each other fairly. Otherwise two apples would have a higher score than one apple.

There are also several nutrients that are scored as a percentage of your daily calories. These are called macro-nutrients and include fats, carbohydrates and protein. It is easier to create a score profile for macro-nutrients as percentages of your calorie intake than it is to work in grams.

This also makes it easier to change the desired value for the number of calories desired because you don't have to go through all the macro-nutrient adjusting each of their values. Even though the scoring is done as a percent of the calories, all the displays of nutrients are in grams, so when entering a food, you still enter the grams of fat, carbs and protein.

Weight Watchers® Points

If you are in Weight Watchers®, the program will calculate the number of points in a food, recipe or day. The program uses the following formula to do this calculation:

points formula (4K)

This formula limits the number of grams of fiber that can reduce the point value to four. Unfortunately, this limitation means that twice as much of a food isn't necessarily twice as many points. So the serving size matters. When displaying the points for a food or a recipe, the points are calculated for the amount that you are displaying. When calculating the points for a day, the program separately calculates the point value of each food eaten (each line) and sums the points. This is the same procedure used by the Weight Watchers® web interface.