Kuidas saada hangetel parimaid pakkumusi?

Edukad hanked sõltuvad sellest, kui hästi on ette valmistatud hindamise metoodika ja kuidas see toetab soovitud tulemuse saavutamist, ehk lõppkokkuvõttes saad selle, mida ja kuidas küsid.

Eestis on valdavalt praegusel ajal hangete puhul kasutusel kriteerium madalaim hind. Sellega on olnud nii edulugusid, kui ka õppetunde. Suuremad hankijad on viimasel ajal võtnud suuna väärtuspõhistele hangetele, kus lisaks hinnale soovitakse pakkujatel lähemalt oma pakkumused lahti seletada.

Kuigi Eestis on see muutus visa, siis nii meie naabrid põhjamaades kui ka saareriik Ühendkuningriigid (UK) on alustanud juba jõulisemat suunda hangetes, mis aitab välja sõeluda parimatest pakkujatest parimad. Ja seda mitte üldse hinna põhiselt.

Vaatame siinkohal lähemalt UK näidet ja soovitusi, mis ei ole kitsalt kohalikule seadusandlusele põhinev, vaid rõhutab pigem mõttemustrite ja suhtumise muutumist. Et nii UK kui ka Eesti riigihangete seadusandlus põhineb suuresti Euroopa Liidu direktiividel on mõlemal riigil põhimängureeglid samad.

Euroopa Liidu direktiivid ütlevad, et avaliku sektori konkursi võitja valitakse välja “majanduslikult soodsaim”, madalaima hinnaga või kasutades parima hinna ja kvaliteedi suhet.

Enamik UK avalikust sektorist kasutab hindamisel parima hinna ja kvaliteedi suhet ning on loonud metoodika, mis toetab hankeprotsessi ennast ja teenindab eesmärki valida välja pakkuja, kes vastab nõuetele nii hinna kui ka kvaliteediga.

Selleks on loodud hindamismetoodika, mis võib olla väga keeruline, sisaldades erinevaid valemeid, mis selgitavad võitja välja. See on loonud aga olukorra, kus mõnikord on püütud hindamismetoodikat ühest valdkonnast teise otse üle võtta, mis aga alati ei anna soovitud tulemust. Hankija on endiselt pettunud, et parim pakkumus ei vasta ikkagi ootustele.

Sellist “üllatust” on aga võimalik vältida, kui panustada pisut enam protsesside ettevalmistamisele ja targemal hankimisel tuleks kaaluda järgmisi aspekte:

- Tee metoodikaga “kuiva trenni”. Kasuta simulatsiooni vms, et saada selgemalt aru, millised osad vajavad täiendamist või kohendamist, et saavutada soovitud tulemust. Katseta väljatöötatud hindamiskriteeriumeid väljamõeldud või varasemalt esitatud pakkumuste peal - hinda, kas said soovitud tulemuse. Kui vaja tee näidispakkumistele täiendused, mida saad hindamismetoodikaga
katsetada.

- Mõtle läbi hindamismetoodika sõnum, mida tahad pakkujate turule öelda. Tavapäraselt otsivad pakkujad hankedokumentidest, milline on hindamise rõhuasetus

- Lühikeses tutvustuses saab rõhutada vajadust kõrgele kvaliteedile, lõpptarbija ootusi, sotsiaalmajanduslikke väärtusi. Kuid kui 60% hindamisest keskendub vaid hinnale, panustavad enamik pakkujaid just viimasele.

- Mõelge läbi millist pakkujate käitumiskultuuri hanke hindamissüsteem soosib ja kujundab. Kas olete piisavalt selgelt hanke läbi mõelnud ja kirja pannud, vältida suurte riskidega ebanormaalseid või põhjendamatult madalaid hindasid. Madalaima hinnaga kõrgeimate punktide andmine soosib igal juhul võidujooksu allakäigule. Eraldades selgelt hanke hindamisel hinna ja kvaliteedi ning asetades rõhku viimasele, elimineerib see suurema tõenäosusega vaid hinnale keskendumise.

- Veenduge, et hanke hindamismeeskond mõistab täielikult hanke prioriteete, eesmärke, hindamiskriteeriume ja võimalikke vaidluskohti. Kõik meeskonna liikmed peavad olema piisavalt kvalifitseeritud, et hinnata oma valdkonda ning mõistma mida tähendavad hanke hindamisel mõisted vähene/hea/suurepärane. Hindamistulemus võib olla kergesti moonutatud, kui hindamismeeskonda viia
kurssi võimalike eelarvamustega teatud pakkujate vastu. See takistab ning kahjustab ausat hindamist ja ei ole õiglane pakkujate suhtes. Eriti suur risk on see võrdleva hindamise mudeli juures.

