Indicator gears in RED FLAGS engine

Basic information

The category and weight field of all indicators can be overridden using the following properties:

Contract notice

Accelerated procedure

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.ProcTypeAcceleratedIndicator
Configuration property prefix procTypeAcceleratedIndicator
Message property prefix flag.hu.ProcTypeAcceleratedIndicator

Algorithm

Contract-term implies risks

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.DurationLongOrIndefiniteIndicator
Configuration property prefix durationLongOrIndefiniteIndicator
Message property prefix flag.hu.DurationLongOrIndefiniteIndicator
Parameter name Type Default value Description
compensationMonths int 12 compensation in months to be added to acceptable duration when only end date is provided
exceptionCPVPattern Pattern (see below) notices having one of these CPV will be skipped
indefinitePattern Pattern "határozatlan" words/expressions mentioning the contract-term is indefinite
maxYears byte 4 longest acceptable duration in years

Default value: "66000000|66100000|66110000|66113000|66113100|66114000|66517100"

Algorithm

Contracting authority - database of K-Monitor

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.ContractingOrgInKMDBIndicator
Configuration property prefix contractingOrgInKMDBIndicator
Message property prefix flag.hu.ContractingOrgInKMDBIndicator

This indicator itself does not have any parameters, but uses KMonitorInstitutions which has the following properties for database connection setup:

Algorithm

KMonitorInstitutions has a Hungarian-specific organization name normalization and matcher mechanism. Goes through all organization names in K-Monitor's database, normalizes the names, tests pattern matching, and chooses the one which has the highest similarity calculated with Jaro-Winkler distance.

Deadline for bids differs from date of opening

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.OpeningDateDiffersFromDeadlineIndicator
Configuration property prefix openingDateDiffersFromDeadlineIndicator
Message property prefix flag.hu.OpeningDateDiffersFromDeadlineIndicator

Algorithm

Produces a flag if notice.data.deadline and notice.proc.openingDate are both not null and they are not equal.

Economic and financial ability - lack of minimum criteria

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.FinAbMissingMinCondIndicator
Configuration property prefix finAbMissingMinCondIndicator
Message property prefix flag.hu.FinAbMissingMinCondIndicator
Parameter name Type Default value Description
mustContainPattern Pattern (see below)

Default value:

"Az alkalmasság minimumkövetelménye.*?|Alkalmatlan.*? a részvételre jelentkező.*?ha|Alkalmatlan.*? az [Aa]jánlattevő.*?ha|[Aa]lkalmatlan, ?ha|Alkalmas (ajánlattevő|AT).*?, ha"

Algorithm

Produces flag if notice.left.financialAbility or notice.left.objRulesAndCritForParticipation contains the above pattern.

Economic and financial ability - requirement on capital

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.FinAbEquityCondIndicator
Configuration property prefix finAbEquityCondIndicator
Message property prefix flag.hu.FinAbEquityCondIndicator

Algorithm

Produces flag if notice.left.financialAbility contains a value with currency and the word " tőke" in the same line and this line does not match pattern:

".*((tőkeerősség|tőkemegfelelési) (mutató|ráta)|(saját.*|jegyzett)( |-)?tők[eé]|tőketartozás|humán.*tőke|hitel|tőke(hús|hal)).*""

EU-funded contract as a reference

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.TechCapEURefCondIndicator
Configuration property prefix techCapEURefCondIndicator
Message property prefix flag.hu.TechCapEURefCondIndicator
Parameter name Type Default value Description
euRefPattern Pattern (see below) Expressions mentioning EU-funded contract
excPattern Pattern (see below) Expressions which should make notice skipped

Default value of euRefPattern:

"társfinanszírozott|(EU-?|Európai Unió|közösségi?)(s|ból)?( származó)?( pénzügyi)? (által finanszírozott|finanszírozású|forrás|támogatás)"

Default value of excPattern:

"(projektmenedzs|vezet|tanácsadó).*?(feladat|szolgáltatás)|dokumentáció (összeállítás|elkészítés)|(projekt|program).*?(ellenőrzés|értékelés|minősítés)|kapcsolódó.*?(projektmenedzseri|támogatás.*?szakértői)| EU .*támogatási kérelem|forrás elnyerésére vonatkozó.*projekt.*előkészítés|támogatások felhasználásának.*előkészítéséhez kapcsolódó"

