Route Costing Tool for School Transport Contract Bidders
Small taxi and MPV operators who bid on council school-transport tenders manually estimate mileage, drive time, and cost for each route before submitting a price, redoing the same postcode-to-school math dozens of times per tender cycle with no tool built for the job. They cannot quickly tell whether a given set of pickup postcodes, time windows, and passenger counts makes a route profitable at a given bid price. A p…
What an analysis cost to produce belongs beside it. A reader deciding whether to trust a verdict is entitled to know whether it came from twenty-six stages or one, and nothing else in this category will tell them.
The case against it
| Charge | Rebuttal | Ruling |
|---|---|---|
| No scalable distribution channel exists at any viable CAC | CONCEDED — Concede. The channel list is the prosecution's own evidence and it holds: four of five channels require manual per-prospect effort (thread engagement, | upheld — Four of five channels are hand-to-hand (forum threads, trade press, FOI-sourced cold outreach at $500-1500/lead) and the fifth is a search term with sub-10 monthly national volume; no channe |
| Addressable market is a rounding error | CONCEDED — Concede on the numbers as stated. geographic_gap claims the tender structure is portable across UK, Germany, NZ, Ireland, NI, but no combined operator | upheld — No operator count or aggregate TAM anywhere in the record; portability across five tender markets is asserted but unquantified, and 19 total units against a low-thousands buyer population at |
| Free/good-enough substitute already solves 80% of the problem | CONCEDED — Concede. Nothing in the record disputes that Google Maps Distance Matrix plus a spreadsheet delivers mileage/ETA/cost baseline for free. incumbent_wea | upheld — Distance Matrix free tier plus one spreadsheet column of pence-per-mile produces the same three outputs with no signup; the product's delta is keystrokes, and price_floor $0 confirms nobody |
| Zero defensibility against a competitor with an API key | CONCEDED — Concede outright. The candidate's own data_moat field states there is none. | upheld — data_moat says 'none' in the candidate's own words; a stateless geocoding wrapper is a weekend clone and the free-calculator content strategy publishes the entire product to any imitator. |
| Usage is seasonal and bursty, breaking subscription economics | CONCEDED — Concede. The thesis itself frames usage as happening 'per tender cycle,' and nothing in channels or thesis describes any off-season use case, upsell, | upheld — Thesis anchors usage to 'per tender cycle' with no described off-season job; monthly billing invites post-bid cancellation and annual billing asks a thin-margin operator to prepay for two we |
| Wrong estimate on a real bid creates liability and refund disputes with no data to fix it | CONCEDED — Concede. No field in the record contains an accuracy guarantee, disclaimer strategy, or feedback loop to correct estimate drift; data_moat explicitly | partial — Real risk and correctly identified as the hardest_unknown, but a disclaimer plus operator-supplied cost rates makes it a trust-adoption barrier rather than a legal exposure; downgraded becau |
| Buyer doesn't believe they have a tool-shaped problem | CONCEDED — Concede. The record confirms near-zero organic search intent, which is direct evidence against active problem-awareness or existing solution-seeking b | upheld — Near-zero search volume for the exact bottom-funnel query is direct evidence of no solution-seeking behaviour; every sale must first manufacture problem-awareness, which is why only manual c |
| Enterprise incumbents can trivially move downmarket | Rebutted, not conceded. The prosecution rates this 'low' probability itself. The record shows Transfinder/Tyler/QRoutes/VIA are multi-decade, establis | dismissed — The rebuttal is the stronger read: four established council-side vendors across five markets have had years to ship an operator self-quote tier and none did — but note that absence is eviden |
A separate agent argued against this idea, a second answered, a third ruled. 7 of 8 charges were conceded rather than defended. Published in full because a score with the objections removed is a advertisement, and because the objections are usually more useful than the verdict.
How it scored
| Dimension | Score | Reasoning |
|---|---|---|
| D1 | 32 | Repeating postcode math is annoying and real, but it is an hour of tedium a few weeks a year, not money leaking now — diffuse pain, not acute. |
| D2 | 12 | price_floor is literally $0, no dedicated paid product exists at any price, and the record contains zero instances of an operator paying anyone for bid costing. |
| D3 | 18 | Highest-intent channel costs $500-1500 per lead in FOI and cold outreach, forum route is 10-20 hours of manual persuasion, search volume under 10/month nationally — every |
| D4 | 10 | Stateless prompt-plus-public-API by the candidate's own data_moat admission; no accumulating corpus, no workflow lock-in, no switching cost, and the free content version |
| D5 | 78 | Geocode, distance matrix, arithmetic, Stripe — squarely inside the existing stack, $400 to first dollar, cron and self-heal list is trivial and removable. |
| D6 | 20 | Seasonal bursty usage forces a choice between churn-heavy monthly and prepay-resistant annual, with no expansion surface, no seat growth, and no off-cycle job to retain a |
| D7 | 12 | Low-thousands global buyer population willing to pay maybe £20-50/month for a few weeks a year puts the realistic ceiling in the low tens of thousands annually — visible |
| D8 | 45 | Build is well within his skills and infra, but he has no audience, no standing in the UK private-hire trade, and success here demands sustained one-to-one persuasion of a |
Who already does this
| Competitor | Pricing | Funding | Launched | Overlap |
|---|---|---|---|---|
| Flexiroute (RLDatix GCS) | Enterprise quote, not published; sold to councils not solo o | Owned by RLDatix (large PE-backed govtech/heal | Existing established produ | partial |
| QRoutes | Enterprise quote, sold to local authorities/SEND transport t | Established UK vendor with existing council co | Operating pre-2024 | adjacent |
| Transfinder / Tyler Traversa / Routefinder PLUS (district routing software) | $2,800–$592,000/year depending on district size | Established, revenue-generating incumbents (Tr | Multi-decade incumbents | adjacent |
| VIA (Stadt.Land.Netz) | Enterprise quote, sold to German public authorities (Aufgabe | Established German govtech vendor | Operating, current product | adjacent |
| Generic mileage/route cost calculators (e.g. eBay trucking spreadsheet, infinitycalculator.com) | Free to ~$5-10 one-off | Not funded, hobby/side tools | Ongoing | adjacent |
Where the buyers actually are
| Channel | Why it reaches them |
|---|---|
| transportforum.com (TM Map / operator forum) | |
| PHTM (Private Hire & Taxi Monthly, phtm.co.uk) | |
| Council DPS approved-supplier lists (FOI request per council) | |
| Google/PPC: 'home to school transport tender pricing' / 'DPS taxi bid | |
| Free public postcode-to-cost calculator (the tool itself, unbranded/em |
Regulatory gates
| Gate | Finding |
|---|---|
| G1 | No concrete legal violation identified. Route costing is calculation, not procurement system access or tender manipulation. Operating as a private tool for operators' own bidding math carrie |
| G2 | Core function is algorithmic: postcode → mileage/time/cost via mapping API. No per-customer service work, no sales calls, no physical fulfilment, no human review of every output required. Ru |
| G3 | School transport route planning and costing is an adjacent paid market. Competitors exist (Routemaster, Viasat, Samsara, Trakm8, Microlise). Councils and operators demonstrably pay for route |
| G4 | Thin MVP: Flask backend accepting postcode + school + time window + passenger count; call Google Maps API for distance/duration; apply simple cost model (fuel, driver time, margin); return J |
| G5 | Reachable via fragmented but identifiable channels: school transport operator forums (Taxi Forum, Minibus Operators Association), local authority procurement bulletin boards, LinkedIn groups |
The pre-registered test
| Term | Value |
|---|---|
| days | 21 |
| offer | Manual concierge costing, no product built: 'Send me your next school-transport tender route sheet (postcodes, school, time windows, passenger counts) and I will return mileage, peak-time drive estimate, and a per-route |
| price | 49 |
| metric | Stripe charges completed at £49 from distinct operators who supply a real route sheet |
| channel | transportforum.com operator threads (primary) plus 40 named DPS approved-supplier operators obtained via FOI from 4 councils currently mid-tender-cycle, emailed individually |
| threshold | 5 paid orders from 5 distinct operators within 21 days; fewer than 5 kills permanently. Under 3 replies expressing interest across 40 FOI emails plus 2 forum threads kills at day 10 without waiting. |
Recorded at the moment the verdict was issued and not editable afterwards. If this is launched, the result lands on the ledger whether it passes or fails.
Where this idea is
| Phase now | Analysed — Underwritten, with the argument against it on the record. |
| What you do here | Read the case against it first. An upheld charge you cannot answer is the verdict, whatever the score says. |
| To leave this phase | You have read the upheld charges and decided the idea survives them. |
| Gate status | This gate is a judgement, not a query. The system will not rule on it and will not pretend to — you decide, and the reason is recorded. |
| Next phase | Validating — A pre-registered test is live and running. |
This gate is a judgement rather than a query, so the system states it and refuses to rule on it. Pretending software can decide whether a business "can take money from somebody who is not you" would make every gate on this site meaningless. Advancing an idea needs its link — the one handed back when it was submitted. Founder-owned ideas are advanced from the console. See the whole pipeline.
| What to do in this phase | What it proves | From which part of the analysis |
|---|---|---|
| Answer the upheld charge: No scalable distribution channel exists at any viable CAC | The verdict survives its strongest objection, or it does not and you have learned that before spending. | arbitration |
| Answer the upheld charge: Addressable market is a rounding error | The verdict survives its strongest objection, or it does not and you have learned that before spending. | arbitration |
| Answer the upheld charge: Free/good-enough substitute already solves 80% of the problem | The verdict survives its strongest objection, or it does not and you have learned that before spending. | arbitration |
| Answer the upheld charge: Zero defensibility against a competitor with an API key | The verdict survives its strongest objection, or it does not and you have learned that before spending. | arbitration |
| Answer the upheld charge: Usage is seasonal and bursty, breaking subscription economics | The verdict survives its strongest objection, or it does not and you have learned that before spending. | arbitration |
| Answer the partial charge: Wrong estimate on a real bid creates liability and refund disputes with no data to fix it | The verdict survives its strongest objection, or it does not and you have learned that before spending. | arbitration |
| Answer the upheld charge: Buyer doesn't believe they have a tool-shaped problem | The verdict survives its strongest objection, or it does not and you have learned that before spending. | arbitration |
Every step traces to a field this idea's own underwriting produced — not generic best practice, which is free everywhere. 0 of 7 complete. Mark them off in the console.
How this was produced
| Measure | Value |
|---|---|
| Wall clock | 61 minutes |
A verdict produced by 22 of 23 stages is not the same artefact as one produced by all of them, and which stages failed was recorded on every run and shown nowhere until now. If a stage that feeds a section died, the section came from somewhere else or nowhere — and you are entitled to know which is in front of you before you act on it.
The money
| price point | None |
| current spend | None |
| funding route | reinvest |
| revenue model | None |
| churn monthly pct | None |
| cash to first dollar | 400 |
| marginal cost per unit | None |
What it costs to start
| capital blocked | False |
What has to be built
| data moat | none — this is a stateless calculator over third-party geocoding/distance data; no proprietary corpus accumulates unless a feedback loop capturing actual-vs-estimated route costs across many operators is built and sustained, which is not in scope here and would take real usage volume to matter |
| components | Auth, account, Stripe billing: risk: low; units: 2; Route input form (postcodes, school, time window, passenger count) + validation: risk: low; units: 2; Geocoding + distance/drive-time integration (Google Distance Matrix or equivalent) with ca: risk: med; units: 3; Cost engine (fuel, driver wage, vehicle depreciation, overhead, configurable per-operator : risk: med; units: 3; Multi-route tender batch view + comparison table: risk: med; units: 3; Export (PDF/CSV) for bid reference: risk: low; units: 2; Dashboard UI / saved routes / history: risk: low; units: 3; Deployment, monitoring, VPS setup: risk: low; units: 1 |
| total units | 19 |
| hardest unknown | Whether Google-derived drive-time/mileage estimates and a generic cost model (fuel + wage + overhead per mile/hour) are close enough to what operators actually experience on rural school-run roads and peak-time congestion that they'll trust the number for a real bid with money on the line — if the estimate is off by 15-20% on drive time, the tool is worse than useless because it produces confidently wrong bids rather than no bid. |
If you decide to do this
| Step | What it means | Where it happens |
|---|---|---|
| 1 · Read the case against it first | Charges the arbiter upheld are the ones to answer before committing. If an upheld charge is fatal for you, the verdict is not. | on this page |
| 2 · Commit the pre-registered test | The test is already written: Stripe charges completed at £49 from distinct operators who supply a real route sheet at 5 paid orders from 5 distinct operators within 21 days; fewer than 5 kills permanently. Under 3 replies expressing interest across 40 FOI emails plus 2 forum threads kills at day 10 without waiting.. Committing freezes it with a date, and it cannot be edited afterwards. | promote it → |
| 3 · Stand up the offer | A landing page, a price, and an instrumented link. Nothing is proven until somebody who does not know you is asked to pay. | ventures → |
| 4 · Run distribution and let it resolve | The test resolves mechanically on its deadline: actual against threshold, no judgement. A test never distributed resolves VOID rather than FAIL — inaction is not evidence. | automatic, daily |
| 5 · The outcome grades this verdict | Whatever happens is written back against this prediction and scored. That is what makes the next verdict better, and it is the only honest basis for ever claiming an accuracy. | the ledger → |
Not now. Something specific would have to change first, and it is named in the ruling. Steps 2 and 3 open the operator console, which lives under this same domain at /account and requires a log-in — the public record is readable by anyone, and committing a prediction against it is not. Step 5 happens automatically: this prediction is already frozen with its score, its confidence, and every dimension as it stood, waiting for an outcome to grade it against.