diff --git src/bp-core/bp-core-taxonomy.php src/bp-core/bp-core-taxonomy.php
index 673259d..8f93e44 100644
--- src/bp-core/bp-core-taxonomy.php
+++ src/bp-core/bp-core-taxonomy.php
@@ -21,7 +21,7 @@ defined( 'ABSPATH' ) || exit;
  */
 function bp_register_default_taxonomies() {
 	// Member Type.
-	register_taxonomy( 'bp_member_type', 'user', array(
+	register_taxonomy( bp_get_member_type_tax_name(), 'user', array(
 		'public' => false,
 	) );
 
diff --git src/bp-core/classes/class-bp-user-query.php src/bp-core/classes/class-bp-user-query.php
index 95aab0c..6e99b76 100644
--- src/bp-core/classes/class-bp-user-query.php
+++ src/bp-core/classes/class-bp-user-query.php
@@ -780,7 +780,7 @@ class BP_User_Query {
 
 		$tax_query = new WP_Tax_Query( array(
 			array(
-				'taxonomy' => 'bp_member_type',
+				'taxonomy' => bp_get_member_type_tax_name(),
 				'field'    => 'name',
 				'operator' => $operator,
 				'terms'    => $types,
@@ -788,7 +788,7 @@ class BP_User_Query {
 		) );
 
 		// Switch to the root blog, where member type taxonomies live.
-		$site_id  = bp_get_taxonomy_term_site_id( 'bp_member_type' );
+		$site_id  = bp_get_taxonomy_term_site_id( bp_get_member_type_tax_name() );
 		$switched = false;
 		if ( $site_id !== get_current_blog_id() ) {
 			switch_to_blog( $site_id );
diff --git src/bp-members/bp-members-cache.php src/bp-members/bp-members-cache.php
index 49b4b50..4dea407 100644
--- src/bp-members/bp-members-cache.php
+++ src/bp-members/bp-members-cache.php
@@ -20,7 +20,7 @@ defined( 'ABSPATH' ) || exit;
 function bp_members_prefetch_member_type( BP_User_Query $bp_user_query ) {
 	$uncached_member_ids = bp_get_non_cached_ids( $bp_user_query->user_ids, 'bp_member_member_type' );
 
-	$member_types = bp_get_object_terms( $uncached_member_ids, 'bp_member_type', array(
+	$member_types = bp_get_object_terms( $uncached_member_ids, bp_get_member_type_tax_name(), array(
 		'fields' => 'all_with_object_id',
 	) );
 
diff --git src/bp-members/bp-members-functions.php src/bp-members/bp-members-functions.php
index 8ee5a6d..28ea7bf 100644
--- src/bp-members/bp-members-functions.php
+++ src/bp-members/bp-members-functions.php
@@ -2506,6 +2506,33 @@ function bp_get_displayed_user() {
 /** Member Types *************************************************************/
 
 /**
+ * Output the slug of the member type taxonomy.
+ *
+ * @since 2.7.0
+ */
+function bp_member_type_tax_name() {
+	echo bp_get_member_type_tax_name();
+}
+
+	/**
+	 * Return the slug of the member type taxonomy.
+	 *
+	 * @since 2.7.0
+	 *
+	 * @return string The unique member taxonomy slug.
+	 */
+	function bp_get_member_type_tax_name() {
+		/**
+		 * Filters the slug of the member type taxonomy.
+		 *
+		 * @since 2.7.0
+		 *
+		 * @param string $value Member type taxonomy slug.
+		 */
+		return apply_filters( 'bp_get_member_type_tax_name', 'bp_member_type' );
+	}
+
+/**
  * Register a member type.
  *
  * @since 2.2.0
@@ -2676,7 +2703,7 @@ function bp_set_member_type( $user_id, $member_type, $append = false ) {
 		return false;
 	}
 
-	$retval = bp_set_object_terms( $user_id, $member_type, 'bp_member_type', $append );
+	$retval = bp_set_object_terms( $user_id, $member_type, bp_get_member_type_tax_name(), $append );
 
 	// Bust the cache if the type has been updated.
 	if ( ! is_wp_error( $retval ) ) {
@@ -2712,7 +2739,7 @@ function bp_remove_member_type( $user_id, $member_type ) {
 		return false;
 	}
 
-	$deleted = bp_remove_object_terms( $user_id, $member_type, 'bp_member_type' );
+	$deleted = bp_remove_object_terms( $user_id, $member_type, bp_get_member_type_tax_name() );
 
 	// Bust the cache if the type has been removed.
 	if ( ! is_wp_error( $deleted ) ) {
@@ -2747,7 +2774,7 @@ function bp_get_member_type( $user_id, $single = true ) {
 	$types = wp_cache_get( $user_id, 'bp_member_member_type' );
 
 	if ( false === $types ) {
-		$types = bp_get_object_terms( $user_id, 'bp_member_type' );
+		$types = bp_get_object_terms( $user_id, bp_get_member_type_tax_name() );
 
 		if ( ! is_wp_error( $types ) ) {
 			$types = wp_list_pluck( $types, 'name' );
diff --git src/bp-members/classes/class-bp-members-admin.php src/bp-members/classes/class-bp-members-admin.php
index 1493087..446eef6 100644
--- src/bp-members/classes/class-bp-members-admin.php
+++ src/bp-members/classes/class-bp-members-admin.php
@@ -215,6 +215,23 @@ class BP_Members_Admin {
 				add_filter( 'set-screen-option',    array( $this, 'signup_screen_options' ), 10, 3 );
 			}
 		}
+
+		/** Users List - Members Types ***************************************
+		 */
+
+		if ( is_admin() && ! empty( bp_get_member_types() ) ) {
+
+			// Add "Change type" select WP admin users list table and process bulk members type changes.
+			add_action( 'restrict_manage_users', array( $this, 'users_table_output_type_change_select' ) );
+			add_action( 'load-users.php',        array( $this, 'users_table_process_bulk_type_change'  ) );
+
+			// Add the member type column to the WP admin users list table.
+			add_filter( 'manage_users_columns',       array( $this, 'users_table_add_type_column'    )        );
+			add_filter( 'manage_users_custom_column', array( $this, 'users_table_populate_type_cell' ), 10, 3 );
+
+			// Filter WP admin users list table to include users of the specified type.
+			add_filter( 'pre_get_users', array( $this, 'users_table_filter_by_type' ) );
+		}
 	}
 
 	/**
@@ -1905,6 +1922,7 @@ class BP_Members_Admin {
 	 * @since 2.0.0
 	 *
 	 * @param string $action Delete, activate, or resend activation link.
+	 *
 	 * @return string
 	 */
 	public function signups_admin_manage( $action = '' ) {
@@ -2032,5 +2050,213 @@ class BP_Members_Admin {
 
 		<?php
 	}
+
+	/** Users List Management ****************************************************/
+
+	/**
+	 * Display a dropdown to bulk change the member type of selected user(s).
+	 *
+	 * @since 2.7.0
+	 *
+	 * @param string $which Where this dropdown is displayed - top or bottom.
+	 */
+	public function users_table_output_type_change_select( $which ) {
+		$id_name = 'bottom' === $which ? 'bp_change_type2' : 'bp_change_type';
+
+		// Bail if current user cannot promote users.
+		if ( ! current_user_can( 'promote_users' ) ) {
+			return;
+		}
+
+		$types = bp_get_member_types( array(), 'objects' ); ?>
+
+		<label class="screen-reader-text" for="<?php echo $id_name; ?>"><?php _e( 'Change member type to&hellip;', 'buddypress' ) ?></label>
+		<select name="<?php echo $id_name; ?>" id="<?php echo $id_name; ?>" style="display:inline-block;float:none;">
+			<option value=""><?php _e( 'Change member type to&hellip;', 'buddypress' ) ?></option>
+
+			<?php foreach( $types as $type ) : ?>
+
+				<option value="<?php echo esc_attr( $type->name ); ?>"><?php echo $type->labels['name']; ?></option>
+
+			<?php endforeach; ?>
+
+		</select>
+		<?php
+		wp_nonce_field( 'bp-bulk-users-change-type-' . bp_loggedin_user_id(), 'bp-bulk-users-change-type-nonce' );
+		submit_button( __( 'Change', 'buddypress' ), 'button', 'bp_change_member_type', false );
+	}
+
+	/**
+	 * Process bulk member type change submission from the WP admin users list table.
+	 *
+	 * @since 2.7.0
+	 */
+	public function users_table_process_bulk_type_change() {
+		$this->users_type_change_notice();
+
+		// Bail if no users specified.
+		if ( empty( $_REQUEST['users'] ) ) {
+			return;
+		}
+
+		// Bail if this isn't a BuddyPress action.
+		if ( ( empty( $_REQUEST['bp_change_type'] ) && empty( $_REQUEST['bp_change_type2'] ) )
+			|| empty( $_REQUEST['bp_change_member_type'] )
+		) {
+			return;
+		}
+
+		// Bail if nonce check fails.
+		check_admin_referer( 'bp-bulk-users-change-type-' . bp_loggedin_user_id(), 'bp-bulk-users-change-type-nonce' );
+
+		// Bail if current user cannot promote users.
+		if ( ! current_user_can( 'promote_users' ) ) {
+			return;
+		}
+
+		// Bail if the new type is empty.
+		$new_type = '';
+		if ( ! empty( $_REQUEST['bp_change_type2'] ) ) {
+			$new_type = sanitize_text_field( $_REQUEST['bp_change_type2'] );
+		} elseif ( ! empty( $_REQUEST['bp_change_type'] ) ) {
+			$new_type = sanitize_text_field( $_REQUEST['bp_change_type'] );
+		}
+		if ( empty( $new_type ) ) {
+			return;
+		}
+
+		// Check that the selected type actually exists.
+		if ( is_null( bp_get_member_type_object( $new_type ) ) ) {
+			return;
+		}
+
+		// Run through user ids.
+		$error = false;
+		foreach ( (array) $_REQUEST['users'] as $user_id ) {
+			$user_id = (int) $user_id;
+
+			// Get the old member type to check against.
+			$user_type = bp_get_member_type( $user_id );
+
+			// Set the new member type.
+			if ( $new_type !== $user_type ) {
+				$set = bp_set_member_type( $user_id, $new_type );
+				if ( empty( $set ) || is_wp_error( $set ) ) {
+					$error = true;
+				}
+			}
+		}
+
+		// If there were any errors, show the error message.
+		if ( $error ) {
+			$redirect = add_query_arg( array( 'updated' => 'member-type-change-error' ), wp_get_referer() );
+		} else {
+			$redirect = add_query_arg( array( 'updated' => 'member-type-change-success' ), wp_get_referer() );
+		}
+
+		wp_redirect( $redirect );
+		exit();
+	}
+
+	/**
+	 * Display an admin notice upon member type bulk update.
+	 *
+	 * @since 2.7.0
+	 */
+	public function users_type_change_notice() {
+		$updated = isset( $_REQUEST['updated'] ) ? $_REQUEST['updated'] : false;
+
+		// Display feedback.
+		if ( ! empty( $updated ) && in_array( $updated, array( 'member-type-change-error', 'member-type-change-success' ) ) ) {
+
+			if ( 'member-type-change-error' === $updated ) {
+				$notice = __( 'There was an error while changing member type. Please try again.', 'buddypress' );
+			} else {
+				$notice = __( 'Member type was successfully changed.', 'buddypress' );
+			}
+
+			bp_core_add_admin_notice( $notice );
+		}
+	}
+
+	/**
+	 * Add member type column to the WordPress admin users list table.
+	 *
+	 * @since 2.7.0
+	 *
+	 * @param array $columns Users table columns.
+	 *
+	 * @return array $columns
+	 */
+	public function users_table_add_type_column( $columns = array() ) {
+		$columns[ bp_get_member_type_tax_name() ] = _x( 'Member Type', 'Label for the WP users table member type column' , 'buddypress' );
+
+		return $columns;
+	}
+
+	/**
+	 * Return member's type for display in the WP admin users list table.
+	 *
+	 * @since 2.7.0
+	 *
+	 * @param string $retval
+	 * @param string $column_name
+	 * @param int $user_id
+	 *
+	 * @return string Member type as a link to filter all users.
+	 */
+	public function users_table_populate_type_cell( $retval = '', $column_name = '', $user_id = 0 ) {
+		// Only looking for member type column
+		if ( bp_get_member_type_tax_name() !== $column_name ) {
+			return $retval;
+		}
+
+		// Get the member type.
+		$type = bp_get_member_type( $user_id );
+
+		// Translate user role for display.
+		if ( $type_obj = bp_get_member_type_object( $type ) ) {
+
+			$url = add_query_arg( array( 'bp-member-type' => urlencode( $type ) ) );
+			// @TODO: Will `translate_user_role()` do anything here? Or can we assume that the singular name is translated?
+			$retval = '<a href="' . esc_url( $url ) . '">' . translate_user_role( $type_obj->labels['singular_name'] ) . '</a>';
+		}
+
+		return $retval;
+	}
+
+	/**
+	 * Filter WP Admin users list table to include users of the specified type.
+	 *
+	 * @param WP_Query $query
+	 *
+	 * @since 2.7.0
+	 */
+	public function users_table_filter_by_type( $query ) {
+		global $pagenow;
+
+		if ( is_admin() && 'users.php' === $pagenow && ! empty( $_REQUEST['bp-member-type'] ) ) {
+			$type_slug = sanitize_text_field( $_REQUEST['bp-member-type'] );
+
+			// Check that the type is registered.
+			if ( is_null( bp_get_member_type_object( $type_slug ) ) ) {
+				return;
+			}
+
+			// @TODO: Would it be better to use BP_User_Query with the member_type param here?
+			// Get the list of users that are assigned to this member type.
+			$type = get_term_by( 'slug', $type_slug, bp_get_member_type_tax_name() );
+
+			if ( ! $type->term_id ) {
+				return;
+			}
+
+			$user_ids = get_objects_in_term( $type->term_id, bp_get_member_type_tax_name() );
+
+			if ( $user_ids && ! is_wp_error( $user_ids ) ) {
+				$query->set( 'include', (array) $user_ids );
+			}
+		}
+	}
 }
 endif; // End class_exists check.
