Adding one more view because all other answers seem to concentrate only on gTLDs while you mention at least one ccTLD (
.co) and also because there seems to be a huge misconception on the running costs and the differences between price and value.
The domain name industry is built nowadays, typically, but not always, around a registry/registrar split.
The registry can have multiple forms. While they are for profit organizations in the gTLD space, you can find other kind of organizations in the ccTLD space, like non-profit organizations, government bodies or public institutions like universities running the TLD.
Some have explicit goals of running "at cost": the registry price is adapted each year or so, typically going down, so that it covers just the cost of the running operations, and the left over is either re-invested or put aside like to finance other projects. Multiple ccTLDs (like
.FR to name a few) started Foundations or "Labs" type organization exactly for that. Sometimes it may even be a requirement in the contract between the registry and the government, since in the ccTLD case the delegation authority falls first to the local government that decides then how its TLD is run.
You also obviously have vastly different running models between a TLD that has millions of domain names and a TLD that has 1000 of them (as shocking as it may looks like, some small TLDs are basically just a spreadsheet with a list of domains, all managed manually...)
There have been attempts in the past of structures running differently, in part to lower costs. There were "alternate roots" in the past, and some still remains nowadays, like OpenNIC. There were also experiments like the ".42 Registry" but all of that leads nowhere really currently.
Registrars could technically have any kind of structure, even non-profit ones. But they still have to compete in the market with the same rules as others, they do not have any kind of benefit due to their statuses.
On the falsehood that a domain name is just one line in a database
This is seen over and over (even recently in a similar way by CloudFlare when entering the domain name business) and is a gross over simplification. It is a purely technically view on something that is not only technical.
And even on the technical aspect, it is wrong.
It probably comes from the fact that some people have seen that having a local TLD or domain name is as simple as starting a
nsd instance and setting up a zonefile. This is indeed very cheap.
But that is not similar in any way to running a real TLD.
- a registry needs to be accredited with ICANN, this has a fixed one-time cost plus yearly costs both fixed and per domain ($0.25 per yearly transaction per domain as soon as the registry has a certain amount of domains), and then other external ongoing costs like TMDB access or escrow operations
- for the 2012 wave of new TLDs, prospective registries had to pay a $185,000 entry fee just to apply for a TLD, without the guarantee of getting it; some contentions were even resolved by auctions, one still being heavily debated is
.WEB for which VeriSign, through a proxy, paid $135 millions to get it (http://domainincite.com/20820-verisign-likely-135-million-winner-of-web-gtld); Google paid $25 millions for
.APP, etc. You can find on https://newgtlds.icann.org/en/applicants/auctions/proceeds the current list of all auctions already done through ICANN (there may have been private actions and other out of ICANN agreements between parties)
- price caps were mostly removed by ICANN in the past (
.NET is a very specific case, and while the prices were kind of controlled in the past the new contract just signed in November 2018 will allow the registry to charge more for its domain names each year, see http://domainincite.com/23641-trump-gives-verisign-almost-1-billion-in-free-money for some background), so each registry is free to implement whatever pricing models it wants
- some registry use premiums, which means some domains have higher price already at the registry level either just for the first domain registration (and then renewals come back at standard price), or forever (first registrations plus all renewals "for life", like
- you typically also have a TLD starting in phases: first sunrise for trademark owners (with specific prices), then an
EAP sometimes where for a few days domain names are sold at a higher price to deter speculation, like over $10,000 for the first day, then going down to a few thousands in the next few days, then a few hundreds before stabilizing at the standard prices after a typical 5 or 7 days EAP period.
- a registrar needs to be accredited too with ICANN, and will again have one cost fees, and then yearly fees.
- in most cases it implies being covered by a sufficiently high premium insurance, and going through financial audits
- a registrar needs to be accredited with each specific registry it intends to sell TLDs of, this at least involves technical accreditation and may involve fees
- some registries work in a prepaid model: registrars have to send them money even before selling the first domain name, and have to top up their account in order to never reach 0 or else risking not to be able to do any more operations
So in summary for gTLDs there is a "baseline", a set of regulations and hence prices that will be paid similarly by all registries (but note that there are tiers even inside ICANN system, a registry with 100 domains will not pay the same yearly fees than a registry with 1 000 000 domains), but after that each registry is typically a corporation that is free to choose its pricing model, if it wants to have its "domain name" business line profitable by itself or if the costs are subsumed by other activities. Note also that many new gTLDs in 2012 are in fact "brand TLDs" which means often defensive registrations by trademarks owners, and those TLDs would not even be open to registrations and hence can never be profitable just by themselves as they do not create any income stream of money.
- things are "leaner" than the above, typically there are less upfront costs, but often some more restrictions (like needing to have a local presence), which means also incidental costs (trustee service or the need to go through a reseller)
- it happens that some registries bills monthly/yearly fees, irrespective to the activity and/or force registrars to have at least a given amount of operations per year to remain accredited. Even if that may be only a couple of hundred euros/dollars/etc. per month, it can add up, since it is per TLD.
In both cases, based on the highly competitive market, and in part due to the fact that domain name by itself is something not well understood (often confused with a website for example) and often not very useful just by itself, there is no anymore entities just selling domain names. They are selling a package that is either an email, or a website, or a certificate, or other products and services that depend on a domain name but not just a domain name
(at the very start of the gTLD openings in 1999-2000 they still were profitable companies selling just domain names and nothing aside, but that disappeared).
A registrar has to pay the registry price, and then sell the domain to final customers, so it will take a margin here, but it can decide to be more competitive on some TLDs than others. Note also that registries, even in ccTLD world, often create promotions where either domain names have a lower price (at the registry level, it may or may not be reflected at the registrar level) for some time, or the registrar gets a discount after the fact if its baseline volume of registrations improve, or many other schemes (like IDNs domain names being billed lower or DNSSEC-enabled domain names getting a discount).
Registries have to handle registrars in the same way, so a registry price will not vary among registrars (besides specific promotions or discounts).
Of course, you also have to take into account various trivial costs that may not be trivial in amount:
- for things to run, you need computers, electricity and Internet connections
- you also need humans to maintain them, to develop software, to pick up the phone to answer queries, to handle disputes, to do marketing, etc.
These points, and specifically the last one is often forgotten by people telling that a domain name is just a row in a database. They completely forget to see that basically each registry is a snowflake, and will need various technical and non-technical changes (EPP is often a standardized protocol used in the domain name industry but like any other standards it has the charm of being implemented slightly differently by everybody), and specific processes to follow (for accreditations, managing funds, communication maintenances, handling high level support, etc.)
In short, the above should show that there is a lot of costs that an entity has to recoup before having any kind of benefit on domain names. The strategy to remain profitable will obviously vary between actors and during time.
Both registries and registrars in the past went bankrupt at some point, so that can happen: RegisterFly (https://en.wikipedia.org/wiki/RegisterFly) is one of the earliest cases that created a lot of havoc and prompted many new policies to try protecting final registrants for cases like that, and some registries for example just decide to exit the business for their own personal reasons, and often probably tied to the expected running costs with low returns in image or others. See https://www.icann.org/resources/pages/gtld-registry-agreement-termination-2015-10-09-en for a list of currently terminated gTLDs (from the 2012 wave of new ones).
And on top of all of that, you may not necessarily go to a domain name registrar to buy a domain name. You can go to a reseller, or just acquire a domain name when you buy a hosting product from your webhoster, or an email, etc. In all those cases you are adding one entity more into the mix, and that entity will make you pay also for using its services.
On price versus value
You need to make sure not to confuse the two.
Domain names, like any other identifier used by humans, have semantic values or more precisely, people attach semantic values to them. While
ggf2381wew9.com may have the same price, they clearly do not have the same value nowadays.
This appears in at least two spots:
registries reserve some domain names as premiums because they detect (or fantasize) that some given names will attract more interest than others, and hence price them differently, which is then applied to registrars, which will apply their own margins on top of that
the second market, where current owners of a domain name try or agree to sell it to someone else: here, it happens mostly outside of registries and registrars involvement (while anyone can provide platforms to host such kind of activities), and the seller can choose any price it wants... as long as it finds a buyer to pay for it. So here the real "technical" price is completely irrelevant, the only thing that counts is what kind of value people put in a specific name. And gross mistakes happen in the past: like big companies deciding to launch a new product with a lot of advertisement even before bothering to check if the domain name exists already and often having to pay a big amount of money to current lucky owner to get it, or just deciding they want a specific name for any given new service or product, spending huge amount of money to get it and then basically never starting the expected service or product on top of it (technically any service could run on any name, for a computer,
ggf2381wew9.com are exactly the same and have the same "value", they are all finally mapped to IP addresses, but for humans the value is different).
Price versus value can really be a fascinating debate.
Registries are in a kind of dilemma:
- they have various costs to recoup, especially right at the beginning, so a domain name can not be sold below some kind of specific price
- but then if prices are too high, specifically at the beginning, it may hurt the TLD registration volumes,
- because as much as everyone agrees that other indicators than purely the volume should be viewed, in real life almost everyone looks at the volume, and renewal rates
- at the same time, a too low price (that some registries could afford if the activity is at loss on purpose and/or subsidized by other activities) may gave a bad image.
On the last point, in the past, one of the first experiment was
- in 2004 they started to give them basically for free;
- which had the consequences obviously to inflate the volume of the TLD (which could increase the valuation of the company in the eye of some investor) but also to attract all sort of non-advisable activities like spammers
- this gave all in all a very bad image (even in mainstream magazines, see this https://domainnamewire.com/2006/08/24/will-splogs-kill-info-domains/ that speaks about an article in Wired, or at governments level like https://domainnamewire.com/2012/02/15/australian-parliament-blocks-access-to-info/), and of course one year later .INFO lost a lot of its domains:
see https://domainnamewire.com/2005/07/25/get-ready-for-the-great-info-drop/ or at http://www.zooknic.com/Domains/counts.html you can view the spike from 1,449,363 domains on 2004-09-16 to 2,619,966 on 2004-10-14 and then one year later, at renewal time, the drop from 3,589,724 on 2005-09-18 to 2,645,307 on 2005-10-16
- so basically now registries know that they should not attempt such schemes at all anymore because it gives a little short term gain but a lot of long term problems
You can find for example on https://www.spamhaus.org/statistics/tlds/ regular ranking of TLDs based on their "badness", typically on the volume of spam (based on the TLD size) using that specific TLD. But note that such kind of rankings are rebutted by others: http://domainincite.com/20164-schilling-famous-four-rubbish-spamhaus-worst-tld-league
Note also that the length has (can have) an impact, as
xxxxxxxxxx.example (or is it
xxxxxxxxx.example?) may be seen as having different values. Which is also why one-letter and two-letter domain names are often premiums, or can be completely reserved.