Pereiti prie turinio

Viešųjų pirkimų paieška: skelbimo PDF svarbesnis už DI

Kaip Tendris ieško ir stebi viešuosius pirkimus: skaito CVP IS skelbimų PDF, sujungia TED dublikatus, vertina atitiktį, o DI analizuoja pirkimo dokumentus.

AFKzona Group · 6 min. skaitymo

Trumpas atsakymas

  • Tendris kiekvieno nacionalinio pirkimo CPV kodą perskaito iš jo skelbimo PDF, todėl pagal sektoriaus kodus filtruojanti įmonė atrenkama pagal paties pirkėjo klasifikaciją.
  • Atitiktį nustato taisyklės: balai skaičiuojami su išsaugotomis priežastimis, riba – 25 balai. Duomenų bazės taisyklė leidžia tik vieną atitikmenį, taigi ir vieną pranešimą, vienai įmonei dėl vieno pirkimo.
  • DI kiekvieną nurodytą riziką pagrindžia citata iš dokumento, o trūkstamą informaciją pažymi kaip „Nepakanka duomenų“, užuot spėjęs. Kiekvienas pirkimas turi tiesioginę nuorodą į savo oficialų skelbimą CVP IS arba TED.

Lietuvos viešųjų pirkimų portalo paieškos sąraše, kurį skaito Tendris, CPV kodo nėra, nors būtent pagal šį numerį dauguma tiekėjų filtruoja pirkimus. Kodas slypi PDF skelbime, pridėtame prie kiekvieno pirkimo: vienas atsisiuntimas kiekvienam pirkimui, tekstas lietuvių kalba.

Tendris – mūsų sistema Lietuvos viešiesiems pirkimams rasti ir stebėti. Ji apima CVP IS – nacionalinę sistemą, kurioje nuo 2024 m. gruodžio 1 d. vykdomi visi pirkimai, – ir TED, ES leidinį, kuriame skelbiamos didesnės sutartys, o komandoms praneša per Telegram ar el. paštu.

Tendris sudaro 51 puslapis, 122 API maršrutai ir 61 duomenų bazės lentelė. Šiame tekste sekame vieną pirkimą per visą sistemą – nuo portalo sąrašo iki pranešimo.

Tendris CPV kodą perskaito iš kiekvieno skelbimo PDF

CPV kodas lemia, kas sužinos apie pirkimą. Dauguma tiekėjų filtruoja būtent pagal jį, o Lietuvos portale jis yra skelbimo PDF viduje. Įrankis, kuris skaito vien sąrašą, neturi kodo, pagal kurį galėtų atrinkti, o juo pasikliaujanti komanda mato ramią savaitę savo sektoriuje, nors pirkimai skelbiami.

Tendris atranką pradeda nuo CPV kodo: jei įmonės profilyje nurodyti CPV kodai, pirkimas pirmiausia vertinamas pagal kodų sutapimą, kad ir kaip jis būtų pavadintas. Todėl Tendris atsisiunčia ir perskaito kiekvieno nacionalinio pirkimo skelbimo PDF dar prieš skaičiuodamas balus. Pranešimų kokybę lemia PDF skaitytuvas – gerokai prieš įsijungiant bet kokiam modeliui.

Kiti spąstai – dublikatai: pirkimai, kurių vertė viršija ES nustatytas ribas, skelbiami ir CVP IS, ir TED, o įrankis, naiviai skaitantis abu šaltinius, kiekvieną didesnį pirkimą atsiunčia dukart.

Didžiausias darbas – failus paversti laukais

Daugiausia darbo Tendris sistemoje reikalauja duomenų surinkimas: paimti kiekvieną pirkimą iš dviejų šaltinių, perskaityti jo skelbimo PDF ir sujungti dublikatus į vieną įrašą. Po to pirkimas vertinamas pagal kiekvienos įmonės profilį, o kalbos modelis jo dokumentus skaito pasiūlymų rengimo skiltyje.

Kas dvi valandas Tendris peržiūri CVP IS sąrašą po 100 pirkimų puslapyje ir sustoja ties pirmuoju puslapiu, kuriame nieko naujo nėra. Kiekvienam pirkimui sistema atsisiunčia skelbimo PDF, ištraukia tekstą ir randa laukus pagal lietuviškas etiketes: Pasiūlymų priėmimo terminas – terminą, Sutarties objektas – darbus, paslaugas ar prekes. Lygiagrečiai iš TED API gaunami paskutinių 30 dienų Lietuvos pirkėjų skelbimai.

Dublikatus Tendris atpažįsta pagal tapatybę, o ne lygindamas pavadinimus. Kiekvieno pirkimo identifikatorius nurodo šaltinį, o kiekvieno paleidimo metu TED skaitomas anksčiau nei CVP IS. Kai nacionalinio pirkimo puslapyje yra nuoroda į TED skelbimą, Tendris sujungia nacionalinį įrašą su tuo TED įrašu ir išsaugo vietines nuorodas į pasiūlymo pateikimą ir dokumentus, todėl pirkimas lieka vienu įrašu.

