--- a/heuristics/valueHeuristics.php +++ b/heuristics/valueHeuristics.php @@ -1,1 +1,58 @@ + "unusual value for time of year"); +function METADATA_DUPLICATED_DESCRIPTION($cn) +{ + $averageContractPeriod = getAverageContractPeriod(); + $diff = strtotime($cn['contractStart']) - strtotime($cn['publishDate']); + $days = intval($diff / 24); + return ($days > 45 ? 1 : 0); +} + /* - peculiar value + - Just under 80k, amplified if other contracts with same supplier are just under + */ + $heuristics["VALUE_NEAR_THRESHOLD"] = Array( + "description" => "unusual value for time of year"); + /* + - unusual variation amount - absolute value; large reductions as well as large increases + */ + $heuristics["VALUE_LARGE_VARIATION"] = Array( + "description" => "unusual value for time of year"); +function METADATA_DUPLICATED_DESCRIPTION($cn) +{ + $averageContractPeriod = getAverageContractPeriod(); + $diff = strtotime($cn['contractStart']) - strtotime($cn['publishDate']); + $days = intval($diff / 24); + return ($days > 45 ? 1 : 0); +} + +/* - unusual value for time of year + - compare to all other records in last 2 weeks + - ie. many large contracts in june so takes more to standout*/ +$heuristics["VALUE_HIGH_FOR_MONTH"] = Array( + "description" => "unusual value for time of year" +); +function VALUE_HIGH_FOR_MONTH($cn, $monthAsInt) +{ + $averageContractPeriod = getAverageContractPeriod(); + $diff = strtotime($cn['contractStart']) - strtotime($cn['publishDate']); + $days = intval($diff / 24); + return ($days > 45 ? 1 : 0); +} +$monthlyValueAverage = Array(); +function getAgencyTransactions($agencyName) +{ + global $agencyTransactions; + if (!$agencyTransactions[$agencyName]) { + $query = 'select count(*) from contractnotice where agencyName = "' . $agencyName . '"'; + $result = $conn->query($query); + $r = $result->fetch(PDO::FETCH_BOTH); + $agencyTransactions[$agencyName] = $r[0]; + } + return $agencyTransactions[$agencyName]; +} +?>