Financial model · 12 months

Bid-Check: 12-month profit and cash model

An AI service for Latvian SMEs that checks a public tender (EIS) before they bid: qualification rules, exclusion grounds, missing documents. Change price, volume or costs on the left. Profit and cash recalculate with Latvian 2026 tax rules (VAT 21%, payroll taxes, 0% CIT on retained profit).

Monthly profit

ProfitLoss

Revenue minus all costs in the month (accrual basis). No corporate income tax while profit stays in the company.

Cash in the bank

Cash balanceStarting cash + cumulative profit

The gap between the two lines is timing: customers pay late, while VAT and payroll taxes leave a month after they arise.

Who the customers are: EIS 2025 bid data

Latvian bidders only · click a row to model that segment

Main industries in this segment (CPV division, firms)

Latvian lot-bids per month, 2025

% Median net profit / turnover in the segment’s latest annual reports (Register of Enterprises). Selecting a segment resets it.

Year 2: add Estonia and Lithuania

Same product, two more procurement systems; Latvia alone runs out of firms to contact

Only Latvia publishes every bid with the bidder’s registration number. Estonia’s open data (eForms award notices) lists only winning tenders, and Lithuania publishes winner counts by company size. So the Estonian and Lithuanian pools are estimated: Latvia’s ratio of target firms to small winning firms (0.32 for all procedures, 0.39 without small-value procurements, 0.69 for firms with 3+ won lots) is applied to each country’s winners, and for Estonia checked against how often its tenderers bid.

Cash in the bank, 24 months

With Estonia and LithuaniaLatvia only

Paying customers, 24 months

With Estonia and LithuaniaLatvia only

What the bid data says about the problem

EIS open data, Latvian bidders
Bids sent in the last 24 hours before the deadline62%13% in the final hour · median 18 h before deadline · same for the 981 target firms
Lots with bids that ended without a contract13%3,403 of 26,152 lots in 2025 (terminated or discontinued); 7,316 bids went into them
Win rate, micro vs mid-size frequent bidders25% vs 32%0–9 staff vs 50–249 staff, 12+ lot-bids; for micro firms won contracts ≈ 39% of turnover
Target firms still bidding in 202694%922 of 981 bid in Jan–Oct 2026; total bids −5.8% vs 2025, so a stable market

Why bids are disputed: IUB complaint decisions 2025

Complaints about bid evaluation, not tender terms70%303 of 433 complaints accepted by IUB in 2025 (2024: 271 of 422)
Objections about whether a bid meets the requirements37% ± 8qualification 16%, documents 9%, exclusion grounds 7%, technical 6% · hand-coded sample of 150 of 891 objections
Own rejected bids: rejected over qualification, documents or exclusion18 of 29missing specialists or certificates, forms, tax debt; the other 11: price (7), technical (4)
Of those 18, IUB confirmed the bidder’s error10upheld the bidder in 6, 2 not examined: most rejections were the bidder’s own mistake

What this does and does not prove: bids land at the last minute, so a check has to run in minutes, on deadline day. Complaints are the visible tip: a complaint costs a deposit and time, so most rejected bidders never file one. The sample shows that when a rejection is disputed, qualification and paperwork are the most common reason, and the rejection usually stands. Sources: IUB complaint statistics, decision summaries from info.iub.gov.lv.

How often bids are rejected: award notices and procurement reports

Verified tenders found inadmissible, above-EU-threshold Latvian tenders10.6%5,867 inadmissible + 56 abnormally low, as a share of tenders the buyer verified · 2025 TED award notices
Lots with at least one inadmissible tender18.6%of 13,766 lots with tenders; in 370 lots every tender was inadmissible · 84% of tenders came from SMEs
Procedures where at least one bid was rejected25% ± 655 of 217 hand-coded EIS procurement reports (random 2025 sample, 2+ bidders); 28% if unclear reports are left out
Rejected over qualification, documents or exclusion13%28 of 217 procedures · reasons in the 55: technical 35%, qualification 22%, documents 20%, unspecified 20%, exclusion 13%, price 4%

Both counts are lower bounds. Many buyers check qualification only for the cheapest bidder, so a losing bid with a missing certificate is often never recorded as non-compliant. Of the 400 sampled procedures, 217 had a report readable as text; 107 were PDF only or empty, 53 had no report yet and 23 failed to parse, so the EIS share rests on the 217. TED covers only procedures above EU thresholds. Sources: TED award notices (field “received submissions: verified inadmissible”), EIS procurement reports (eis.gov.lv).

