$WP_array = array (
//'ID' => $a['members_id'],
'user_pass' => $a['members_password'],
'user_login' => $a['members_username'],
'user_nicename' => $a['members_username'],
'user_email' => $a['members_email'],
'display_name' => $a['members_username'],
'nickname' => $a['members_username'],
'first_name' => $a['members_firstname'],
'last_name' => $a['members_lastname'],
'description' => 'This user was imported',
) ;
$id = wp_insert_user( $WP_array ) ;
wp_update_user( array ('ID' => $id, 'role' => 'affiliate' ) ) ;
Worked for me…. Note that even though the role is called Affiliates it was actually affiliate in the list of roles.