9.2.10 Age Comparison with Percentage Tolerance  'FieldComparatorAge'

This field comparator compares ages which can be given either as a number (assumed to be an age in years) or as dates in three separate fields day, month and year. If these fields are not a valid date, an error is triggered.

Dates are converted into ages relative to a fix date that can be set with the argument fix_date. If no fix date is set, ages are calculated relative to the current system date (today). The fix_date argument can either be given as a date string, as a date tuple (in the form [day,month,year]) or as the string 'today'.

The comparator allows for a certain percentage difference between two ages. The argument max_perc_diff can be used which sets the maximum tolerated age difference in percentage. The value must be a number between $0.0$ and $100.0$. The default is $0.0$, which means no age difference is tolerated.

If the percentage difference between two ages is smaller than or equal to the max_perc_diff, a partial agreement weight is calculated using the following formula.

partial\_agreement & = & agree\_weight - \left( \frac{perc\_di...
...f+1} \right) * \\
~& ~& (agree\_weight + abs(disagree\_weight))

where the percentage difference between the two ages is calculated as

perc\_diff = \left( \frac{abs(age\_A - age\_B)}
{max(abs(age\_A),abs(age\_B)} \right) * 100.0

If the percentage difference between the two ages is larger than the max_perc_diff the disagreement weight is returned.

Note: Separate M- and U-probabilities have to be given for day, month and year. The general m_probability and u_probability arguments can not be used, instead use


In its current version no frequency dependent weight calculation is possible, thus the arguments frequency_table, freq_table_max_weight and freq_table_min_weight can not be used with this field comparator function.