Kaip pirkimas Tendris sistemoje virsta pranešimu Pirkimas keliauja iš CVP IS sąrašo į skelbimo PDF, iš kurio gaunamas CPV kodas, vertė ir terminas, tada pagal skelbimo numerį sujungiamas su savo TED įrašu, įvertinamas pagal įmonės profilį su 25 balų riba ir tampa pranešimu per Telegram ar el. paštu. Skelbimas skaitomas pagal lietuviškas laukų etiketes, o paskutinių 30 dienų Lietuvos pirkėjų TED skelbimai prisijungia sujungimo žingsnyje. Sąrašas CVP IS portalas po 100 įrašų Skelbimo PDF CPV, vertė, terminas Sujungimas pagal TED nr. vienas įrašas Balai pirma CPV riba 25 Pranešimas Telegram iškart el. paštu 9:00 Perskaitytas lietuviškos laukų etiketės TED API LT pirkėjai 30 dienų
Nacionalinio pirkimo CPV kodą, vertę ir terminą Tendris paima iš jo skelbimo PDF – dar prieš balus ir DI.

Pirkimo dokumentai sudėtingesni už skelbimus. CVP IS kiekvieno pirkimo failus pateikia vienu ZIP archyvu, o patys pirkimo dokumentai dažnai slypi jame įdėtame 7z archyve. Tendris atidaro abu archyvus: perskaito visus rinkinio PDF, o 7z archyve – ir PDF, DOCX, XLSX bei senus DOC failus.

Tendris CPV kodą paima iš paties pirkimo skelbimo, todėl sektoriaus filtras remiasi pirkėjo klasifikacija, o ne spėjimu iš pavadinimo.

Kiekvienas atitikmuo turi priežastis ir nesikartoja

Atitiktį Tendris sistemoje nustato aritmetika, o ne modelio nuomonė, todėl kiekvienas atitikmuo gali paaiškinti, kodėl jis atsirado. Pirkimas gauna balus už CPV sutapimą, sutarties tipą, vertės ribas, raktažodžius ir pirkėjo tipą. Atitikmeniui reikia 25 balų. Iki penkių priežasčių išsaugoma kartu su atitikmeniu ir parodoma iškart siunčiamame pranešime.

CPV sutapimas – svarbiausias atskiras signalas, vertas 30 balų. Pirkimas, kurio vertė daugiau nei penkis kartus viršija įmonės nurodytą didžiausią vertę, netenka 20 balų. Duomenų bazės taisyklė leidžia tik vieną atitikmens eilutę vienai įmonei dėl vieno pirkimo, todėl apie pakartotinai nuskaitytą pirkimą tai pačiai komandai dukart nepranešama. Komandos, pasirinkusios pranešimus realiuoju laiku, gauna žinutę per Telegram, o kasdienio režimo komandos – vieną santrauką 9:00 Lietuvos laiku su penkiais geriausiai įvertintais naujais atitikmenimis ir nuoroda į kitus.

DI analizę naudotojas paleidžia pasiūlymų rengimo skiltyje: GPT-4o-mini, temperatūra 0,1, griežta schema su 16 privalomų laukų. Tarp jų – privalomi reikalavimai, kvalifikacijos kriterijai, vertinimo kriterijai su svoriais ir terminų seka. Instrukcija draudžia išgalvoti faktus, kiekvienai rizikai ir galimybei reikalauja citatos iš dokumento, o ten, kur dokumentai apie ką nors nekalba, – atsakymo „Nepakanka duomenų“ su mažesniu pasitikėjimo įverčiu. Kiekviena analizė išsaugoma kartu su modelio pavadinimu, žetonų skaičiumi ir tuo, kiek dokumento žodžių perskaityta.

Kiekvienas pirkimas turi nuorodą į oficialų skelbimą

Tendris randa pirkimus ir pasako komandai, ką skaityti pirmiausia. Kiekvienas pirkimas turi tiesioginę nuorodą į savo oficialų skelbimą ir failus CVP IS arba TED, todėl paties pirkėjo formuluotės – per vieną paspaudimą.

Kiekvieną įrašo dalį skaito jai tinkamas skaitytuvas. Laukai, nuo kurių priklauso, ar tiekėjas gali dalyvauti, – CPV kodas, vertė ir terminas – imami iš skelbimo pagal nustatytas taisykles. Modelis skaito aplinkinį tekstą – reikalavimus, kriterijus ir rizikas, o kiekvieną nurodytą riziką ir galimybę pagrindžia citata iš dokumento.

Kai komanda nusprendžia teikti pasiūlymą, kitas dokumentas – techninis pasiūlymas, apie jį rašome straipsnyje techninis pasiūlymas IT viešajam pirkimui.

Kaip įvertinti pirkimų stebėjimo įrankį: penki klausimai