Algorithm

Goes through lines of notice.left.technicalCapacity and filters the lines to those which are recognized as reference criterion by HuIndicatorHelper.isRef. If the line matches additionally euRefPattern but not matches excPattern, the indicator produces a flag.

Framework agreement - high estimated value

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.FwAgHighEstimatedValueIndicator
Configuration property prefix fwAgHighEstimatedValueIndicator
Message property prefix flag.hu.FwAgHighEstimatedValueIndicator

Parameters and algorithm are the same as in High estimated value, but it won't produce any flag if obj.frameworkAgreement field is empty.

Framework agreement with a single bidder

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.FwAgOneParticipantIndicator
Configuration property prefix fwAgOneParticipantIndicator
Message property prefix flag.hu.FwAgOneParticipantIndicator
Parameter name Type Default value Description
oneParticipantSentence String "Keretmegállapodás egy ajánlattevővel" string to search

Algorithm

Produces a flag if finds the string in obj.frameworkAgreement fields. When directive is 2014/24/EU it checks obj.pcFaDps fields instead.

Framework agreement with several bidders - number of participants is too low

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.FwAgFewParticipantsIndicator
Configuration property prefix fwAgFewParticipantsIndicator
Message property prefix flag.hu.FwAgFewParticipantsIndicator
Parameter name Type Default value Description
minCount byte 3 minimum acceptable count of bidders
moreParticipantsSentence String "Keretmegállapodás több ajánlattevővel" string to search

Algorithm

Produces a flag if finds the string in obj.frameworkAgreement fields and if obj.frameworkAgreementParticipants is less than minCount. When directive is 2014/24/EU it parses te count of participants from obj.pcFaDps fields.

High estimated value

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.HighEstimatedValueIndicator
Configuration property prefix highEstimatedValueIndicator
Message property prefix flag.hu.HighEstimatedValueIndicator
Parameter name Type Default value Description
maxValueInWorks long 1 500 * 1 000 000 maximum acceptable estimated value for work contracts
maxValueInSupply long 1 000 * 1 000 000 maximum acceptable estimated value for supply contracts
maxValueInService long 1 000 * 1 000 000 maximum acceptable estimated value for service contracts

Algorithm

Read more about estimated value parsing here.

Inappropriate grounds for exclusion

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.PersSitMissingCondIndicator
Configuration property prefix persSitMissingCondIndicator
Message property prefix flag.hu.PersSitMissingCondIndicator
Parameter name Type Default value Description
mustContainPattern Pattern "(Kbt\\. ?)?(56|62)\\D" pattern to search for
excSentence String "228/2004" excludes notice if founds this

Algorithm

Lack of evaluation method

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.AwCritMethodMissingIndicator
Configuration property prefix awCritMethodMissingIndicator
Message property prefix flag.hu.AwCritMethodMissingIndicator
Parameter name Type Default value Description
methodPattern Pattern (see below) pattern to match words, expressions mentioning evaluation method
excludePattern Pattern "(Kbt\\. ?)?76\\D" excludes notice if founds this

Default value:

(módszer|pont(ozás|szám|ok).*(kiosztás|megadás|mód|skála)|pontkiosztás|pontskála|számítási metódus|számítási mód|ponthatár.*értékel|(relatív|abszolút) értékelés|arányosan (kevesebbet|többet)|arányosítás|sorba ?rendezés|pontozás|hasznossági függvény| pontszám)

Algorithm

Long term framework agreement

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.FwAgLongDurationIndicator
Configuration property prefix fwAgLongDurationIndicator
Message property prefix flag.hu.FwAgLongDurationIndicator
Parameter name Type Default value Description
justificationSentence String (see below) sentence introducing justification for term longer than 4 year
maxYears byte 4 lLongest acceptable framework agreement term

Default value: "(Indokolás arra az esetre vonatkozóan, ha a keretmegállapodás időtartama meghaladja a négy évet|négy évet meghaladó időtartam indoklása):"

Algorithm

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.ProcTypeNegotiatedNoJustificationIndicator
Configuration property prefix procTypeNegotiatedNoJustificationIndicator
Message property prefix flag.hu.ProcTypeNegotiatedNoJustificationIndicator

Algorithm

Produces a flag if none of the following can be found in compl.additionalInfo:

