A number of factors; barrel length, valve/transfer port design, weight of pellet used to determine the velocity and so on (typically 68*F is used as the temperature for testing, but whose to say one manufacturer or another doesn't use 75*F to 'up' the numbers a bit- not saying this occurs, but I don't recall any manufacturer specifying the temperature they used for testing, and most do not publish the exact pellet weight used).