Answer in brief
An expensive quote is not an outlier until scope, risk and acceptance are normalised. A higher total can represent more complete discovery, senior review, migration safety, rights or post-launch responsibility.
A rule that returns four rows out of a hundred
The VIT MARKET catalogue publishes 100 services, 25 in each of four groups, and every listing carries two published numbers: a price band in dollars and a delivery estimate. Divide the midpoint of the band by the midpoint of the estimate and you get an implied hourly rate. Nobody quotes that rate; it is what the two published figures, taken together, imply. Compute it for all 100 listings, take the median inside each group, then flag any listing sitting at or above twice its own group's median, or at or below half of it.
That rule returns four rows. Four in a hundred is the kind of result that looks trustworthy — rare enough to be worth reading, frequent enough to be real. This article reads all four. Not one of them turns out to be a service that charges too much or too little for the work it describes. Each is a sentence that says more than the arithmetic was able to hear, and the trait all four share is not something the rule was ever asked to look for.
The four numbers the rule measures against
The reference points are the group medians, each the middle value of 25 per-listing rates: SEO and content at 53.57 dollars an hour, web development at 47.06, automation at 25.00, AI implementation at 19.74. Every rate quoted in this article is a published price midpoint divided by a published duration midpoint, with day-denominated estimates converted at a declared eight hours per day. Nothing is estimated, and no figure is rounded before it is divided.
Against those four reference points the catalogue looks orderly. Seventy-three of the 100 listings sit between three quarters and four thirds of their own group's median — a dense cluster around a house rate that shifts from shelf to shelf. It is that background which makes four rows stand out, so it is worth naming them before explaining them.
The four, with the arithmetic that flagged them
Each is given with the catalogue's own English title, its stored price band, its published delivery estimate and the division that produced the flag.
Custom code for n8n/Make — 2.375 times its group median
Stored at 400 to 1,500 dollars and quoted as 1 to 3 days per module. The band's midpoint is 950 dollars; the estimate's midpoint is two days, which the eight-hour constant turns into 16 hours; 950 over 16 is 59.38 dollars an hour, against an automation median of 25.00.
Price guard: monitoring with instant alert in Telegram — 2.222 times
Stored at 100 to 400 dollars and quoted as 3 to 6 hours, with the line continuing "if you already have a parser - 1-2 hours on top". The arithmetic reads the first quantity and stops there: 250 dollars over 4.5 hours is 55.56 an hour.
SEO cards on Wildberries and Ozon — 2.053 times
Priced at 30 to 80 dollars per product card and quoted as 20 to 40 minutes per SKU after template customisation. A 55-dollar midpoint over half an hour is 110 dollars an hour — the highest implied rate anywhere in the catalogue — against an SEO median of 53.57.
Monitoring of positions with automatic report every week — 0.35 times
The only listing flagged for being too cheap by the hour. Its stored floor and ceiling are both 150 dollars, and its estimate reads "1 day to connect a client, then 0–30 minutes per week". One day becomes eight hours, 150 over 8 is 18.75 an hour, barely a third of its shelf's median.
What all four have in common was never part of the test
Every delivery estimate in the catalogue is parsed the same way: find the first quantity carrying a recognised unit, use it, and keep whatever text surrounds it as a qualifier. Thirty-nine of the 100 estimates leave text behind. Sixty-one do not — they are a bare quantity and nothing else: "8-14 hours", "5-10 working days", "2-4 hours".
All four flagged rows come from the 39. None comes from the 61. That is the finding, and it deserves to be stated as bluntly as it reads: a rule built to detect aberrant pricing selected a group of listings defined entirely by punctuation.
The spreads confirm it. Measured against their own shelf medians, the 61 bare estimates run from 0.51 times to 1.73 times — roughly a factor of three and a half between the cheapest implied hour and the dearest — and not one of them reaches either threshold. The 39 qualified estimates run from 0.35 to 2.38. That extra range is not evidence that prices grow stranger in the qualified half of the catalogue. It is what happens when a denominator is computed from part of a sentence.
Three of the four dissolve once the sentence is finished
Start with the Telegram price watchdog. Its estimate names two quantities: three to six hours, and a further one to two hours attached to a condition. Add them and the range becomes four to eight hours, midpoint six; 250 dollars over six hours is 41.67 an hour, or 1.67 times the automation median — comfortably inside the band. The price did not move. A clause got counted.
Then the weekly rank monitor, the only listing flagged as too cheap. Its stored floor and ceiling are both 150, which makes it the single fixed price in the catalogue, while its own written label reads "Setup $150–400" and its rouble label reads "Setup 10,000–25,000 ₽, then a subscription". Use the label's own ceiling and the midpoint becomes 275 dollars, the rate becomes 34.38 an hour and the ratio becomes 0.64 — unflagged. The 0.35 is downstream of a missing ceiling rather than of a cheap service, and the words "then a subscription" mean the published figure was never the whole price anyway.
Then the custom n8n module. Its qualifier is the phrase "per module", and its rouble label agrees: 20,000 to 70,000 ₽ per module. Price and duration are counted in the same unit, so the row's internal arithmetic is consistent. What is inconsistent is the comparison. Its shelf median is drawn largely from listings that price a whole job in calendar days. Compare it instead against the automation median computed only from hour-denominated listings — 34.17 dollars, published in the same dataset — and the ratio falls to 1.74.
The one that survives, and by how little
Marketplace card SEO is the only one of the four whose flag reflects something real about the offer. Its price and its estimate share a unit — 30 to 80 dollars per card, 20 to 40 minutes per SKU — so 110 dollars an hour is a genuine marginal rate: the rate at which the twentieth card gets written, once everything that makes the twentieth card fast already exists.
What it is not is a project rate, and the listing says so itself. The minutes apply "after template customisation". That step is named in the sentence and appears nowhere else in the record — not in the price band, not in the duration, not in any field a statistic can reach. The 110 is arithmetic over the marginal unit and silence over the fixed cost that comes before it.
It also clears the line by very little. Twice the SEO median is 107.14 dollars; the listing computes to exactly 110.00, under three per cent above. Move the price midpoint by two dollars, or the estimate by a couple of minutes, and the catalogue's one substantive outlier stops being one.
Move the line and the population changes completely
The two-times rule is a choice, not a discovery, and this catalogue is unusually sensitive to where the line is drawn. At 1.5 times and 0.67 times, 15 listings qualify. At 2 and 0.5, four. At 2.5 and 0.4, exactly one — the rank monitor whose ceiling is missing from its own record. At 3 and 0.33, none at all.
A distribution that empties completely between 2.5 and 3 has no genuinely extreme members. It has a dense middle and a handful of rows whose denominators were built out of truncated sentences. That is a description of a consistently priced catalogue, which is close to the opposite of what the word outlier leads a reader to expect.
What this arithmetic cannot tell you
It cannot say what anyone actually charged. Nothing in this data records an hour worked, an invoice raised or a discount given. Every rate here is the ratio of two published estimates, and an estimate is a promise about a job that has not started.
The eight-hour day is a declared constant, adopted so that day-quoted and hour-quoted work could be compared at all. It is not a measurement of anyone's working day, and every rate derived through it moves inversely with it: if the hands-on share of a quoted day were four hours rather than eight, every day-denominated rate in this article would double, including two of the four flagged rows.
The qualifier flag is binary as well. It records that a sentence carried text beyond its first quantity; it cannot tell whether that text adds hours, restates the unit, or describes something which is not time at all. Sorting the 39 meant reading them one by one, which is a judgement, and it is offered here as one.
The question worth asking instead
For anyone comparing quotes, the useful move is not to hunt for outliers. It is to read the estimate to the end and check whether the price and the duration are counting the same object. Three of these four rows fail that test in three different ways: one hides a second quantity inside its own sentence, one has a missing ceiling and an unpriced subscription, one prices a module against a shelf full of whole jobs.
The fourth passes it and is still not comparable with anything else on its shelf, because the step that makes its unit fast is never priced. That is the pattern worth carrying into a procurement conversation. When a published rate looks unusual, the money is almost never the anomaly. The unit is.
Decision framework: whether an agency quote is too expensive
An expensive quote is not an outlier until scope, risk and acceptance are normalised. A higher total can represent more complete discovery, senior review, migration safety, rights or post-launch responsibility.
The correct question is which cost driver is absent from the cheaper offer and whether it matters to this project. Dividing totals by guessed hours produces precision without comparable inputs.
Ask both suppliers to price the same acceptance scenario and list optional risk controls separately; investigate any remaining gap through team, evidence and responsibility rather than a generic hourly rate.
Practical checklist
- whether an agency quote is too expensive: write the promised outcome and acceptance rule.
- whether an agency quote is too expensive: record every exclusion, dependency and unresolved assumption.
- whether an agency quote is too expensive: assign an owner and review date to evidence that can narrow the estimate.
- Ask both suppliers to price the same acceptance scenario and list optional risk controls separately; investigate any remaining gap through team, evidence and responsibility rather than a generic hourly rate.
Questions and answers
whether an agency quote is too expensive: what should a buyer verify first?
An expensive quote is not an outlier until scope, risk and acceptance are normalised. A higher total can represent more complete discovery, senior review, migration safety, rights or post-launch responsibility. Ask both suppliers to price the same acceptance scenario and list optional risk controls separately; investigate any remaining gap through team, evidence and responsibility rather than a generic hourly rate.
whether an agency quote is too expensive: which assumption changes the estimate most?
The correct question is which cost driver is absent from the cheaper offer and whether it matters to this project. Dividing totals by guessed hours produces precision without comparable inputs.
whether an agency quote is too expensive: what is the next practical step?
Ask both suppliers to price the same acceptance scenario and list optional risk controls separately; investigate any remaining gap through team, evidence and responsibility rather than a generic hourly rate.