- Vältige „riiulilt võetud“ hindamismetoodikat, mis on koostatud konsultandi või oma maja töötajate poolt mõne teise hanke, objekti või teenuse tarbeks teisi prioriteete arvestades.

- Kirjelda võimalikult selgelt pakkujatele, mida hinnatakse ning hindamisel koosta kirjelduste põhjal „check-list“, kus saad täpsemalt määrata, millised lisahindamiskriteeriumid on täidetud ja millised mitte. See aitab hoida objektiivsust.

Hindamisel  mängib suurt rolli see, kui hästi pakkuja on saanud ülesandest aru ja kuidas suudab ta tagada läbipaistvuse ja koostöö kogu hanke elluviimise käigus.

Lisahindamiskriteeriumeid võib tänapäeval võtta kui eraldi teadust, mis aitab hankijal saada seda, mida nad tegelikult soovivad. Loodavaid kriteeriume saab kohaldada neid järjekindlalt kasutades.

Hankijal on klientidele müümiseaeg lühike (raisates enamik aega ja ressursse hanke läbiviimisel), kuid suurim kaotusvõimalus peidab hankeprotsessis vähese tähelepanu pööramine hindamisel ja  analüüsimisel.

Artiklis on ühe allikana kasutatud ajakirjas Building ilmunud Towers & Hamils parter Rebecca Reesi artiklit „Hankel keskendu parimale tulemusele“ ning autori kogemust.  

 

Osale arutelus

Ehitus­uudised.ee toetajad:

VIGA

Meil on tehnilised probleemid. Katsume need kiirelt lahendada. Vabandame!

Palun kliki mõne aja pärast uuesti: www.aripaev.ee

Kuniks veebileht ei avane, on meil pakkuda teisi tooteid:

Infopank Äripäeva käsiraamatud Äripäeva Akadeemia Äripäeva Raamatuklubi Äripäeva veebipood

