---
id: RF-MKT-002
title: Senales Premium
type: requirement
status: Draft
priority: High
epic: OQI-009
project: trading-platform
version: 1.0.0
dates:
  created: 2026-01-04
  updated: 2026-01-04
tags:
  - marketplace
  - signals
  - premium
  - ml
---

# RF-MKT-002: Senales Premium

## Descripcion

El modulo de Senales Premium permite a los usuarios adquirir paquetes adicionales de senales ML de alta confianza. Estas senales complementan las senales gratuitas del plan base, ofreciendo mayor precision y frecuencia.

## Objetivo

Monetizar el sistema de senales ML ofreciendo paquetes premium con senales de mayor calidad y confianza, con alertas personalizadas y historial completo.

## Tiers de Productos

### Basic Pack
| Caracteristica | Valor |
|----------------|-------|
| Senales incluidas | 50 |
| Precio | $9 USD |
| Tipo | One-time |
| Confidence minimo | 80% |
| Validez | 30 dias |

### Pro Pack
| Caracteristica | Valor |
|----------------|-------|
| Senales incluidas | 200 |
| Precio | $29 USD |
| Tipo | One-time |
| Confidence minimo | 80% |
| Validez | 60 dias |

### Unlimited
| Caracteristica | Valor |
|----------------|-------|
| Senales incluidas | Ilimitadas |
| Precio | $49/mes USD |
| Tipo | Subscription |
| Confidence minimo | 75% |
| Validez | Mientras suscrito |

## Funcionalidades

### Compra de Paquetes

```gherkin
Feature: Compra de Senales Premium

  Scenario: Comprar Basic Pack
    Given soy usuario con plan Free
    And tengo metodo de pago configurado
    When compro el Basic Pack por $9
    Then se procesan el pago
    And recibo 50 creditos de senales
    And puedo ver mis senales disponibles

  Scenario: Upgrade a Unlimited
    Given tengo Pro Pack con 50 senales restantes
    When me suscribo a Unlimited
    Then mis senales restantes se mantienen como bonus
    And tengo acceso ilimitado mientras este suscrito
```

### Consumo de Senales

```gherkin
Feature: Consumo de Senales Premium

  Scenario: Recibir senal premium
    Given tengo 30 creditos de senales
    And existe una senal con confidence 85%
    When la senal es generada
    Then recibo notificacion push
    And recibo email con detalles
    And se descuenta 1 credito

  Scenario: Sin creditos disponibles
    Given tengo 0 creditos de senales
    When se genera una senal premium
    Then no recibo la senal
    And recibo notificacion de creditos agotados
    And veo opcion de comprar mas
```

### Alertas Personalizadas

```gherkin
Feature: Alertas Personalizadas

  Scenario: Configurar preferencias de alertas
    Given tengo paquete de senales activo
    When configuro mis preferencias:
      | tipo     | valor           |
      | push     | habilitado      |
      | email    | habilitado      |
      | symbols  | BTC, ETH, SOL   |
      | min_conf | 85%             |
    Then solo recibo alertas que cumplan criterios

  Scenario: Alerta inmediata de senal
    Given tengo alertas push habilitadas
    When se genera senal para BTC con 90% confidence
    Then recibo push notification en < 30 segundos
    And el mensaje incluye simbolo, accion y precio
```

## Caracteristicas de Senales Premium

### Atributos de Senal

| Campo | Descripcion |
|-------|-------------|
| symbol | Par de trading (BTC/USDT) |
| action | BUY, SELL, HOLD |
| confidence | Porcentaje de confianza (75-100%) |
| entry_price | Precio de entrada sugerido |
| target_price | Precio objetivo |
| stop_loss | Stop loss recomendado |
| timeframe | Horizonte temporal |
| reasoning | Explicacion del modelo ML |

### Ejemplo de Senal

```json
{
  "id": "sig_abc123",
  "symbol": "BTC/USDT",
  "action": "BUY",
  "confidence": 87.5,
  "entry_price": 42150.00,
  "target_price": 43500.00,
  "stop_loss": 41200.00,
  "timeframe": "4h",
  "reasoning": "Breakout confirmado sobre resistencia con volumen alto",
  "generated_at": "2026-01-04T14:30:00Z",
  "expires_at": "2026-01-04T18:30:00Z"
}
```

## Historial de Senales

### Funcionalidades

- Ver todas las senales recibidas
- Filtrar por simbolo, fecha, resultado
- Estadisticas de performance
- Exportar a CSV

### Metricas Disponibles

| Metrica | Descripcion |
|---------|-------------|
| win_rate | % de senales exitosas |
| avg_profit | Profit promedio por senal |
| total_signals | Total de senales recibidas |
| best_signal | Senal mas rentable |

## Integracion con OQI-006-ml-signals

```mermaid
sequenceDiagram
    participant ML as OQI-006-ml-signals
    participant MKT as OQI-009-marketplace
    participant User as Usuario

    ML->>ML: Genera senal (conf > 80%)
    ML->>MKT: Notifica senal premium
    MKT->>MKT: Verifica usuarios con creditos
    MKT->>User: Envia notificacion push
    MKT->>User: Envia email
    MKT->>MKT: Descuenta credito
```

## Modelo de Datos

### Tabla: `signal_credits`

| Campo | Tipo | Descripcion |
|-------|------|-------------|
| id | UUID | Identificador unico |
| user_id | UUID | FK a users |
| product_id | UUID | FK a products |
| initial_amount | INT | Creditos iniciales |
| remaining_amount | INT | Creditos restantes |
| expires_at | TIMESTAMP | Fecha expiracion |
| created_at | TIMESTAMP | Fecha compra |

### Tabla: `signal_deliveries`

| Campo | Tipo | Descripcion |
|-------|------|-------------|
| id | UUID | Identificador unico |
| user_id | UUID | FK a users |
| signal_id | UUID | FK a ml_signals |
| credit_id | UUID | FK a signal_credits |
| delivered_at | TIMESTAMP | Fecha entrega |
| delivery_channel | ENUM | push, email, both |

## Reglas de Negocio

1. **RN-001**: Solo senales con confidence >= 80% son premium (75% para Unlimited)
2. **RN-002**: Creditos expiran segun validez del pack
3. **RN-003**: Suscripcion Unlimited se renueva automaticamente
4. **RN-004**: Al cancelar Unlimited, creditos restantes se mantienen
5. **RN-005**: Maximo 1 suscripcion Unlimited activa por usuario

## Criterios de Aceptacion

- [ ] Compra de paquetes Basic, Pro
- [ ] Suscripcion Unlimited con renovacion automatica
- [ ] Delivery de senales via push y email
- [ ] Configuracion de preferencias de alertas
- [ ] Historial completo de senales
- [ ] Dashboard de creditos disponibles
- [ ] Notificacion de creditos por agotarse

## Dependencias

- **OQI-006-ml-signals**: Generacion de senales
- **OQI-004-payments**: Procesamiento de pagos
- **OQI-007-notifications**: Envio de alertas

## Referencias

- [US-MKT-002: Comprar Senales](../historias-usuario/US-MKT-002-comprar-senales.md)
- [ET-MKT-001: Database](../especificaciones/ET-MKT-001-database.md)
