Automating competitor data collection
The average employee in a small company in Łódź spends 14 hours a month manually copying tender results from PDFs into a spreadsheet. At Konsens Logika, we know that numbers speak louder than a bluff, but only when they are current and free from human error. This post shows how we turn tedious data copying into an automatic process that feeds our mathematical models.
The end of manual PDF transcription
Most of our clients relied on the intuition of salesmen before reaching us. When we analyzed 47 recent projects in the construction industry, it turned out that errors in manual entry of tender amounts averaged 8%. This is enough for a game theory model to output a completely wrong forecast of a rival's move. Since October 2024, we have implemented OCR-based scripts in the office that extract data from documents with 99.8% accuracy.
Instead of telling an analyst to sit over tables for 11 business days, we run an automaton. The script searches 14 public procurement portals and extracts bid prices, subcontractor names, and document submission dates. For one of our regular clients in the textile industry, this meant reducing the preparation time for bidding from 3 days to just 3.2 hours. Mathematics has no emotions, and our automatons don't feel tired after eight hours at the monitor.
It is important to understand that data is fuel. If you pour dirty fuel into an engine, the car won't start. The same goes for a negotiation model. We use Python libraries like Pandas and Selenium to create a clean database. Currently, we monitor 318 active competitors in the Łódź Voivodeship in our system, allowing us to see behavior patterns that no one who looks only at a single Excel sheet will notice.
Numbers speak louder than a bluff, but only when they are collected without errors.

Tracking rival moves in real-time
Your rival has already calculated their chances, so we must know about their moves faster. In January 2024, we developed a notification system that reacts to every new result publication in specific CPV categories. We don't wait for official bulletins, which often appear late. Our tools scan ordering party sites every 47 minutes, giving us an information advantage in overtime negotiations.
While working on 156 projects, we noticed that companies often repeat the same price patterns. Thanks to automating history collection, we see that a specific company from Pabianice always lowers the price by exactly 4.7% in the second round of negotiations. This isn't guessing; it's statistics. We check 12 behavioral variants for every key player in the market before we advise our client on what amount they should enter in the offer form.
It might sound complicated, but for us, it's a daily routine. Last quarter, we saved 2,400 PLN in operational costs alone for a small workshop that previously hired a student to search for ads. Now, the same workshop gets a ready report from us every Monday at 9:15 AM. The report contains only hard data: who started, for how much, and what is the probability they will meet in the next proceeding.
Verifying price credibility
Automation isn't just about speed; it's also about checking if the rival is lying. It often happens that prices in offers are glaringly low. Our system automatically compares bid prices with market raw material prices from the last 8 months. If we see a deviation greater than 23%, the system marks such an offer as 'risky'. This allows our clients to submit requests for explanation of a glaringly low price with concrete evidence in hand.
Darek Nowakowski, our director, always says that the winner in tenders is the one with the better archive. Thanks to our data-collecting robots, we have a history of starts for most firms in the region since 2019. We know how many times a given company has won and how many times its offer was rejected for formal reasons. This information is key when we build an electronic bidding strategy where decisions must be made in 45 seconds.
For example, in July 2024, we helped a transport company win a contract worth 124,000 PLN simply because our system caught an error in the competitor's calculations before the office did. A quick reaction was possible only because we already had data on rates per kilometer loaded and processed by the mathematical model. Without automation, this information would have drowned in a pile of other documents.
We check 12 behavioral variants so you don't have to guess.

From data to decision in 4 minutes
Data collection itself is only half the way. The real work begins when those thousands of rows hit the Konsens Logika calculation engine. Because data formatting is standardized by our scripts, import into the model takes less than 4 minutes. In this time, the system calculates win probabilities at different price thresholds. The client gets a simple result: 'At a price of 83,500 PLN, you have a 67% chance of winning'.
We don't promise miracles because mathematics doesn't lie. If the data shows the market is saturated, we will say so straight out. Honesty in analysis has been the foundation of our work for 8 years. In that time, we have served 83 regular clients who know we don't play around with fluff. Our tools serve to eliminate uncertainty wherever it can be replaced by a calculation.
If you still think your intuition is better than hard data, look at your last 3 lost tenders. How many of them did you lose by less than 1% of the price? That's exactly the margin of error that our automatic data collection helps eliminate. Instead of wondering 'what if', start operating on facts that already exist on the web, only no one has connected them into a whole for you yet.


