Desarrollo de Métodos para Calcular Rentabilidad y Segmentar Clientes Inversores

Clasificado en Economía

Escrito el en español con un tamaño de 2,93 KB

Gestión de Productos e Inversiones: Implementación de Lógica de Negocio

Actualización de la Rentabilidad de un Producto

A continuación, se presenta la lógica para actualizar el porcentaje de rentabilidad de un producto específico, asegurando que el nuevo valor se encuentre dentro del rango permitido (1% a 100%).


if nuevo_porcentaje < 1 or nuevo_porcentaje > 100:  # Verifica que esté en el rango permitido
    return False

for producto in self.productos:  # Busca el producto por identificador
    if producto.id == identificador:
        producto.rentabilidad = nuevo_porcentaje  # Actualiza la rentabilidad
        return True  # Retorna éxito si se actualizó

return False  # Retorna False si no se encontró el producto

Cálculo del Promedio de Rentabilidad de Inversiones por Cliente

3# Calcular el promedio de rentabilidad de los productos de un cliente. Este método calcula el promedio de rentabilidad de los productos en los que un cliente ha invertido.

Método: promedio_rentabilidad_cliente(self, cedula)


def promedio_rentabilidad_cliente(self, cedula):
    total_rentabilidad = 0  # Variable acumuladora de rentabilidades
    cantidad_productos = 0  # Contador de productos en los que ha invertido el cliente
    
    for inversion in self.inversiones:  # Recorre todas las inversiones
        if inversion.cliente.cedula == cedula:  # Verifica si la inversión pertenece al cliente
            total_rentabilidad += inversion.producto.rentabilidad  # Suma la rentabilidad del producto
            cantidad_productos += 1  # Aumenta el contador de productos
            
    if cantidad_productos > 0:  # Si el cliente tiene inversiones, calcula el promedio
        return total_rentabilidad / cantidad_productos
    else:
        return 0  # Si no tiene inversiones, retorna 0

Filtro de Clientes por Tipo de Producto y Rentabilidad Mínima

4# Obtener clientes que han invertido en productos de cierto tipo y rentabilidad. Este método devuelve una lista de clientes que han invertido en productos de un tipo específico y cuya rentabilidad mensual sea superior a un porcentaje dado.

Método: clientes_por_tipo_y_rentabilidad(self, tipo_producto, porcentaje_minimo)


def clientes_por_tipo_y_rentabilidad(self, tipo_producto, porcentaje_minimo):
    clientes_validos = set()  # Se usa un conjunto (set) para evitar duplicados
    
    for inversion in self.inversiones:  # Recorre todas las inversiones
        producto = inversion.producto  # Obtiene el producto de la inversión
        
        if producto.tipo == tipo_producto and producto.rentabilidad > porcentaje_minimo:
            clientes_validos.add(inversion.cliente)  # Agrega al cliente si cumple la condición
            
    return list(clientes_validos)  # Retorna la lista de clientes únicos

Entradas relacionadas: