Route Cost & Feasibility Checker for School Transport Bidders
Small taxi and PTS operators repeatedly bid on council school-transport micro-contracts, each specified only as pickup postcodes, a destination school, a timetable, passenger count, and accessibility needs. Given those bare parameters, an operator has no fast way to tell whether a route is actually workable at a profitable price before committing hours to a bid. The minimum fix is a tool that takes those route parame…
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 |
|---|---|---|
| Addressable market is functionally microscopic | CONCEDED — No rebuttal available. | upheld — Conceded with no market-size counter; buyer set is UK small operators actively bidding council school micro-contracts minus those with existing rules of thumb — a few hundred reachable firms |
| Usage frequency doesn't support a paid recurring product | CONCEDED — No rebuttal available. | partial — Seasonal cycle is real and kills naive SaaS, but tender re-lets and multi-council DPS bidding are more continuous than annual; per-bid or seasonal-window pricing is untested, not disproven. |
| The real bottleneck isn't cost estimation, it's route/vehicle optimization | CONCEDED — No rebuttal available. | upheld — Conceded and confirmed by the thesis's own input schema; feasibility for multi-pickup SEN routes turns on sequencing, dwell time and vehicle allocation, which a distance-matrix call does not |
| Zero defensibility against a weekend clone | CONCEDED — No rebuttal available; record concedes this directly. | upheld — data_moat says 'None by default'; geocode + distance matrix + linear cost formula is a prompt-plus-public-API build with no accumulating asset at launch. |
| Referral partners have direct incentive to build this in-house | CONCEDED — No rebuttal available. | partial — Incentive is real, but bid consultancies sell human writing services and rarely ship software; the more likely outcome is indifference or white-label absorption, not fast in-house replicatio |
| Cost-model liability and inaccuracy risk | CONCEDED — No rebuttal available. | partial — Reputational contamination in a small market is a genuine risk, but disclaimers, ranges instead of point verdicts, and operator-supplied cost coefficients are cheap standard mitigations the |
| Free substitute already exists and is 'good enough' | CONCEDED — No rebuttal available. | upheld — Conceded; experienced repeat bidders — precisely the segment every listed channel reaches — already price by tacit fleet knowledge, so WTP concentrates in the smallest, least trusting segmen |
| Upstream procurement-format dependency | Partially rebutted: the tool has no automated parsing dependency on SProc.net or any tender platform, which limits (but does not eliminate) the breaka | dismissed — Manual field entry means no parser to break; this is at worst an occasional re-mapping annoyance, correctly rebutted. |
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 | 38 | Pre-bid hesitation is real but intermittent and currently absorbed by gut feel plus a spreadsheet — an annoyance, not a bleeding wound. |
| D2 | 22 | No evidence anyone pays for route feasibility screening; adjacent spend goes to tender alerts and bid writers, not costing tools. |
| D3 | 52 | Channels are unusually concrete for a niche this small — named forum, public DPS supplier lists, PHTM, free-calculator-as-content — but total reachable universe caps the |
| D4 | 12 | Geocode plus distance matrix plus linear formula: a prompt and a public API with no join difficulty, no continuity, and a self-conceded absent moat. |
| D5 | 78 | 18 units, $500 to first dollar, standard stack, removable autonomy — the build is genuinely cheap and within the operator's toolchain. |
| D6 | 30 | Seasonal usage breaks subscription; per-bid pricing yields £5-20 transactions that cannot amortise cold-email and partner-relationship CAC. |
| D7 | 18 | Single procurement niche in one country with no adjacent market; even total dominance is a few hundred low-ARPU accounts. |
| D8 | 55 | Routing APIs, Flask, Stripe are squarely in his stack, but he has no UK PTS operational knowledge to calibrate cost coefficients or earn trust in a tacit-knowledge trade. |
Where the buyers actually are
| Channel | Why it reaches them |
|---|---|
| TransportForum.com (school transport contracts subforum) | |
| Bid consultancies (Hudson Succeed, TransportTenders.co.uk) as referral | |
| PHTM (Private Hire & Taxi Monthly) classified/editorial | |
| Council DPS approved-operator lists (East Sussex, Leicestershire, Hari | |
| Search: "is this school transport route profitable" / "SProc.net route |
Regulatory gates
| Gate | Finding |
|---|---|
| G1 | No concrete legal violation identified. Tool is informational (cost/feasibility estimation), not a tendering platform or procurement system. Operator uses it pre-bid, before any council inte |
| G2 | Core loop is autonomous: accept route parameters (postcodes, school, timetable, passenger count, accessibility), run routing/costing algorithm, return estimate. No per-customer service calls |
| G3 | School transport operators demonstrably pay for route planning and costing tools (Routemaster, Viasat, Samsara, Verizon Connect all have school transport modules with paid tiers). Councils p |
| G4 | Thin first version: accept CSV/form input (postcodes, school postcode, timetable, passenger count, accessibility flag), call Google Maps API for distance/time, apply simple cost model (per-m |
| G5 | Reachable via: school transport operator forums (Taxi Forum, PTS operator groups), LinkedIn targeting transport operators, SProc.net community boards, local authority procurement officer net |
The pre-registered test
| Term | Value |
|---|---|
| days | 30 |
| offer | Free public route feasibility calculator (postcodes in, mileage/drive-time/dwell-adjusted cost band out) posted as a direct reply in live TransportForum school-contract pricing threads, gated at the results screen by a £ |
| price | 39 |
| metric | Distinct UK operators who complete a £39 Stripe payment after hitting the third-calculation gate. |
| channel | TransportForum.com school transport contracts subforum, plus cold email to 150 named operators scraped from East Sussex, Leicestershire and Haringey DPS approved-supplier lists. |
| threshold | 6 paid operators from 150 cold emails plus forum posting, with at least 2 running a second session in a different week (proving return use, not novelty). |
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: Addressable market is functionally microscopic | The verdict survives its strongest objection, or it does not and you have learned that before spending. | arbitration |
| Answer the partial charge: Usage frequency doesn't support a paid recurring product | The verdict survives its strongest objection, or it does not and you have learned that before spending. | arbitration |
| Answer the upheld charge: The real bottleneck isn't cost estimation, it's route/vehicle optimization | 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 weekend clone | The verdict survives its strongest objection, or it does not and you have learned that before spending. | arbitration |
| Answer the partial charge: Referral partners have direct incentive to build this in-house | The verdict survives its strongest objection, or it does not and you have learned that before spending. | arbitration |
| Answer the partial charge: Cost-model liability and inaccuracy risk | The verdict survives its strongest objection, or it does not and you have learned that before spending. | arbitration |
| Answer the upheld charge: Free substitute already exists and is 'good enough' | 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 | 85 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 | presale |
| revenue model | None |
| churn monthly pct | None |
| cash to first dollar | 500 |
| marginal cost per unit | None |
What it costs to start
| capital blocked | False |
What has to be built
| data moat | None by default. If a feedback loop is added where users log actual won/lost bids and realized costs, a regional cost-calibration dataset could accumulate that a later entrant can't easily reconstruct — but this requires deliberate design and user participation, and is not automatic from usage alone. |
| components | Route input UI (postcodes, school, timetable, passenger/accessibility fields): risk: low; units: 2; Postcode geocoding integration: risk: low; units: 1; Multi-stop distance/duration engine (routing API + basic stop-sequencing heuristic): risk: med; units: 3; Cost model engine (vehicle class, driver wage, fuel, margin): risk: med; units: 3; Timetable feasibility check (drive time vs pickup/dropoff windows): risk: med; units: 2; Results/report UI with cost breakdown and verdict: risk: low; units: 2; Auth + accounts (Supabase): risk: low; units: 1; Stripe billing/subscription: risk: low; units: 2; Admin panel for updating fuel/wage benchmarks by region: risk: low; units: 1; Deployment/hosting ( |
| total units | 18 |
| hardest unknown | Whether generic routing-API drive times plus a generic cost model produce feasibility/price verdicts accurate enough for a real operator to trust and act on. There is no real bid-outcome data to calibrate against, and rural school-run postcodes are exactly where routing APIs are weakest (unclassified roads, missing turn restrictions, no allowance for actual pickup dwell time or SEN loading time). A wrong verdict that looks confident is worse than no tool. |
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: Distinct UK operators who complete a £39 Stripe payment after hitting the third-calculation gate. at 6 paid operators from 150 cold emails plus forum posting, with at least 2 running a second session in a different week (proving return use, not novelty).. 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.