Calculations and Formulas

This topic explains how Herdly calculates values associated with an animal. It also explains how each dashboard item is calculated.

Calculated Fields

As mentioned in Field Descriptions, there are quite a few fields associated directly with an animal whose value is calculated automatically by Herdly. The ones that need a more detailed explanation are shown next.

  • Age In Years. This is simply the current date (or, if we want to know the age of an animal at a certain event, the date of that event) minus the animal's birth date divided by 365 days. It is always zero if the animal doesn't have a birthdate.
  • Age of Dam. This value is a little different than Age In Years and is used when calculating adjusted weights at birth and weaning. We follow the BIF guidelines as far as possible. Their guidelines lump several years together, so we have extrapolated values for those years. Because the age of dam calculation is intended for mature females, the value is always at least 2. It will even be 2 for a cow that doesn't have a known birth date. To make the calculation, Herdly first figures out how many days are between the cow's birth date and the date we are interested in and then uses one of the following values depending on what this difference in days is:
    • < 1004 days = 2 years old (BIF)
    • < 1339 days = 3 years old (BIF)
    • < 1704 days = 4 years old (BIF)
    • < 2076 days = 5 years old (extrapolated)
    • < 2447 days = 6 years old (extrapolated)
    • < 2819 days = 7 years old (extrapolated)
    • < 3190 days = 8 years old (extrapolated)
    • < 3561 days = 9 years old (BIF)
    • < 3927 days = 10 years old (BIF)
    • < 4293 days = 11 years old (BIF)
    • < 4658 days = 12 years old (extrapolated)
    • < 5023 days = 13 years old (extrapolated)
    • < 5388 days = 14 years old (extrapolated)
    • < 5754 days = 15 years old (extrapolated)
    • < 6119 days = 16 years old (extrapolated)
    • < 6484 days = 17 years old (extrapolated)
    • < 6849 days = 18 years old (extrapolated)
    • < 7215 days = 19 years old (extrapolated)
    • < 7580 days = 20 years old (extrapolated)
    • < 7945 days = 21 years old (extrapolated)
    • < 8310 days = 22 years old (extrapolated)
    • < 8676 days = 23 years old (extrapolated)
    • < 9041 days = 24 years old (extrapolated)
    • < 9406 days = 25 years old (extrapolated)
  • Adjusted Birth Weight. When calculating this value, we follow BIF guidelines which adjusts a calf's weight based on the dam's age. The Age of Dam at the time of the birth is first calculated (see above) and then the following amount of weight is added to the calf's weight based on the dam's age:
    • 2 years old: 8 lbs
    • 3 years old: 5 lbs
    • 4 years old: 2 lbs
    • 5-10 years old: 0 lbs
    • 11 years old or older: 3 lbs
  • Adjusted Wean Weight. The adjusted wean weight uses BIF guidelines to adjust a calf's weaning weight to 205 days and is based on the age of the dam at weaning as well as the calf's gender. The calculation only works if Herdly has a birth date, birth weight, weaning date, weaning weight, and the gender of the calf. The Age of Dam at the time of the weaning is first calculated (see above). Then an adjustment factor is figured out based on the age of dam and the calf's gender, as follows:
    • 2 years old and male: 60 lbs
    • 2 years old and female: 54 lbs
    • 3 years old and male: 40 lbs
    • 3 years old and female: 36 lbs
    • 4 years old and male: 20 lbs
    • 4 years old and female: 18 lbs
    • 5-10 years old and male: 0 lbs
    • 5-10 years old and female: 0 lbs
    • 11 years old and older and male: 20 lbs
    • 11 years old and older and female: 18 lbs
    Finally the adjusted weight is calculated using this formula: [(Wean Weight - Birth Weight)] ÷ (Wean Date - Birth Date)] x 205 + Birth Weight + Adjustment Weight.
  • Adjusted Yearling Weight. This weight also uses BIF guidelines to adjust the weight to a 365 day weight. The formula used is Adjusted Yearling Weight = [(Yearling Weight - Wean Weight) ÷ (Yearling Weight Date - Wean Date)] x 160 + Adjusted Wean Weight.
  • Weight Ratios. Herdly calculates an animal's weight ratio at birth, weaning, and yearling stages. The formula is simply the calves weight ÷ the dam's weight x 100. It is only calculated if Herdly knows the calf's weight at that event and has a dam weight that was taken within 400 days of the event, so it is important to try to weigh your cows yearly when possible.
  • Weaning Average Daily Gain. This is the average daily gain of the calf from the time of birth until the time of weaning. The formula is: ADG = (Wean Weight - Birth Weight) ÷ (Wean Date - Birth Date). If any of these values are not know, the result will be 0.
  • Yearling Average Daily Gain. This is the average daily gain of the calf from the time of weaning until weighed as a yearling. The formula is: ADG = (Yearling Weight - Wean Weight) ÷ (Yearling Weight Date - Wean Date). If any of these values are not know, the result will be 0.

