meta_value_num sort glitch

You want natural order sorting,

Example;

$val = array(5.1, 5.11, 5.12, 5.2, 5.21);
natsort($val);
foreach ($val as $key => $val) {
    echo $val."<br>";
}

Produces:

5.1
5.2
5.11
5.12
5.21

Where as;

$val = array(5.1, 5.11, 5.12, 5.2, 5.21);
asort($val);
foreach ($val as $key => $val) {
    echo $val."<br>";
}

Produces:

5.1
5.11
5.12
5.2
5.21

Solution

$loop = new WP_Query(array(
    'factsheet_category' => $term->slug,
    'orderby' => 'meta_value meta_value_num', //addition of meta_value before meta_value_num
    'meta_key' => 'factsheet_id', 
    'order' => 'ASC'
));