Most tactics trainers (CT ART, even the chess.com trainer) have some system of assigning you a number based on your success %age. It's just a number that gets higher as you do better ... there's no baseline rule to make it "map" to the ELO/USCF system, in fact I think it's a little devious that they pick our lovable 0-2800 scale to do this! Why not just 0-800? or 0-1000? I'm sure the software developers are fully aware that armchair chess narcissists out there like to get the warm fuzzies to see a near-2000 number pasted next to their name, when their actual chess rating may be far lower. I remember when I was a 1300 USCF and saw a 2000+ score during my C.T.ART practice; I felt I was a tactical wizard! Though at the OTB tournament next week, reality made its presence felt and I realized that I had a long way to go before my actual rating would even get close. I'm presently 1700 USCF and these days I'm less swayed by "test your Chess" quizzes that tell me that I'm seeing shots like a 2200+ player. Yeah right :)
It makes little sense to attempt to correlate this number, or even aptitude at puzzle solving to something much more comprehensive like OTB playing skill. That's like saying that being good at Mario Kart should imply you're evidently trained enough to enter the Formula one circuit.
I commonly train using my program "Chess Tactics for Intermediate Players", and do their tests to get an estimated rating. It keeps saying I preform above 2000 but i'm only a 1600 player in the USCF. Are all tactics programs like this?