|
<?php |
|
|
- large contract value |
/* - large contract value |
- chi-square test for outliers / standard dev from mean/median |
- standard dev from mean/median |
- percent of total contracts for supplier/agency |
- percent of total contracts for supplier/agency */ |
$heuristics["METADATA_DUPLICATED_DESCRIPTION"] = Array( |
$heuristics["VALUE_LARGE_CONTRACT_OVERALL"] = Array( |
"description" => "unusual value for time of year"); |
"description" => "unusual value for time of year"); |
function METADATA_DUPLICATED_DESCRIPTION($cn) |
|
{ |
function VALUE_LARGE_CONTRACT_OVERALL($cn) { |
$averageContractPeriod = getAverageContractPeriod(); |
$averageContractPeriod = getAverageContractPeriod(); |
$diff = strtotime($cn['contractStart']) - strtotime($cn['publishDate']); |
$diff = strtotime($cn['contractStart']) - strtotime($cn['publishDate']); |
$days = intval($diff / 24); |
$days = intval($diff / 24); |
return ($days > 45 ? 1 : 0); |
return ($days > 45 ? 1 : 0); |
} |
} |
|
|
- peculiar value |
/* - peculiar value |
- Just under 80k, amplified if other contracts with same supplier are just under |
- Just under 80k, amplified if other contracts with same supplier are just under |
- unusual variation amount |
*/ |
- absolute value; large reductions as well as large increases |
$heuristics["VALUE_NEAR_THRESHOLD"] = Array( |
|
"description" => "unusual value for time of year"); |
$heuristics["METADATA_DUPLICATED_DESCRIPTION"] = Array( |
/* |
"description" => "unusual value for time of year"); |
- unusual variation amount - absolute value; large reductions as well as large increases |
function METADATA_DUPLICATED_DESCRIPTION($cn) |
*/ |
{ |
$heuristics["VALUE_LARGE_VARIATION"] = Array( |
$averageContractPeriod = getAverageContractPeriod(); |
"description" => "unusual value for time of year"); |
$diff = strtotime($cn['contractStart']) - strtotime($cn['publishDate']); |
|
$days = intval($diff / 24); |
function VALUE_LARGE_VARIATION($cn) { |
return ($days > 45 ? 1 : 0); |
$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]; |
|
} |
|
|
|
?> |