(Ultimately from here.)
jet:~ $ history | awk '{a[$2]++} END{for(i in a){printf "%5d\t%s\n ",a[i],i}}' | sort -rn | head
8906 ls
8441 cd
5230 vi
3902 date
3671 fg
1379 svn
1236 make
1143 ssh
1052 mplayer
755 cal
Looks pretty accurate to me, although I’m surprised mplayer is that high in the list.