TL;DR: why is the position reported by DNA testing companies for an SNP on a particular chromosome different than the one in dbSNP/SNPedia databases?
I'm analyzing the raw DNA exports for the same person from 2 different companies.
There is, as expected, a small number of discrepancies on the genotype reported.
Strangely, there is also a (smaller) number of discrepancies on the chromosome and position reported for the same SNP (about 0.02% of the rs-ids that are common to both exports).
Trying to find out who is right, I looked at SNPedia and dbSNP. To my surprise, while SNPedia and dbSNP (logically) agree on the positions, they never seem to match the positions reported in the raw DNA exports.
While the two companies that I used agree on the position in the vast majority of SNPs, they are apparently always different from dbSNP. In 75% of the 101 differences between the two companies, the position number only differs by 1.
I'm surprised by this and I feel that I'm missing some underlying piece of information.
What can explain these differences?
Does the "position" in the DNA exports from 23andme and MyHeritage represent some other biological property than the position reported by dbSNP/SNPedia? Or is there a conversion formula? Or is the information from the exports unreliable?