Number of competitors - missing restricting criteria

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.CountOfInvOpsNoCondIndicator
Configuration property prefix countOfInvOpsNoCondIndicator
Message property prefix flag.hu.CountOfInvOpsNoCondIndicator
Parameter name Type Default value Description
mustContainPattern Pattern (see below) expressions mentioning criteria

Default value: ".*(korlátozás|objektív szempont|rangsorolás|(műszaki|szakmai) alkalmasság).*"

Algorithm

Number of competitors is low

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.CountOfInvOpsLowIndicator
Configuration property prefix countOfInvOpsLowIndicator
Message property prefix flag.hu.CountOfInvOpsLowIndicator
Parameter name Type Default value Description
minWhenNegotiated byte 3 minimum acceptable number of competitors in negotiated procedures
minWhenRestricted byte 5 minimum acceptable number of competitors in restricted procedures

Algorithm

Past annual revenue statement required for too many years back

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.FinAbRevenueCondManyYearsIndicator
Configuration property prefix finAbRevenueCondManyYearsIndicator
Message property prefix flag.hu.FinAbRevenueCondManyYearsIndicator
Parameter name Type Default value Description
maxYears byte 3 maximum acceptable value for past annual revenue statement requirement

Algorithm

Payment deadline as evaluation criterion

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.AwCritPaymentDeadlineCondIndicator
Configuration property prefix awCritPaymentDeadlineCondIndicator
Message property prefix flag.hu.AwCritPaymentDeadlineCondIndicator

Algorithm

Produces flag if data.awardCriteria.id is AC-2 and proc.awardCriteriaPaymentDeadline is true.

Latter one is parsed in AwardCriteriaParser. It examines lines in proc.awardCriteria that look like a criterion (e.g. has numbers in their prefix). It recognizes payment deadline criterion by these patterns:

Period of reference requirements deviating from the allowed

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.TechCapRefCondManyYearsIndicator
Configuration property prefix techCapRefCondManyYearsIndicator
Message property prefix flag.hu.TechCapRefCondManyYearsIndicator
Parameter name Type Default value Description
minRefYearsWorks byte 5 minimum acceptable period requirement in years for work contracts
minRefYearsSupply byte 3 minimum acceptable period requirement in years for supply contracts
minRefYearsService byte 3 minimum acceptable period requirement in years for service contracts
maxRefYearsWorks byte 8 maximum acceptable period requirement in years for work contracts
maxRefYearsSupply byte 6 maximum acceptable period requirement in years for supply contracts
maxRefYearsService byte 6 maximum acceptable period requirement in years for service contracts

Algorithm

Rate of bid bond/estimated value is too high

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.OfferGuaranteeIsHighIndicator
Configuration property prefix offerGuaranteeIsHighIndicator
Message property prefix flag.hu.OfferGuaranteeIsHighIndicator
Parameter name Type Default value Description
maxPercent double 2.0 highest acceptable rate

Algorithm

Reference requirements exceed estimated value

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.TechCapRefCondExceedEstimValIndicator
Configuration property prefix techCapRefCondExceedEstimValIndicator
Message property prefix flag.hu.TechCapRefCondExceedEstimValIndicator
Parameter name Type Default value Description
creditPattern Pattern (see below) Pattern for credit value
valuePattern Pattern (see below) Pattern for reference requirement value

Default values:

Algorithm

Renewal of the contract implies risks

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.RenewalOfContractIndicator
Configuration property prefix renewalOfContractIndicator
Message property prefix flag.hu.RenewalOfContractIndicator
Parameter name Type Default value Description
maxCount byte 2 maximum acceptable renewal count
maxMonths int 48 maximum acceptable renewal duration in months

Algorithm

Required length of professional experience is too long

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.TechCapExpertsExpCondManyYearsIndicator
Configuration property prefix techCapExpertsExpCondManyYearsIndicator
Message property prefix flag.hu.TechCapExpertsExpCondManyYearsIndicator
Parameter name Type Default value Description
maxYears byte 4 maximum acceptable length of professional experience requirement

Algorithm

Required revenue exceeds estimated value of the procurement

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.FinAbRevenueCondExceedEstimValIndicator
Configuration property prefix finAbRevenueCondExceedEstimValIndicator
Message property prefix flag.hu.FinAbRevenueCondExceedEstimValIndicator
Parameter name Type Default value Description
excludePattern Pattern (see below) expressions which will make the indicator to skip a line