Dashboard Basic Definitions

The following list is of several basic values that are referred to in many of the dashboard calculations. It is easier to explain them once here rather than each time they are used later on. You'll see that we've left out the spaces for each label. This is so that it is obvious we are referring to one of these definitions when used later on in the calculations.

  • AllBirthsInYear. Any birth that was recorded in a given year. Specifically, where the Calving Year is equal to the year. If Calving Year is 0, then we include the birth if the birth date is between January 1st and December 31st of the year. Also, Arrival Type must be "Raised" before the birth will be included.
  • AllHeiferBirthsInYear. A subset of AllBirthsInYear, only including births where the biological dam is considered a heifer. An animal is considered a heifer at the time of her calf's birth if the Calving Number = 1, a birth date for both the calf and the dam have been entered, and the dam is <= 900 days old (2.5 years).
  • AllBirthsInNextYear. Uses the same logic as AllBirthsInYear, but applied to the following year.
  • AllLiveBirthsInYear. Uses the same logic as AllBirthsInYear, but with the additional constraint that Birth Type = "Live". Thus, abortions, stillborns, and calves that died at birth are excluded.
  • AllWeanedFromThisYearsBirths. Uses the same logic as AllBirthsInYear, but with the additional constraint that a Wean Date has been entered.
  • AllYearlingsFromThisYearsBirths. Uses the same logic as AllBirthsInYear, but with the additional constraint that a Yearling Weight Date has been entered.
  • FirstCalvingDateForHeifers. If a date for heifers has been given in the Exposures Dates section of the Ranch Settings window for the previous year, this will be that date plus a gestation length of 283 days. But if that date is not given, then Herdly first looks to see if there are any exposure or mating records in the previous year for the heifers that calved this year. If there are any records, this becomes the earliest exposure or mating record date plus 283 days. If no exposure or mating records are found, the date of the earliest birth by a heifer this year (regardless of whether the calf lived) is used. See AllHeiferBirthsInYear above for a definition of what is considered a heifer.
  • FirstCalvingDateForMainHerd. Uses the same logic as FirstCalvingDateForHeifers, but instead of looking at heifers it looks at everything except the heifers.
  • FirstCalvingDateForAll. This is simply the earlier date between FirstCalvingDateForHeifers and FirstCalvingDateForMainHerd.
  • ThisYearAllBreedingPoolFemales. Any animal whose Gender = "Female" and who were in the breeding pool at any point during the year. Herdly figures out whether an animal was in the breeding pool during a specific time based on the Breeding Pool Entered Date and the Breeding Pool Exit Dates.
  • ThisYearAllBreedingPoolMales. Uses the same logic as ThisYearAllBreedingPoolFemales, except that Gender = "Male".
  • LastYearAllBreedingPoolFemales. Uses the same logic as ThisYearAllBreedingPoolFemales except that it looks for animals that were in the breeding pool in the previous year.
  • ThisYearAllExposedFemales. Includes any animal that is in ThisYearAllBreedingPoolFemales that has an exposure or mating record during this year. Also includes any animals that calved next year.
  • LastYearAllExposedFemales. Includes any animal that is in LastYearAllBreedingPoolFemales that had an exposure or mating record during last year. Also includes any animals that calved this year.

