Automatically Upgrade Membership Level

I would like to write a cron job (in functions.php) that finds users meeting certain criteria (criteria resides in multiple database tables) and automatically upgrades their membership level. I know that this can be done in bulk manually, but obviously want a solution that does this automatically on a certain schedule.
Is there a hook where you can easily change a user's membership level?
Or, can you simply alter a field in the wp_usermeta table to accomplish this? So far my attempts at going this route have not been successful. Before writing the function, I attempted a test via a MySQL Update Query, but this did not work:
Is there a hook where you can easily change a user's membership level?
Or, can you simply alter a field in the wp_usermeta table to accomplish this? So far my attempts at going this route have not been successful. Before writing the function, I attempted a test via a MySQL Update Query, but this did not work:
/* Update Member Level When Application Submitted */
UPDATE wp_usermeta
INNER JOIN wp_users ON wp_usermeta.user_id = wp_users.ID
LEFT JOIN wp_frm_items ON wp_usermeta.user_id = wp_frm_items.user_id
LEFT JOIN wp_frm_item_metas ON wp_frm_items.id = wp_frm_item_metas.item_id
SET wp_usermeta.meta_value = 'a:1:{s:15:"s2Member_level1";s:1:"1";}'
WHERE wp_usermeta.meta_value = 'a:1:{s:10:"subscriber";s:1:"1";}'
AND wp_frm_item_metas.meta_value = 'Lock my application and submit.'