Default value:

működés(i|ének) ideje alatt|megkezdett működés időszakában|teljes időszak tekintetében|éven belül jött létre|működése megkezdésétől számított időszakban|tevékenység(e|ének) megkezdése óta|Kormányrendelet 14\.|(310/2011.*?14\.|később létrejött gazdasági szereplő|újonnan piacra lépő szervezetek|rövidebb ideje működik|időszak.*?( kezdete)? után( nem)? (jött létre|kezdte meg( a)? működését))

Algorithm

Requirement of a reference performed within one contract

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.TechCapSingleContractRefCondIndicator
Configuration property prefix techCapSingleContractRefCondIndicator
Message property prefix flag.hu.TechCapSingleContractRefCondIndicator

Algorithm

Risk of cartel

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.ContrDescCartellingIndicator
Configuration property prefix contrDescCartellingIndicator
Message property prefix flag.hu.ContrDescCartellingIndicator
Parameter name Type Default value Description
filename String "indicator-data/description-cartel.txt" filename of file containing the list described below

Algorithm

Technical and professional capacity - lack of minimum criteria

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.ContrDescCartellingIndicator
Configuration property prefix contrDescCartellingIndicator
Message property prefix flag.hu.ContrDescCartellingIndicator

Parameters and algorithm is the same as in Economic and financial ability - lack of minimum criteria indicator except this one examines left.technicalCapacity and returns no flag if "indok" word is present in the text.

Technical and professional capacity - restricting geographical requirements

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.TechCapGeoCondIndicator
Configuration property prefix techCapGeoCondIndicator
Message property prefix flag.hu.TechCapGeoCondIndicator
Parameter name Type Default value Description
geoCondPattern Pattern (see below) expressions mentioning geographical requirements
exceptionPattern Pattern "távolság(ok)? rövidítés" expression which makes a line excluded

Default value:

"( km(-en belül| .*távolság)|(ajánlatkérő székhelye szerinti|megvalósítással érintett) (megye|város|település|régió).*( közigazgatási | bel)területén| távolság).*(iroda|fiók|fióktelep|telep|telephell?y|raktár|ügyfélszolgálat|beváltóhely|helyi?ség|illetékességi terület|telek|rakodótér|ügyféltér|szervíz)"

Algorithm