KlausimasGeras atsakymas
Iš kur gaunamas kiekvienas laukas?CPV kodas, vertė ir terminas susiejami su skelbimu, o ne spėjami iš pavadinimo
Ar skaitomi pirkimo dokumentai, ar tik skelbimas?Atidaromi ZIP ir 7z rinkiniai, skaitomi PDF, DOCX ir XLSX failai
Kaip tvarkomi CVP IS ir TED dublikatai?Pagal TED skelbimo numerį sujungiami į vieną įrašą, todėl pranešimas vienas
Kodėl gavau pranešimą apie šį pirkimą?Kiekvienam atitikmeniui išsaugotos aiškios priežastys
Ar DI parodo, kuo remiasi?Citatos, perskaitytų žodžių skaičius ir „Nepakanka duomenų“, kai jų iš tiesų nepakanka

Ką verta pritaikyti ir kitur

Stebėjimas tik atrodo kaip paieškos uždavinys – iš tiesų tai duomenų surinkimo uždavinys. Jei laukas, pagal kurį filtruojate, slypi priede – leidimuose, dotacijose ar teismų skelbimuose, – kiek rasite, lemia skaitytuvas, todėl skaityti reikia patį priedą.

Atrankos sprendimus palikite aiškioms ir paaiškinamoms taisyklėms, kiekvienam įrašui ir pranešimui suteikite pastovią tapatybę, o modeliui leiskite skaityti tekstą, bet ne spręsti, ar tiekėjas atitinka reikalavimus.

Jei norite pamatyti, kaip Tendris skaito jūsų sektoriaus pirkimą, jis aprašytas mūsų darbuose, kitus viešojo sektoriaus darbus rasite viešojo sektoriaus puslapyje, o pasikalbėti galite užsisakę pokalbį.

Dažni klausimai

Kaip rasti viešuosius pirkimus savo įmonei?

Nuo 2024 m. gruodžio 1 d. visi Lietuvos viešieji pirkimai vykdomi naujojoje CVP IS adresu viesiejipirkimai.lt, o didesni dar skelbiami ES leidinyje TED. Abiejuose šaltiniuose galite ieškoti patys, filtruodami pagal savo sektoriaus CPV kodus. Stebėjimo įrankis, pavyzdžiui, Tendris, abu šaltinius peržiūri kas dvi valandas ir praneša, kai naujas pirkimas atitinka jūsų profilį.

Kas yra CPV kodas ir kodėl jis svarbus pranešimams apie pirkimus?

CPV kodas – tai ES bendrojo viešųjų pirkimų žodyno numeris, nurodantis, ką perka pirkėjas, pavyzdžiui, statybos darbus ar IT paslaugas. Dauguma pranešimų apie pirkimus remiasi būtent juo. Tendris kodą perskaito iš kiekvieno pirkimo skelbimo PDF, o CPV sutapimą vertina kaip svarbiausią signalą – 30 balų, todėl įmonės sektoriaus kodai lemia, kurie pirkimai ją pasiekia.

Kaip DI skaito viešųjų pirkimų dokumentus?

Pirmiausia failus reikia paversti tekstu. Tendris atsisiunčia pirkimo dokumentų rinkinį iš CVP IS, atidaro ZIP ir jame įdėtą 7z archyvą, ištraukia tekstą iš visų rinkinio PDF, o 7z archyve – ir iš PDF, DOCX, XLSX bei senų DOC failų. Tada kalbos modelis grąžina fiksuotos struktūros atsakymą: reikalavimus, kvalifikacijos ir vertinimo kriterijus, terminus, rizikas su citata iš šaltinio ir pasitikėjimo įvertį.

Kaip dažnai tikrinti naujus viešuosius pirkimus?

Nauji Lietuvos pirkimai CVP IS skelbiami visą darbo dieną, o vėliau rastas pirkimas palieka mažiau laiko pasiūlymui parengti, todėl tikrinkite bent kasdien. Tendris CVP IS ir TED peržiūri kas dvi valandas, realiuoju laiku atitikmenis iškart siunčia per Telegram, o kasdien 9:00 Lietuvos laiku išsiunčia santrauką su penkiais geriausiai įvertintais naujais atitikmenimis.

Kaip išvengti pasikartojančių pranešimų apie tą patį pirkimą?

Kiekvienas pirkimas ir kiekvienas pranešimas turi turėti pastovią tapatybę. Tendris kiekvienam pirkimui suteikia identifikatorių pagal šaltinį ir kiekvieno paleidimo metu TED skaito anksčiau nei CVP IS, todėl nacionalinis įrašas, turintis nuorodą į TED skelbimą, pagal skelbimo numerį sujungiamas su tuo TED įrašu. Atitikmenys saugomi pagal duomenų bazės taisyklę „viena eilutė vienai įmonei dėl vieno pirkimo“, todėl kiekviena įmonė dėl vieno pirkimo gauna vieną pranešimą.

Šaltiniai

  1. VPT: nauja CVP IS aktuali nuo 2024-12-01 (DUK)
  2. CVP IS – Centrinė viešųjų pirkimų informacinė sistema
  3. TED API dokumentacija (ES leidinių biuras)

Papasakokite, ką norite sukurti.

Nemokamas 30 min. pokalbis su inžinieriumi, kuris vadovautų projektui. Po jo turėsite apimties metmenis ir kainos intervalą.