Answer in brief
Agency prices vary because category labels hide different outputs, risk positions, team structures, review depth, ownership terms and support periods. The same label is not evidence that two offers are substitutable.
Eighty-two labels, one hundred services
A category name is a promise of comparability. You click Integrations, you expect to see the integration options, and you expect to be able to tell them apart on price. The VIT MARKET catalogue — the services arm of the VITON13 platform — makes that promise 82 times over 100 listings, and keeps it about fifteen times.
The distribution is stark. Of the 82 distinct category labels, 67 sit above exactly one service. Twelve cover two services. Three cover three. Sixty-seven listings out of a hundred are therefore the only thing anyone will ever find under their own category name.
The disclosure that has to come before the arithmetic: VIT MARKET is VITON13's own storefront and VJOURNAL is VITON13's newsroom. Nothing below is written from memory. Every count is taken from data/vit-market-services.js, every English and Spanish label from the catalogue's own translation table in data/vit-market-service-locales.js, and every midpoint is the published floor plus the published ceiling divided by two. Interpretation is labelled as interpretation.
Every shelf is atomised, and one is completely so
Counting distinct labels inside each of the four groups: SEO, content and traffic uses 25 labels for its 25 services — a perfect one-to-one, not a single repeat anywhere in the group. Automation uses 24 for 25. AI for business uses 23. Web development, the least fragmented, still uses 22 labels for 25 listings.
Counting the other way, by listing: 20 of the 25 SEO services carry a label that appears nowhere else in the catalogue, along with 17 of 25 in automation, and 15 of 25 in each of web development and AI. Those four numbers add to the 67.
Our reading: in this catalogue a category is a description of a job rather than a class of jobs. It answers what is this, not what else is like this. That is a perfectly defensible way to build a catalogue — it just means the browse-by-category navigation is doing something other than what a buyer assumes it is doing.
The fifteen crowded labels, in full
Three labels hold three listings each. E-commerce: two web development builds and one SEO job, at midpoints of $1,650, $1,800 and $4,000. Monitoring: two automation jobs and one SEO job, at $130, $150 and $250. Sales: three AI listings, at $1,200, $1,500 and $2,350.
Twelve labels hold two listings each — Corporate websites, Migrations, Optimization, Localization, Integrations, Email, Content, Marketplaces, Analytics, Telegram bot, Document flow, and HR automation.
Twelve of those fifteen crowded labels span more than one group. Only three stay inside a single group: Corporate websites and Migrations, both entirely web development, and Sales, entirely AI. A label, in other words, is not a shelf. It is a word that can turn up on any shelf, which is why clicking it produces a list rather than a comparison.
The seven places where the AI shelf meets another shelf
Seven of the crowded labels put an AI-group listing next to a listing from a different group: Optimization, Localization, Integrations, Analytics, Telegram bot, Document flow, HR automation. In all seven, the AI listing is the more expensive of the pair. Not five of seven, not six. Seven.
The pairs, with published bands and midpoints. Integrations: “Application forms and payment acceptance on the website” at $250–$800, midpoint $525, against “Implementation of AI in existing CRM” at $1,000–$3,500, midpoint $2,250 — a factor of 4.3. Optimization: “Green PageSpeed and Core Web Vitals” at $200–$600, midpoint $400, against “Prompt audit and API bill reduction” at $800–$2,500, midpoint $1,650 — a factor of 4.1. Document flow: “Conveyor of closing documents: invoice, act, UPD in one click” at $250–$900, midpoint $575, against “Recognition of invoices, invoices and contracts into structured data” at $1,000–$3,500, midpoint $2,250 — 3.9.
Continuing: Analytics, “Setting up analytics, goals and summary dashboard” at $150–$600, midpoint $375, against “Analysis of customer feedback and search for real problems” at $700–$2,000, midpoint $1,350 — 3.6. HR automation, “Multi-posting of vacancies: one card - all sites” at $180–$500, midpoint $340, against “AI screening of resumes for a specific vacancy” at $600–$1,800, midpoint $1,200 — 3.5. Telegram bot, “Application acceptance bot: a form that writes itself to CRM and chat” at $150–$500, midpoint $325, against “AI assistant in Telegram for clients” at $500–$1,500, midpoint $1,000 — 3.1. Localization, “Multilingual version of the site” at $300–$900, midpoint $600, against “Translation and localization of content while maintaining tone” at $500–$1,800, midpoint $1,150 — 1.9.
Across the seven pairs the ratio has a median of 3.6 and a mean of 3.49. Six of the seven exceed 3.
One thing must be said before anyone reaches for the obvious conclusion: these are not the same job. A payment form and an AI layer inside a CRM share the word Integrations and nothing else. Screening résumés against a vacancy is not multi-posting a vacancy. The finding here is about the label, not about the work: for a buyer navigating by category name, the two listings under one word are separated by a median factor of 3.6, and the direction of that gap never once reverses. Whether that reflects harder work or a newer market is not something 100 rows of published prices can settle.
Four of those pairs also share a difficulty label
The catalogue offers a second axis that ought to narrow things down: every listing carries a difficulty tier, published in English as Beginner, Experienced or Advanced. Holding both labels constant should, in principle, produce comparable prices.
It does not. In four of the seven pairs the two listings carry identical tiers and the gap survives intact. Localization: both Experienced, 1.9x apart. Telegram bot: both Experienced, 3.1x. HR automation: both Experienced, 3.5x. Document flow: both Advanced, 3.9x.
Same category word, same difficulty word, and a price that still differs by up to nearly four times. Our reading is straightforward: the two structured fields a buyer can filter on do not, between them, define a price class. The field that actually explains the difference is the description — the only place where the catalogue says what you get — and no filter reads it.
The two labels that do behave like comparison classes
There are exceptions, and they are instructive because of how few they are.
Monitoring holds three listings that genuinely belong together: site uptime, SSL and domain expiry at $60–$200; weekly search-position reporting at $150; and a price watcher with instant Telegram alerts at $100–$400. All three are tagged Beginner. All three sit between $130 and $250 at the midpoint. The label spans two groups — automation twice, SEO once — yet reads as a single coherent shelf, and a buyer landing on it can meaningfully choose.
Sales holds three AI listings and behaves like a proper ladder: lead-by-lead email personalisation at $600–$1,800, AI lead scoring at $800–$2,200, and an AI agent for cold sales at $1,200–$3,500, climbing from Experienced to Advanced with midpoints of $1,200, $1,500 and $2,350.
Between them those two labels account for six of the catalogue's 100 listings. Everywhere else, the category is doing description rather than classification.
The Spanish edition has eighty-one shelves, not eighty-two
The catalogue ships in three editions, and the label set is not identical across them. Russian and English both carry 82 distinct categories with 67 singletons. Spanish carries 81 with 66, because one Spanish word covers two different source labels: Análisis absorbs both Аналитика (published in English as Analytics) and Парсинг (published as Parsing).
The practical effect is a shelf that exists in one language only. A Spanish-speaking buyer clicking Análisis finds three listings spanning three different groups — a competitor price-and-assortment scraper at $80–$300 from automation, an analytics and dashboard setup at $150–$600 from SEO, and customer-feedback analysis at $700–$2,000 from AI. An English-speaking buyer clicking Analytics finds two of those three; the scraper is filed under Parsing, alone.
This is a small thing with a large implication for the argument: a category is not a stable object. It is not even stable across the three renderings of one catalogue, let alone across two competing suppliers.
What a category label cannot tell you
A shared label is not evidence of a shared job, and this article does not treat it as such. Every pair above was read side by side before it was compared, and the descriptions differ substantially in most of them. What is being measured is the navigation, not the labour.
The seven-pair ratio is seven observations. A median of 3.6 across n=7 describes those seven price points and nothing beyond them. It is not a measured AI premium, it does not generalise to any other supplier, and treating it as a market rate would be an abuse of a small sample.
One data caveat sits directly inside the Monitoring cluster praised above. Of the 100 listings, exactly one has a numeric band whose floor and ceiling are identical — $150 and $150 — while its own display label reads “Setup $150–400”. That listing is the weekly position-monitoring service, the middle value of the three. Every midpoint in this article uses the numeric band, so it entered as $150 rather than $275.
And there is no demand data anywhere in this file. Which labels buyers actually search for, which listings sell, which never get a click — none of that is recorded. Sixty-seven singleton labels tell you how the catalogue was written; they say nothing about how it is read.
How to shop a catalogue with sixty-seven shelves of one
For a buyer, the working rule is to stop trusting the noun. If two quotes both say Integrations, the word has told you nothing; the deliverable list has told you everything. Ask what is included, what is excluded, and what the supplier would remove first if the budget were half. Where a category genuinely holds several options — as Monitoring and Sales do here — compare inside it. Where it holds one, treat the price as a single data point rather than a market rate, and go and find a second.
For a specialist, the same numbers read as positioning advice. Sixty-seven listings compete against nobody under their own name, which is comfortable and also invisible: a buyer with no comparison often postpones the decision rather than making it. The two labels that work as ladders — three tiers of Sales, three cheap tiers of Monitoring — are the ones that let someone choose without leaving. Building three rungs under one honest name may do more for conversion than adding three more names.
Decision framework: why agency prices vary
Agency prices vary because category labels hide different outputs, risk positions, team structures, review depth, ownership terms and support periods. The same label is not evidence that two offers are substitutable.
A valid comparison holds outcome and acceptance constant, then examines what explains the residual price gap. Comparing category names first rewards vague listings and penalises explicit ones.
Build a comparison row for outcome, evidence, deliverables, exclusions, dependencies, revisions, rights, warranty and support; ask each bidder to correct the row before ranking prices.
Practical checklist
- why agency prices vary: write the promised outcome and acceptance rule.
- why agency prices vary: record every exclusion, dependency and unresolved assumption.
- why agency prices vary: assign an owner and review date to evidence that can narrow the estimate.
- Build a comparison row for outcome, evidence, deliverables, exclusions, dependencies, revisions, rights, warranty and support; ask each bidder to correct the row before ranking prices.
Questions and answers
why agency prices vary: what should a buyer verify first?
Agency prices vary because category labels hide different outputs, risk positions, team structures, review depth, ownership terms and support periods. The same label is not evidence that two offers are substitutable. Build a comparison row for outcome, evidence, deliverables, exclusions, dependencies, revisions, rights, warranty and support; ask each bidder to correct the row before ranking prices.
why agency prices vary: which assumption changes the estimate most?
A valid comparison holds outcome and acceptance constant, then examines what explains the residual price gap. Comparing category names first rewards vague listings and penalises explicit ones.
why agency prices vary: what is the next practical step?
Build a comparison row for outcome, evidence, deliverables, exclusions, dependencies, revisions, rights, warranty and support; ask each bidder to correct the row before ranking prices.