Timeframe to submit bids is too tight

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.DeadlineIsTightIndicator
Configuration property prefix deadlineIsTightIndicator
Message property prefix flag.hu.DeadlineIsTightIndicator
Parameter name Type Default value Description
docPattern Pattern (dokumentáció|kiegészítő irat) expressions mentioning documentation
freePattern Pattern (see below) expressions mentioning that something (documentation) is available free of charge
urgencyPattern Pattern sürgősség expressions mentioning urgency (it's a special case)

Default value:

(fizetni kell: nem|ingyenes|térítésmentes|térítés nélkül|letöltés|letölthető|tölthető le|elérhető|érhető el|hozzáférhető|férhet.*?hozzá|megkérhető|megküld|közzétesz|átvehető|rendelkezésre bocsáj?t|bocsáj?t.*?rendelkezés)

Calls components

Algorithm

prev function:

docs function:

Too few (or no) evaluation criteria

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.AwCritLacksIndicator
Configuration property prefix awCritLacksIndicator
Message property prefix flag.hu.AwCritLacksIndicator
Parameter name Type Default value Description
minCondCount byte 2 minimum acceptable criterion count
mustContainPattern Pattern (see below) expression which is used as exclusion

Default value: "((értékelési |bírálati |rész?|al|alrész?)szempont|(súly|szorzó)szám|összességében legelőnyösebb)"

Algorithm

Uncertain quantity

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.TotalQuantityHiDeltaIndicator
Configuration property prefix totalQuantityHiDeltaIndicator
Message property prefix flag.hu.TotalQuantityHiDeltaIndicator
Parameter name Type Default value Description
maxPercent double 49.999 maximum acceptable percent value
posPattern Pattern (see below) expressions which contain percentage
altPattern Pattern "(?<p>\\d+) százalékkal.*?eltérhet" alternative to posPattern
negPattern Pattern (see below) expressions which should be excluded
valuesPattern Pattern (see below) q1 u1 + q2 u2 like expressions, alternative to posPattern

Default value of posPattern:

\(?(\+\/?-|\+|-|–|tételenként|(pozitív|negatív) irányba (opcionálisan)?|legalább|legfeljebb|minimum|maximum|mennyiség|plusz|mínusz)\)? ?(?

[0-9.,]+) ?(%|százalék)

Default value of negPattern:

( nap|%-a erejéig|%-os metanol|%-ában|%-át|\+.*=|\w+nap|adag|amelynek.*%|anyagmennyiség|arány|biztonság|cm|célcsoport|desztill|fehérített|felhasznál.*idő|figyelem|fővonal|hatásfok|hulladék|húsrész|hűtő|időráfordítás|időszaki.*mennyiség|járda|képvisel|keretösszeg|készültség|közcél|közel.*?%|lehívás|létszám|megoszlás|megrendelés|megtakarítás|mutató|nedvesség|nyomvonal|osztás|pára|rabatt|rendelkezésre állás|rendelkező|számla|szöveg.*találat|teljesítmény|telítettség|terület|toleranciasáv|töménység|valamennyi rész|várható mennyiség|vételi kötelezettség|épület|ügyf[eé]l|üzemidő)

Default value of valuesPattern:

\D(?\d{1,3}( \d{3})*) (?[a-záéíóöőúüű]+)[^.,]*? (\+|opcionális)[^.,]*? (?\d{1,3}( \d{3})*) (?[a-záéíóöőúüű]+)

Algorithm

Contract award notice

Evaluation of bids with long term

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.DecisionDateDiffersFromOpeningDateIndicator
Configuration property prefix decisionDateDiffersFromOpeningDateIndicator
Message property prefix flag.hu.DecisionDateDiffersFromOpeningDateIndicator
Parameter name Type Default value Description
addToMaintainDays int 60 default maximum acceptable maintain duration

Called components

Algorithm

Final contract value - deviation from estimated value

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.FinalValFarFromEstimValIndicator
Configuration property prefix finalValFarFromEstimValIndicator
Message property prefix flag.hu.FinalValFarFromEstimValIndicator

Algorithm

High final value

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.HighFinalValueIndicator
Configuration property prefix highFinalValueIndicator
Message property prefix flag.hu.HighFinalValueIndicator
Parameter name Type Default value Description
maxValueInWorks long 1 500 * 1 000 000 maximum acceptable final value for work contracts
maxValueInSupply long 1 000 * 1 000 000 maximum acceptable final value for supply contracts
maxValueInService long 1 000 * 1 000 000 maximum acceptable final value for service contracts

Calls components

Algorithm

Number of bids

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.NumberOfOffersLowIndicator
Configuration property prefix numberOfOffersLowIndicator
Message property prefix flag.hu.NumberOfOffersLowIndicator
Parameter name Type Default value Description
minOffers int 3 minimum acceptable number of offers

Algorithm

(Partially) unsuccessful procedure - dubious grounds

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.UnsuccessfulProcWithRiskIndicator
Configuration property prefix unsuccessfulProcWithRiskIndicator
Message property prefix flag.hu.UnsuccessfulProcWithRiskIndicator

Algorithm

(Partially) unsuccessful procedure - without any grounds

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.UnsuccessfulProcWithoutInfo1Indicator
Configuration property prefix unsuccessfulProcWithoutInfo1Indicator
Message property prefix flag.hu.UnsuccessfulProcWithoutInfo1Indicator

Algorithm

Procedure without contract notice

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.ProcWithoutContractNoticeIndicator
Configuration property prefix procWithoutContractNoticeIndicator
Message property prefix flag.hu.ProcWithoutContractNoticeIndicator

Algorithm

Produces flag if notice.data.procedureType.id is PR-T or PR-V.

Successful procedure - without entering into contract

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.UnsuccessfulProcWithoutInfo2Indicator
Configuration property prefix unsuccessfulProcWithoutInfo2Indicator
Message property prefix flag.hu.UnsuccessfulProcWithoutInfo2Indicator

Algorithm

Winner - database of K-Monitor

   
Class hu.petabyte.redflags.engine.gear.indicator.hu.WinnerOrgInKMDBIndicator
Configuration property prefix winnerOrgInKMDBIndicator
Message property prefix flag.hu.WinnerOrgInKMDBIndicator

Parameters and algorithm are the same as in Contracting authority - database of K-Monitor except that this indicator tests winner organizations.