"; content = content.replace("Path not found","").replace("Permission denied","").replace(//g, ""); content = JSON.parse(content); var utmLink = "?utm_source=http://www.ehitusuudised.ee&utm_medium=KuumadLood"; // ReadNext block var ReadNext = (function () { var $readNextBar = $(".js-read-next"), $readNextItems = $readNextBar.find(".js-read-next__items"), $readNextItemsContainer = $readNextBar.find(".js-read-next__container"), contentSelector = ".article-content", width = 0, height = 0, mostReadArticles = [], unreadArticles = [], currentElement = 0, numberOfElements = 24, numberOnPage = 4, maxAvailable = 24, showFirstUnlockedArticles = 2, showSecondLockedArticles = 2, mobileSlideWidthSeen = 110, alreadyScrolling = false, currentTransition = 0, animationDuration = 600 var init = function () { // Create click handlers _setNextButtonClickHandler(); _setPrevButtonClickhandler(); _bindWidthCalculation(); ReadNext.showRecommendations(); }; var showRecommendations = function () { _calculateWidth(); $readNextItems.css("width",width); if (window.innerWidth < 768) { numberOnPage = 2; maxAvailable = 20; } else { numberOnPage = 4; maxAvailable = 20; } var readArticleIds = _getReadArticles(); unreadArticles = _.chain(mostReadArticles) .filter(function (article) { return !_.contains(readArticleIds, article.id); }) .first(maxAvailable) .value(); numberOfElements = unreadArticles.length; if (unreadArticles.length > 0) { _reaarrangeArticles(); _initElements(); _showBar(); _miscOperations(); } }; /** * If article is not too old to be in most-read box and is not already read, * add it"s id to cookie */ var addToReadArticles = function (id, date) { var readArticleIds = _getReadArticles(); if (readArticleIds.length > 64) { readArticleIds = _purgeOldIds(readArticleIds); } var readArticles = readArticleIds.join(","); if (!_isTooOld(date) && readArticles.indexOf(id) < 0) { readArticles = (readArticles.length > 0) ? readArticles + "," + id : id; createCookie("readArticles", readArticles, 2, "/", null); } }; var setArticles = function (arr) { mostReadArticles = arr; }; var isHidden = function () { var style = window.getComputedStyle($readNextBar[0]); return (style.display === 'none'); }; var _showBar = function () { $readNextBar.fadeIn(500); _detectSwipe($readNextBar, _swipeToDir); }; var _showNextPage = function () { if(alreadyScrolling) { return; } currentTransition--; alreadyScrolling = true; var $prev = $(".js-read-next__items__prev"); var $curr = $(".js-read-next__items__current"); var $next = $(".js-read-next__items__next"); $readNextItems.css({ "transform": "translate("+(currentTransition * 100)+"%)", "transition-duration": animationDuration+"ms" }); setTimeout(function() { $prev.remove(); $curr.removeClass("js-read-next__items__current").addClass("js-read-next__items__prev"); $next.removeClass("js-read-next__items__next").addClass("js-read-next__items__current"); _addNextElements((-currentTransition + 1 ) * 100 ); $readNextItems.css("transition-duration","0ms"); }, animationDuration); currentElement += numberOnPage; while(currentElement >= numberOfElements) { currentElement = (currentElement >= numberOfElements) ? (currentElement - numberOfElements) : currentElement; } _miscOperations(); }; var _showPrevPage = function () { if(alreadyScrolling) { return; } currentTransition++; alreadyScrolling = true; var $prev = $(".js-read-next__items__prev"); var $curr = $(".js-read-next__items__current"); var $next = $(".js-read-next__items__next"); $readNextItems.css({ "transform": "translate("+(currentTransition * 100)+"%)", "transition-duration": animationDuration+"ms" }); setTimeout(function() { $next.remove(); $curr.removeClass("js-read-next__items__current").addClass("js-read-next__items__next"); $prev.removeClass("js-read-next__items__prev").addClass("js-read-next__items__current"); _addPrevElements((-currentTransition - 1 ) * 100 ); $readNextItems.css("transition-duration","0ms"); }, animationDuration); currentElement -= numberOnPage; while(currentElement < 0) { currentElement = (currentElement < 0) ? (numberOfElements + currentElement) : currentElement; } _miscOperations(); }; var _miscOperations = function () { //calc the container height so it would not block the content $(".js-read-next__item").each(function() { var item = $(this); var elementHeight = item.height(); if(elementHeight > height) { height = elementHeight; $readNextItemsContainer.css("height", height); } //adding utm tags var a = item.find(".js-article-exit"); a.attr("href", a.attr("href") + utmLink); }); setTimeout(function() { //after animation enable navigation alreadyScrolling = false; }, animationDuration); }; var _initElements = function () { alreadyScrolling = true; $readNextItems.append(_getElements(0, numberOnPage).addClass("js-read-next__items__current")); _addPrevElements(-100, -numberOnPage); _addNextElements(100, numberOnPage); currentElement = 2 * numberOnPage - 1; while(currentElement >= numberOfElements) { currentElement = (currentElement >= numberOfElements) ? (currentElement - numberOfElements) : currentElement; } alreadyScrolling = false; }; var _addPrevElements = function (transition, elementIndex) { var firstElement = currentElement - 3 * numberOnPage; if(typeof elementIndex !== "undefined") { firstElement = elementIndex; } while(firstElement < 0) { firstElement = (firstElement < 0) ? (numberOfElements + firstElement) : firstElement; } var items = _getElements(firstElement, numberOnPage).addClass("js-read-next__items__prev").css("transform","translate("+transition+"%)"); $readNextItems.append(items); }; var _addNextElements = function (transition, elementIndex) { var firstElement = currentElement + 1; if(typeof elementIndex !== "undefined") { firstElement = elementIndex; } while(currentElement >= numberOfElements) { firstElement = (firstElement >= numberOfElements) ? (firstElement - numberOfElements) : firstElement; } var items = _getElements(firstElement, numberOnPage).addClass("js-read-next__items__next").css("transform","translate("+transition+"%)"); $readNextItems.append(items); }; var _addToHtml = function ($container, data) { var html = ''; $container.html($container.html() + html); }; var _getElements = function (firstElement, numberToTake) { var $itemGroup = $(''); var elementIndex = firstElement; for (var i = numberToTake; i > 0; i--) { if(elementIndex >= numberOfElements) { elementIndex = 0; } _addToHtml($itemGroup, unreadArticles[elementIndex]); elementIndex++; } return $itemGroup; }; var _bindWidthCalculation = function () { $(window).on("resize.readNext", function(){ _redefineElementWidth(); }) }; var _redefineElementWidth = function () { _calculateWidth(); $readNextBar.find(".js-read-next__items__group").css("width",width); $readNextItems.css("width",width); }; var _calculateWidth = function () { width = $readNextBar.width(); if(window.innerWidth < 768) { var padding = parseInt($readNextItemsContainer.css("padding-right")) + parseInt($readNextItemsContainer.css("padding-left")); width = window.innerWidth - padding; } }; // Article management var _getReadArticles = function () { var readArticles = decodeURIComponent(getCookie("readArticles")); var readArr = readArticles !== "null" ? readArticles.split(",") : []; return _.map(readArr, function (val) { return parseInt(val); }); }; var _purgeOldIds = function (readArticleIds) { // convert ids to integers in case they are given as strings readArticleIds = _.map(readArticleIds, function (val) { return parseInt(val); }); // get article id"s from most-read box var mostReadIds = _.pluck(mostReadArticles, "id"); return _.intersection(mostReadIds, readArticleIds); }; // Article is too old if it's date is set more than 2 days ago var _isTooOld = function (date) { var y = parseInt(date.substr(0, 4)), m = parseInt(date.substr(4, 2)) - 1, d = parseInt(date.substr(6, 2)); var expireDate = new Date(y, m, d); expireDate.setDate(expireDate.getDate() + 2); var now = new Date().setHours(0, 0, 0, 0); return expireDate < now; }; var _reaarrangeArticles = function() { var unlockedArticleCount = 0; var lockedArticlesCount = 0; for (var i = 0; i < unreadArticles.length; i++) { var article = unreadArticles[i]; if (article.lockID === "" && unlockedArticleCount < showFirstUnlockedArticles ) { unreadArticles.splice(i,1); unreadArticles.splice(unlockedArticleCount, 0, article); unlockedArticleCount++; } else if (article.lockID !== "" && lockedArticlesCount < showSecondLockedArticles) { unreadArticles.splice(i,1); unreadArticles.splice(unlockedArticleCount + lockedArticlesCount, 0, article); lockedArticlesCount++; } else if(lockedArticlesCount >= showSecondLockedArticles && unlockedArticleCount >= showFirstUnlockedArticles) { break; } } }; // Bar visibility var _getArticleContentHeight = function () { var contentParts = $(contentSelector); var contentHeight = 0; _.each(contentParts, function (content) { var height = $(content).height(); contentHeight += height; }); return contentHeight; }; var _getArticleDistanceFromTop = function () { var $firstArticlePart = $($(contentSelector)[0]); return $firstArticlePart.offset().top; }; var _getShowBarOffset = function () { var articleContentHeight = _getArticleContentHeight(), articleOffset = _getArticleDistanceFromTop(), windowHeight = $(window).height(); return articleOffset + (2 / 3 * articleContentHeight) - windowHeight; }; // Click handlers var _setNextButtonClickHandler = function () { $(document).on("click", ".js-read-next__next", _showNextPage); }; var _setPrevButtonClickhandler = function () { $(document).on("click", ".js-read-next__prev", _showPrevPage); }; var _swipeToDir = function (dir) { if (dir === "l") { _showNextPage(); } else if (dir === "r") { _showPrevPage(); } }; var _detectSwipe = function (ele,func) { var swipe = { x: 0, x1: 0, xMin:30 }; var dir = ""; var currTranInPx = width * currentTransition; ele.bind('touchstart', function(e){ var t = e.originalEvent.touches[0]; swipe.x = t.screenX; currTranInPx = width * currentTransition; }) ele.bind('touchmove', function(e){ e.preventDefault(); var t = e.originalEvent.touches[0]; swipe.x1 = t.screenX; if(swipe.x1 === 0 || alreadyScrolling) { return; } var diff = swipe.x - swipe.x1; diff = (diff > width) ? width : diff; diff = (diff < -width) ? (-width) : diff; var calculatedTransform = currTranInPx - diff; $readNextItems.css("transform","translate("+calculatedTransform+"px)"); }) ele.bind('touchend', function(e){ if (swipe.x1 === 0 || alreadyScrolling) { return; } if ((swipe.x - swipe.x1) >= swipe.xMin) { dir = "l"; } else if ((swipe.x1 - swipe.x) >= swipe.xMin) { dir = "r"; } if (dir !== "") { if(typeof func == 'function') func(dir); } else { $readNextItems.css("transform","translate("+currTranInPx+"px)"); } dir = ""; swipe.x = 0; swipe.x1 = 0; }) }; return { showRecommendations: showRecommendations, addToReadArticles: addToReadArticles, init: init, setArticles: setArticles, isHidden: isHidden }; })(); ReadNext.setArticles(content); ReadNext.init();

Jälgi ehitusuudiseid sotsiaalmeedias:

RSS

Ehitus­uudised.ee toetajad:

Käsi­raamatud ehitus­spetsialistile

Valdkonna tööpakkumised

M-Partner HR otsib PROJEKTEERIMISE NOOREMPROJEKTIJUHTI

M-Partner HR OÜ

13. veebruar 2017

Ehituse erilehed