What could weaken the case

Target firms’ bids below the 2028 thresholds60%From 1 Jan 2028 full procedure rules apply only from €140k (goods, services) and €1m (works); below that, buyers set their own simpler rules
Target firms with ≥80% of bids below the new thresholds437 of 94346%: the reform-loss scenario in Year 2 · 169 firms keep 12+ bids a year above the thresholds
Cost of preparing one bid≈ €57030–64 staff hours per bid (German IfM study, 42 h in an AWS-commissioned survey) at ≈ €13.5 / h Latvian labour cost; ≈ €13k a year at 23 bids
Closest competitorTendios Biddocument checklist and proposal validator, 30+ EU countries, free plan; Latvian legal rules not confirmed. TenderGlass €49 / month covers LT and PL

The reform cuts both ways: simpler rules below the thresholds mean fewer formal rejections there, but each buyer writing its own rules makes every tender different, and the 2027 exclusion rules (tax debt can be cured within 5 working days) change what a check must look for. A generic EU validator already exists, so the product has to win on Latvian law, Latvian-language documents and the 2027–2028 rule changes. Sources: LV portāls, 9 Jun 2026, LV portāls, 14 May 2026, Tendios Bid.

Why 12-month profit is not the same as cash

Exact reconciliation, recomputed live

Month by month

Scroll sideways on small screens

Assumptions and sources

Sourced official rate or published price · Derived computed from open data · Assumption my estimate, to test

How the model works

  • Customers. From the sales start month, new paying customers = firms contacted × trial rate × trial-to-paid rate. Each firm in the segment is contacted only once, so the number of real Latvian bidders limits growth. Each month a share of customers churns.
  • Seasonality. Tender checks per customer follow the 2025 monthly bid curve from EIS, so AI cost rises in spring and falls in winter.
  • Profit. Revenue − variable costs (AI per check + other per customer) − salaries with employer tax − accountant, hosting, marketing, one-off setup. CIT is 0 because nothing is paid out as dividends in year one.
  • Cash. Invoices carry 21% VAT; a share is paid the month after. Founders get net pay in the month; employee and employer social tax and PIT go to VID by the 23rd of the next month. VAT is declared and paid the month after; input VAT is recovered only on Latvian suppliers (accountant, setup). Foreign services (Claude API, hosting, ads) fall under reverse charge, so they add no VAT cash cost.
  • Not modelled. Price changes do not change conversion (no elasticity data yet). Founder time spent on support is inside salaries, so gross margin looks high. Year 2 (Estonia, Lithuania and the 2028 reform) is a separate 24-month scenario; the 12-month figures do not include it.

How I worked with AI

Claude (Opus 5.5) was my analyst and coder. I checked its work against primary sources.

  • Data, not estimates. Claude joined EIS 2025 bid data with Register of Enterprises open data. The 981-firm pool (12+ lot-bids a year, under 50 staff), margins, turnover and 1.92 checks per customer per month come from that join, which I re-ran in R: 5,473 of 6,452 bidders matched an annual report.
  • Tax rates. VAT, social tax, PIT, the non-taxable minimum and payment dates were checked on VID and PwC pages for 2026. Where the AI used an outdated figure, I replaced it.
  • Two implementations. The model was written in Python, then rebuilt in this page's JavaScript. A script compares both on the three scenarios.
  • IUB decisions. Claude pulled all 433 IUB complaints of 2025 and 891 objections from IUB's summaries. Keyword matching mislabelled about a third in a spot check, so a random sample of 150 was coded by hand. The coding is saved.
  • Estonia and Lithuania. Claude parsed the twelve 2025 monthly XML files of Estonia's procurement register (12,716 award notices, 14,168 winning tenders, deduplicated by tender ID). Estonia publishes only winners, so the pool is estimated three ways and shown as a range. Lithuania's figures come from the procurement office's 2025 reports.
  • EIS reports. Claude opened 400 randomly sampled 2025 procurement reports in my browser, and I coded the 217 readable as text (rejected or not, and why). PDFs were left out, so the share carries that caveat. The coding is saved with procedure IDs.
  • Evidence against the idea. I asked Claude for the strongest counter-evidence: the 2026 procurement reform and existing AI bid tools. It found Tendios Bid, a validator already covering 30+ countries, and computed that 60% of target firms' bids fall below the 2028 thresholds. Both are shown above.
  • Assumptions. Every input without a source is labelled an assumption. Conversion and churn have no Latvian benchmark; Real outreach to the lead list is how I would test them.