1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | <?php /* - large contract value - standard dev from mean/median - percent of total contracts for supplier/agency*/ $heuristics["VALUE_LARGE_CONTRACT_OVERALL"] = 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); } /* - 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 = mysql_query($query); $r = mysql_fetch_array($result, MYSQL_BOTH); $agencyTransactions[$agencyName] = $r[0]; } return $agencyTransactions[$agencyName]; } ?> |