Dashboard Ranch Values

Following are the possible ranch values. These values are always show the current state of the ranch.

  • Total Animals. The total number of animals you have entered in Herdly, including ones that are current, sold, archived, or are source animals.
  • Archived Animals. The number of animals where Is Archived = True. (Note that archiving is a feature not yet available.)
  • Current Animals. The number of animals where Status = "Current". You are only billed for these animals.
  • Source Animals. The number of animals where Status = "Source". You are not billed for these animals.
  • Current Cows By Classification. The number of animals where Status = "Current" and Classification = "Cow".
  • Current Bulls By Classification. The number of animals where Status = "Current" and Classification = "Bull".
  • Current Calves By Classification. The number of animals where Status = "Current" and Classification = "Calf".
  • Current Classifications. Shows the number of cows, calves, and bulls as a pie chart.
  • Breeding Pool Females. The number of animals where Gender = "Female", Status = "Current", Breeding Pool Entered Date has a date, and Breeding Pool Exit date does not have a date.
  • Breeding Pool Males. The number of animals where Gender = "Male", Status = "Current", Breeding Pool Entered Date has a date, and Breeding Pool Exit date does not have a date.
  • Exposed Females. The same as Breeding Pool Females, but where Breeding Stage = "Exposed".
  • Pregnant Females. The same as Breeding Pool Females, but where Breeding Stage = "Pregnant".
  • Open Females. The same as Breeding Pool Females, but where Breeding Stage = "Open".
  • Current Breeding Pool Stages. Shows the number of exposed, pregnant, and open females as a pie chart.
  • Current Calves. The number of animals where Status = "Current", Wean Date is not entered, Yearling Weight Date is not entered, Breeding Pool Entered date is not entered, and Arrival Type = "Raised".
  • Current Weaned Calves. The number of animals where Status = "Current", Wean Date is entered, Yearling Weight Date is not entered, Breeding Pool Entered date is not entered, and Arrival Type = "Raised".
  • Current Yearling Calves. The number of animals where Status = "Current", Yearling Weight Date is entered, Breeding Pool Entered date is not entered, and Arrival Type = "Raised".
  • Count By Location. Shows a list of locations that currently have cattle in them, sorted alphabetically, with the number of animals at each location.

Dashboard Ranch Metrics

