It is not the formatting that "reduces" the raw size as they were that small to begin with.
There are two systems for calculating file system sizes. One is based on base-10 and the other is base-2.
CODE
| Base-10 | Base-2
---------+----+-------------+-------------------------+-----+------------+------------------------
kilobyte | kB | 10^3 bytes | 1,000 bytes | KiB | 2^10 bytes | 1,024 bytes
megabyte | MB | 10^6 bytes | 1,000,000 bytes | MiB | 2^20 bytes | 1,048,576 bytes
gigabyte | MB | 10^9 bytes | 1,000,000,000 bytes | GiB | 2^30 bytes | 1,073,741,824 bytes
terabyte | TB | 10^12 bytes | 1,000,000,000,000 bytes | TiB | 2^40 bytes | 1,099,511,627,776 bytes
HDD and SSD manufacturers uses base-10 when working with storage capacity numbers. To them, 120GB = 120,000,000,000 bytes. Windows and Linux however uses base-2 when working with data. To them, 120GiB = 120 x 2^30 bytes = 128,849,018,880 bytes. The OSX of Apple however changed their definition a few years ago to use base-10 when calculating file system sizes a few years back. To OSX, 120GB = 120,000,000,000 bytes, so it may report to you 120GB but you don't actually "regained" the "lost" capacity.
So where the 93% came from? 120,000,000,000 bytes / 128,849,018,880 bytes = 93% and this is before you even touched the device. This ratio is also non-linear, slowly changing as storage increases. 1000 bytes / 1024 bytes = 97.6% and 1TB / 1TiB = 90%. You will also lose a bit more after formatting for the actual formatted file system overheads.
Using this information, a 120GB SSD will have 120,000,000,000 bytes, which converts to 111.75GiB and that 111GiB is what your Windows OS will use when reporting to you. You can work out the values for the others, as this is only high school maths. However, there can be technical issues that alters the actual raw capacity. For example, OCZ's new SSDs based on the 25nm NAND Flash process will have an even
smaller raw capacity.