Following are the possible ranch metrics. These values are historical values based on a particular year. Each item is usually shown over multiple years.

  • Calves Born Alive. Count of AllLiveBirthsInYear.
  • Calves Aborted. The count of animals within AllBirthsInYear where Birth Type = "Aborted".
  • Calves Stillborn. The count of animals within AllBirthsInYear where Birth Type = "Stillborn".
  • Calves Died at Birth. The count of animals within AllBirthsInYear where Birth Type = "Died At Birth".
  • Calving Percentage. Calves born alive relative to cows exposed the previous year. Count of CalvesBornLive ÷ count of LastYearAllExposedFemales x 100.
  • Calving Distribution (All). Finds the percentage of calves that were born in each of the first five cycles of 21 days each. For example, the first cycle would be the count of AllBirthsInYear where Birth Date <= (FirstCalvingDateForAll + 21 days) ÷ count of AllBirthsInYear x 100. Similarly, we find the percentage of calves born between day 21 and 42, etc. Note that the first cycle includes calves born before FirstCalvingDateForAll.
  • Calving Distribution (Heifers). The same as Calving Distribution (All), but we only include heifers by using AllHeiferBirthsInYear and FirstCalvingDateForMainHerd.
  • Calving Distribution (Main Herd). The same as Calving Distribution (All), but we exclude heifers by only considering births where the dam was not a heifer and by using FirstCalvingDateForMainHerd.
  • Average Calving Ease Score. The average calving ease score of all the calves in AllBirthsInYear who have a non-zero calving score.
  • Calving Ease Score 1 (Count). The number of calves in AllBirthsInYear who have a calving score of 1.
  • Calving Ease Score 2 (Count). The number of calves in AllBirthsInYear who have a calving score of 2.
  • Calving Ease Score 3 (Count). The number of calves in AllBirthsInYear who have a calving score of 3.
  • Calving Ease Score 4 (Count). The number of calves in AllBirthsInYear who have a calving score of 4.
  • Calving Ease Score 5 (Count). The number of calves in AllBirthsInYear who have a calving score of 5.
  • Twins (Count). The number of calves in AllBirthsInYear where Sibling Count = 2 ÷ 2. In other words, it is the number of sets of twins born in the year.
  • Triplets (Count). The number of calves in AllBirthsInYear where Sibling Count = 3 ÷ 3. In other words, it is the number of sets of triplets born in the year.
  • Males Born Alive (Count). The number of calves from AllLiveBirthsInYear where Gender = "Male".
  • Males Born Alive (Percent). Males Born Alive (Count) ÷ AllLiveBirthsInYear x 100.
  • Females Born Alive (Count). The number of calves from AllLiveBirthsInYear where Gender = "Female".
  • Females Born Alive (Percent). Females Born Alive (Count) ÷ AllLiveBirthsInYear x 100.
  • Calves Weighed At Birth (Count). The number of calves from AllLiveBirthsInYear where Birth Weight is not 0.
  • Calves Weighed At Birth (Percent). Calves Weighed At Birth (Count) ÷ AllLiveBirthsInYear x 100.
  • Average Birth Weight. The average birth weight of calves that are in AllLiveBirthsInYear where Birth Weight is not 0.
  • Total Birth Weight. The total birth weight of all the calves in AllLiveBirthsInYear.
  • Average Adjusted Birth Weight. The average adjusted birth weight of calves that are in AllLiveBirthsInYear where Adjusted Birth Weight is not 0.
  • Total Adjusted Birth Weight. The total adjusted birth weight of all the calves in AllLiveBirthsInYear.
  • Average Birth Weight Ratio. The average birth weight ratio of calves that are in AllLiveBirthsInYear where Birth Weight Ratio is not 0.
  • Calves Death Loss (Count). The number of calves that died after being born and before being weaned. Specifically, the number of calves in AllLiveBirthsInYear where Wean Date is blank, Yearling Weight Date is blank, Breeding Pool Entered Date is blank, and Status = "Dead".
  • Calves Death Loss (Percent). CalfDeathLossCount ÷ CalvesBornLive x 100.
  • Average Age of Dam at Birth. The average Age of Dam at Birth for all births in AllBirthsInYear that have a dam with a known birthdate.
  • Minimum Age of Dam at Birth. The lowest Age of Dam at Birth for all births in AllBirthsInYear that have a dam with a known birthdate.
  • Maximum Age of Dam at Birth. The highest Age of Dam at Birth for all births in AllBirthsInYear that have a dam with a known birthdate.
  • Average Calving Number. The average Calving Number for all births in AllBirthsInYear that have a non-zero Calving Number. Keep in mind that Calving Number is only correct for animals where Herdly has a record of all their calves.
  • Minimum Calving Number. The highest Calving Number for all births in AllBirthsInYear that have a non-zero Calving Number.
  • Maximum Calving Number. The lowest Calving Number for all births in AllBirthsInYear that have a non-zero Calving Number.
  • Average Vigor Score. The average Vigor Score for all births in AllBirthsInYear that have a non-zero Vigor Score.
  • Calves Weaned (Count). The number of calves weaned out of the calves born this year. Specifically, the number of animals in AllWeanedFromThisYearsBirths.
  • Calves Weaned (Percent). Calves Weaned (Count) ÷ LastYearAllExposedFemales x 100.
  • Average Weaning Age. Find all the animals in AllLiveBirthsInYear that have a Birth Date and a Wean Date. Find the number of days between those two dates for each animal and then get the average number of days for all of them.
  • Calves Weighed At Weaning (Count). The number of animals in AllWeanedFromThisYearsBirths where a weaning weight has been entered.
  • Calves Weighed At Weaning (Percent). Calves Weighed At Weaning (Count) ÷ AllWeanedFromThisYearsBirths x 100.
  • Average Wean Weight. The average weaning weight of calves that are in AllWeanedFromThisYearsBirths where Wean Weight is not 0.
  • Total Wean Weight. The total weaning weight of calves that are in AllWeanedFromThisYearsBirths.
  • Average Adjusted Wean Weight. The average adjusted weaning weight of calves that are in AllWeanedFromThisYearsBirths where Adjusted Wean Weight is not 0.
  • Total Adjusted Wean Weight. The total adjusted weaning weight of calves that are in AllWeanedFromThisYearsBirths.
  • Average Wean Weight Ratio. The average wean weight ratio of calves that are in AllWeanedFromThisYearsBirths where Wean Weight Ratio is not 0.
  • Average Daily Gain at Weaning. The average ADG of calves that are in AllWeanedFromThisYearsBirths where ADG is not 0.
  • Weaned Calves Death Loss (Count). Calves that died after weaning and before being made a yearling. Specifically, the number of animals in AllWeanedFromThisYearsBirths that have a blank Yearling Weight Date, a blank Breeding Pool Entered Date, and where Status = "Dead".
  • Weaned Calves Death Loss (Percent). Weaned Calves Death Loss (Count) ÷ AllWeanedFromThisYearsBirths x 100.
  • Total Creep Fed Days. The sum of Creep Fed Days for all animals in AllWeanedFromThisYearsBirths.
  • Average Creep Fed Days. The average number of Creep Fed Days for all animals in AllWeanedFromThisYearsBirths that have non-zero Creep Fed Days.
  • Weight of Calf Weaned per Cow Exposed. Total Wean Weight ÷ LastYearAllExposedFemales x 100.
  • Calves Made Yearling (Count). The number of calves made yearlings out of the calves born this year. Specifically, the number of animals in AllYearlingsFromThisYearsBirths.
  • Calves Made Yearling (Percent). Calves Made Yearling (Count) ÷ AllLiveBirthsInYear x 100.
  • Calves Weighed At Yearling (Count). The number of animals in AllYearlingsFromThisYearsBirths where a yearling weight has been entered.
  • Calves Weighed At Yearling (Percent).. Calves Weighed At Yearling (Count) ÷ AllYearlingsFromThisYearsBirths x 100.
  • Average Yearling Weight. The average yearling weight of calves that are in AllYearlingsFromThisYearsBirths where Yearling Weight is not 0.
  • Total Yearling Weight. The total yearling weight of calves that are in AllYearlingsFromThisYearsBirths.
  • Average Adjusted Yearling Weight. The average adjusted yearling weight of calves that are in AllYearlingsFromThisYearsBirths where Adjusted Yearling Weight is not 0.
  • Total Adjusted Yearling Weight. The total adjusted yearling weight of calves that are in AllYearlingsFromThisYearsBirths.
  • Average Yearling Weight Ratio. The average yearling weight ratio of calves that are in AllYearlingsFromThisYearsBirths where Yearling Weight Ratio is not 0.
  • Average Daily Gain at Yearling. The average ADG (from weaning to yearling) of calves that are in AllYearlingsFromThisYearsBirths where ADG is not 0.
  • Yearling Calves Death Loss (Count). Calves that died after being kept as a yearling and before being entering the breeding pool. Specifically, the number of animals in AllYearlingsFromThisYearsBirths that have a blank Breeding Pool Entered Date, and where Status = "Dead".
  • Yearling Calves Death Loss (Percent). Yearling Calves Death Loss (Count) ÷ AllYearlingsFromThisYearsBirths x 100.
  • Females Entered Breeding Pool (Count). Count of animals where Gender = "Female", Breeding Pool Entered Date >= January 1st of the year, and Breeding Pool Entered Date <= December 31st of the year.
  • Females Entered Breeding Pool (Percent). Females Entered Breeding Pool (Count) ÷ ThisYearAllBreedingPoolFemales x 100.
  • Males Entered Breeding Pool (Count). Count of animals where Gender = "Male", Breeding Pool Entered Date >= January 1st of the year, and Breeding Pool Entered Date <= December 31st of the year.
  • Males Entered Breeding Pool (Percent). Males Entered Breeding Pool (Count) ÷ ThisYearAllBreedingPoolMales x 100.
  • Females Exited Breeding Pool (Count). Count of animals where Gender = "Female", Breeding Pool Exit Date >= January 1st of the year, and Breeding Pool Exit Date <= December 31st of the year.
  • Females Exited Breeding Pool (Percent). Females Exited Breeding Pool (Count) ÷ ThisYearAllBreedingPoolFemales x 100.
  • Males Exited Breeding Pool (Count). Count of animals where Gender = "Male", Breeding Pool Exit Date >= January 1st of the year, and Breeding Pool Exit Date <= December 31st of the year.
  • Males Exited Breeding Pool (Percent). Males Exited Breeding Pool (Count) ÷ ThisYearAllBreedingPoolMales x 100.
  • Breeding Pool Death Loss (Count). The number of animals that died while in the breeding pool this year. Specifically, the number of animals where the Breeding Pool Entered Date is not blank and is <= December 31 of the year, Breeding Pool Exit Date is blank or is >= January 1st of the year, and Death Date falls within the year. Herdly also checks to make sure the animal wasn't removed before the death occurred, so Removal Date must be blank or >= the Death Date to be included.
  • Breeding Pool Death Loss (Percent). Breeding Pool Death Loss (Count) ÷ (ThisYearAllBreedingPoolFemales + ThisYearAllBreedingPoolMales) x 100.
  • Breeding Pool Females Exposed. The number of animals in ThisYearAllExposedFemales.
  • Animals Preg Checked (Count). The number of animals in ThisYearAllExposedFemales that have at least one preg check record during the year.
  • Preg Checked (Percent). Animals Preg Checked (Count) ÷ ThisYearAllExposedFemales x 100.
  • Preg Checked Pregnant (Count). The number of animals found in Animals Preg Checked (Count) where the most recent preg check record in the year's Check Result = "Pregnant".
  • Preg Checked Pregnant (Percent). Preg Checked Pregnant (Count) ÷ ThisYearAllExposedFemales x 100.
  • Preg Checked Open (Count). The number of animals found in Animals Preg Checked (Count) where the most recent preg check record in the year's Check Result = "Open".
  • Preg Checked Open (Percent). Preg Checked Open (Count) ÷ ThisYearAllExposedFemales x 100.
  • Preg Checked Abnormal (Count). The number of animals found in Animals Preg Checked (Count) where the most recent preg check record in the year's Check Result = "Abnormal".
  • Preg Checked Abnormal (Percent). Preg Checked Abnormal (Count) ÷ ThisYearAllExposedFemales x 100.
  • Preg Checked Sex is Female (Count). The number of animals found in Animals Preg Checked (Count) where the most recent preg check record in the year's Predicted Gender = "Female".
  • Preg Checked Sex is Female (Percent). Preg Checked Sex is Female (Count) ÷ ThisYearAllExposedFemales x 100.
  • Preg Checked Sex is Male (Count).. The number of animals found in Animals Preg Checked (Count) where the most recent preg check record in the year's Predicted Gender = "Male".
  • Preg Checked Sex is Male (Percent). Preg Checked Sex is Male (Count) ÷ ThisYearAllExposedFemales x 100.
  • Preg Checked Sex is Undetermined (Count). The number of animals found in Animals Preg Checked (Count) where the most recent preg check record in the year's Predicted Gender = "Undetermined".
  • Preg Checked Sex is Undetermined (Percent). Preg Checked Sex is Undetermined (Count) ÷ ThisYearAllExposedFemales x 100.