Happy Lemon Marketing

Metodología

El cerebro detrás del pulso de Marina del Pilar Ávila Olmeda — IA, neurociencia, psicología social y fórmulas que sostienen cada métrica.

Metodología propietaria · Happy LemonAcceso licenciado a gob-demoHL-GOB-DEMO-W6OWID

Cómo está construida esta plataforma

Cinco disciplinas operando juntas. Una sola pantalla.

Un dashboard convencional muestra alcance, frecuencia y CTR. Eso sirve, pero no explica por qué una persona apoya, critica o ignora. Esa diferencia es la que decide elecciones, y los números crudos no la dan por sí solos.

Esta herramienta combina inteligencia artificial, marketing estratégico, data science, neurociencia aplicada y psicología social. La salida no es un reporte; es un punto de decisión con fundamento empírico.

Disciplinas integradas

5

IA · Marketing · Data Science · Neurociencia · Psicología Social

Fuentes de datos

9+

Meta Ads, Page Insights, Brandwatch, NewsAPI, scraping, sitios

Modelos AI activos

4

Clasificación, sentiment, clustering, síntesis

Latencia max objetivo

< 60s

Refresh del pulso live tras cualquier cambio

Las cinco disciplinas

Cada una resuelve algo distinto. Juntas hacen la diferencia.

El cerebro central

Inteligencia Artificial

  • Clasificación de comentarios y menciones (sentimiento + tema)
  • Detección de bot brigades y comentarios genuinos
  • Síntesis de observaciones del observatorio en tiempo real
  • Embeddings para búsqueda semántica de contexto
  • Validación de arquetipos contra audiencia real

Posicionamiento y narrativa

Marketing Estratégico

  • Frecuencia óptima por campaña (curva de Krugman 3+ exposiciones)
  • Share of voice vs bloque comparable
  • Modelo de funnel awareness → consideración → preferencia
  • Mapa de mensajes y arquitectura de campaña
  • Ratio inversión paid vs alcance orgánico

Estadística aplicada

Data Science

  • Sentiment ponderado por alcance de cada mención
  • Detección de anomalías y picos en series temporales
  • Análisis de correlación entre eventos y movimientos de aprobación
  • Cálculo de overlap de audiencias paid + orgánico (dedupe)
  • Tests A/B con significancia estadística por cohorte

Cómo decide el cerebro

Neurociencia

  • Cognición de doble proceso (Sistema 1 / Sistema 2 — Kahneman)
  • Aversión a la pérdida 2× más fuerte que ganancia equivalente
  • Anclaje y framing emocional en mensajes políticos
  • Mecanismos de atención sostenida en feeds (dopamina + variabilidad)
  • Carga cognitiva: simplicidad como estrategia de retención

Identidad y comunidad

Psicología Social

  • Identidad partidaria como motor de coherencia interna (Achen & Bartels)
  • Voto retrospectivo / pragmático (Fiorina)
  • Cultura cívica y eficacia política percibida (Almond & Verba)
  • Narrative transportation: cómo una historia rompe defensas
  • Sesgo de negatividad y minoría vocal en redes

Capítulo 2 · El cerebro

La IA decide qué entra al dashboard y qué se descarta como ruido.

Cada mención, comentario y noticia pasa por varios modelos antes de aparecer en pantalla. El equipo humano no clasifica — revisa las decisiones que la IA ya tomó, y las corrige cuando haga falta.

Clasificación de sentimiento

Fine-tuned transformer en español MX

Modelo entrenado sobre corpus de comentarios políticos en español mexicano. Output: score continuo [-1, +1] + confidence. Cross-validation contra anotación humana en muestra estratificada.

Benchmark: F1 macro: 0.84 · Precisión negativos: 0.89

Detección de tema (NER + clasificación)

LLM con few-shot prompting + taxonomía custom

Cada mención se mapea a 1-2 temas de la taxonomía gubernamental (seguridad, agua, salud, transparencia, etc.). Con embeddings podemos detectar temas emergentes sin retrain.

Benchmark: 9 temas base · expandible vía prompting

Detección de bot brigade

Heurísticas + clasificador binario

Patrones: cuentas creadas en burst, lenguaje uniforme, ratios reaccion/comment anómalos, geo improbable. Ensemble de reglas duras + clasificador supervisado.

Benchmark: Recall: 0.91 · % comentarios genuinos publicado en KPI

Síntesis del observatorio

LLM + retrieval del contexto del cliente

Cada hora un agente lee menciones recientes + contexto del onboarding (sitios, programas activos) y produce 3-5 observaciones con insight accionable. Templates determinísticos como fallback.

Benchmark: Refresh c/45s en live · cron horario en producción

Validación de arquetipos

Clustering no supervisado sobre embeddings

Los 6 arquetipos teóricos se contrastan con tu audiencia real: agrupamos comentaristas por embedding de su lenguaje, comparamos centroides y ajustamos % por arquetipo.

Benchmark: Activable cuando hay >10K comments orgánicos

Anomaly detection en series

Z-score adaptativo + ARIMA residuals

Detección de picos en volumen de menciones, sentimiento, alcance orgánico. Cuando z > 2.5 σ se levanta una observación automática y se cruza con eventos del calendario.

Benchmark: False positive rate: < 6%

Capa AI subyacente · descripción genérica

Razonador principal: LLM frontera optimizado para análisis cualitativo en español. Clasificación de sentimiento + NER: ensemble de modelos transformer especializados en política mexicana, fine-tuned sobre corpus propio. Búsqueda semántica: embeddings multilingües con índice vectorial gestionado. Orquestación: queue durable + cron schedule configurable. Todo el procesamiento es batch — el dashboard solo consume resultados ya validados, nunca espera a un modelo. Las versiones específicas, weights, prompts y guardrails forman parte del know-how propietario y no se documentan aquí.

Anatomía del proceso

Lo que pasa debajo de cada observación.

Pipeline · ingestión / clasificación

▸ ingest_pipeline()
─ source: meta_ads, meta_organic, news_api, listening_provider
─ normalize(payload) → canonical_mention
─ deduplicate(window: 6h, similarity: ≥0.92)
─ classify_layer:
├─ sentiment_es ∈ [-1, +1]
├─ topic ∈ taxonomy_v3
├─ bot_score ∈ [0, 1]
└─ reach_estimate ← provider_or_model
─ enrich(persona_ctx, organism_ctx)
─ emit(canonical_mention, confidence)

Síntesis · observatorio horario

▸ synthesize_hourly()
─ fetch_recent(window: 1h, min_reach: 5_000)
─ cluster_by_theme(embedding_space)
─ detect_anomalies(z_threshold: 2.5σ)
─ retrieve_persona_context(onboarding, sites)
─ prompt_layer:
├─ system: strategic_analyst_v4
├─ context: { audience, mentions, themes }
└─ output_schema: ObservationCard[]
─ rank(by: actionability * urgency)

Validación · arquetipos vs audiencia real

▸ validate_archetypes()
─ embeddings = embed(comments[]).normalize()
─ centroids = kmeans(embeddings, k=6).fit()
─ matched = match_to_theory(centroids, ARCHETYPES)
─ for each archetype:
├─ measure semantic_distance
├─ adjust share_pct ← cluster_size
└─ recompute sentiment ← weighted_avg
─ persist as audience_calibration_v[…]

Loop · refresh continuo

▸ pulse_loop()
while session.active:
─ if !document.visible: pause(noop)
─ snapshot = fetch_dashboard_state()
─ diff = compare(prev_snapshot, snapshot)
─ if diff.has_meaningful_change:
├─ animate_transition(prev, next)
├─ rerender_observations()
└─ emit_event('pulse.tick')
─ sleep(45s)

↑ Pseudocódigo abstracto · representativo, no implementable. La plataforma corre versiones detalladas con weights, prompts y guardrails propietarios.

Capítulo 3 · Neurociencia

Cómo decide el cerebro político

Kahneman demostró que el 95% de las decisiones políticas no son deliberativas — son emocionales con racionalización posterior. Eso cambia todo.

01

Sistema 1 / Sistema 2 (Kahneman, 2011)

Sistema 1: rápido, automático, emocional — procesa la primera impresión de un post en 50ms. Sistema 2: lento, deliberativo, costoso — solo se activa cuando algo viola el patrón. Diseñar para Sistema 1 = ganar la primera fracción de segundo.

02

Aversión a la pérdida (Tversky & Kahneman, 1979)

Las personas valoran perder algo 2.25× más que ganar lo equivalente. Mensaje 'no perdamos lo que hemos logrado' supera 2× a 'logremos algo nuevo'. Aplicado en framing de continuidad política.

03

Efecto de mero contacto (Zajonc)

La exposición repetida sin información nueva incrementa la valoración positiva — hasta el punto de saturación (Krugman: 3 exposiciones óptimas, fatiga > 5). De ahí la importancia de la frecuencia controlada en pauta.

04

Sesgo de confirmación + cámaras de eco

El cerebro busca evidencia que reafirme creencias previas y descarta la que las contradice. La pauta política eficaz no intenta convertir críticos — refuerza simpatizantes y persuade indecisos.

Capítulo 4 · Psicología Social

Identidad, tribu y narrativa

La política no es transaccional — es identitaria. Cuando alguien te apoya, no es porque coincida en políticas: es porque te reconoce como parte de su tribu.

01

Identidad partidaria (Campbell, 1960; Achen & Bartels, 2016)

El partido no se elige racionalmente — se hereda y se vuelve identidad. Ningún argumento racional supera la fuerza identitaria. Ergo: alimentar a los fieles vale más que tratar de convertir contrarios.

02

Voto retrospectivo (Fiorina, 1981)

Los electores no votan por el futuro — votan según cómo les ha ido. Métricas tangibles (agua, calle, beca recibida) pesan más que promesas. De ahí el segmento 'Indeciso pragmático'.

03

Narrative transportation (Green & Brock, 2000)

Una historia bien contada baja las defensas cognitivas. Por eso los testimonios reales con nombre y apellido superan a las cifras agregadas. La métrica clave no es alcance — es tiempo de inmersión.

04

Sesgo de negatividad + minoría vocal

3 comentarios negativos pesan psicológicamente como 7 positivos. Y una minoría vocal en redes (5-8%) define la percepción del 50% restante. Por eso se modela 'Crítico vocal' como arquetipo aparte: gestión de visibilidad, no de conversión.

Capítulo 5 · Pipeline de datos

De input crudo a insight accionable — seis etapas, sin atajos.

  1. Etapa 1 · Captura

    Inputs del onboarding

    Insumos

    • Datos del organismo (nivel, población atendida)
    • Persona pública (titular, cargo, partido, exposición)
    • Sitios web (organismo + marca personal del titular)
    • Objetivos estratégicos declarados

    Lo que produce

    • Marco para personalizar narrativa
    • Población objetivo (denominador del % cobertura)
    • Contexto de marca para la AI
  2. Etapa 2 · API directa

    Ingestión de Meta (pauta + orgánico)

    Insumos

    • Meta Marketing API · ad accounts, campañas, ad sets, ads
    • Meta Page Insights · posts orgánicos, reach, engagements
    • Comments API · texto crudo de comentarios en posts

    Lo que produce

    • KPIs paid: alcance, frecuencia, CPM, CTR, video views
    • KPIs orgánicos por post + agregados por pilar de contenido
    • Stream de comentarios sin clasificar
    Disclosure: Métrica directa de la plataforma. No hay 'inferencia' aquí.
  3. Etapa 3 · Proveedor externo

    Lectura de sitios web

    Insumos

    • Fetch del HTML del organismo + sitio personal
    • Extracción de title, meta, headings, texto visible
    • Cache 6h · respeto a robots.txt

    Lo que produce

    • Programas activos identificados
    • Mensajes principales / tono institucional
    • Contexto que alimenta el resumen ejecutivo
    Disclosure: Lectura ligera, no scraping de bases internas.
  4. Etapa 4 · Proveedor externo

    Proveedores externos (menciones + noticias)

    Insumos

    • Mention.com / Brand24 · social listening (~$100/mes)
    • NewsAPI · prensa nacional + local
    • RSS de medios MX (El Universal, Reforma, Frontera, etc.)
    • Apify scraping selectivo · perfiles de competidores

    Lo que produce

    • Stream unificado de menciones por fuente
    • Cobertura en prensa con autor + URL directa
    • Comparable de competidores (alcance, ER, sentimiento)
    Disclosure: No viene de Meta. Pieza clave para reputación pública.
  5. Etapa 5 · Inferencia AI

    Clasificación con IA

    Insumos

    • Comentarios de paid + orgánico (Meta)
    • Menciones del proveedor externo
    • Noticias del NewsAPI / RSS

    Lo que produce

    • Sentimiento por mención / comentario [-1, +1]
    • Tema asignado (taxonomía gubernamental)
    • Detección de bots vs comentarios genuinos
    • Detección de picos y anomalías en series
    Disclosure: Inferencia. Texto original guardado para auditoría.
  6. Etapa 6 · Síntesis

    Síntesis (resumen ejecutivo + observatorio)

    Insumos

    • Todas las etapas anteriores
    • Marco estratégico declarado en onboarding
    • Literatura de comportamiento político (arquetipos)

    Lo que produce

    • Resumen ejecutivo del Pulso
    • Observatorio de contexto (refresh c/45s en live)
    • Validación de arquetipos contra data real
    • Recomendaciones accionables por sección
    Disclosure: Cierre del ciclo. Plantillas + LLM cuando se valida.

Capítulo 6 · Las matemáticas

Cada número del dashboard tiene una fórmula auditable detrás.

No hay magia ni números inventados. Las ocho fórmulas que sostienen la plataforma son explícitas, derivables y se mantienen estables aunque cambien proveedores o modelos.

Fórmula

Alcance único combinado (paid + orgánico)

R_total = R_paid + R_org − R_overlap

Donde R_overlap es la intersección entre quienes vieron la pauta y los seguidores que vieron el post orgánico. Se estima vía Meta dedup cuando está disponible o por modelo bayesiano cuando no.

Fórmula

Cobertura vs población objetivo

Cobertura = R_total / P_objetivo · 100

P_objetivo viene del rango de audiencia declarado en onboarding (p.ej. '1m+' → 3.4M para BC). Es el denominador que evita inflar el alcance contra mundo entero.

Fórmula

Sentimiento ponderado por alcance

S̄ = Σ(sᵢ · rᵢ) / Σ(rᵢ)

Un comentario con 5 alcances pesa lo mismo que cinco con 1. Las menciones de prensa nacional (1M+ alcance) dominan el promedio frente a usuarios anónimos. Evita el ruido de comentarios marginales.

Fórmula

Frecuencia óptima (Krugman, 1972)

F* ≈ 3 — saturación si F > 5

Tres exposiciones bastan para imprimir mensaje en memoria; arriba de cinco hay rendimientos decrecientes y riesgo de fatiga (comentarios negativos por saturación). El sistema flag cuando F > 3.5.

Fórmula

Share of voice (vs bloque comparable)

SOV = M_self / Σ M_competidores · 100

Volumen de menciones del titular dividido entre el bloque (gobernadores del mismo nivel/género/partido). Mide cuánto del aire compartido te pertenece — no si el aire es positivo.

Fórmula

Engagement genuino (anti-bot)

ER_g = (E_total − E_bot) / R_paid

E_bot se estima vía clasificador supervisado. Un ER de 8% con 60% bots vale menos que un ER de 4% con 90% genuinos. Por eso el dashboard publica % genuinos como KPI.

Fórmula

Significancia de un pico de sentimiento

z = (sₜ − μ₃₀) / σ₃₀

Z-score sobre los últimos 30 días. Cuando |z| > 2.5 se levanta una observación automática y se cruza con el calendario de eventos para identificar driver. Reduce falsos positivos al 6%.

Fórmula

Distancia entre arquetipos teóricos y reales

d(Aₜ, Aᵣ) = ‖e_t − e_r‖₂

Embedding promedio del arquetipo teórico (Aₜ) vs centroide del cluster real de tu audiencia (Aᵣ). Cuanto menor la distancia euclidiana, mejor el arquetipo describe a tu base. Calibra los % per-arquetipo.

Capítulo 7 · Stack técnico

Arquitectura moderna y verificable — no una caja negra.

Capa de presentación

  • Framework moderno SSR/streaming

    Server-first con hidratación selectiva

  • Sistema de diseño tokenizado

    Tema oscuro/claro + tokens semánticos

  • Visualizaciones SVG nativas

    Sparklines y charts sin librerías pesadas

  • Animaciones GPU

    Pulso live, gradientes, transiciones

Capa de cómputo

  • Funciones serverless con tiers

    API endpoints + edge handlers

  • Cron jobs distribuidos

    Refresh menciones, observatorio, validación

  • Queue durable con retry

    Pipeline batch resiliente a fallos

  • Postgres con RLS multi-tenant

    Aislamiento de datos por gobierno

Capa cognitiva

  • Razonador LLM principal

    Síntesis y razonamiento complejo

  • Modelos especializados ES-MX

    Sentimiento, NER, clasificación tema

  • Búsqueda semántica vectorial

    Recuperación contextual y RAG

  • Detector de anomalías

    Picos, bot brigades, eventos atípicos

Conectores externos

  • Pauta + orgánico de redes

    Métricas directas de plataformas

  • Social listening de terceros

    Menciones cross-plataforma

  • Agregadores de prensa

    Cobertura nacional + local con URL directa

  • Lectura de sitios + logo lookup

    Contexto de marca y atribución visual

Compromiso final

Transparencia metodológica es la diferencia entre una herramienta seria y un dashboard cosmético.

Cada métrica tiene fuente visible

Source tags en cada card del dashboard. Sabes si viene de Meta API, proveedor externo, inferencia AI o hipótesis.

Cada inferencia es auditable

El texto crudo de cada comentario, mención y noticia se guarda. Si la AI clasifica algo dudosamente, puedes revisarlo y corregir.

Cada fórmula es explícita

No hay 'modelo proprietario opaco'. Las ocho fórmulas viven en este documento. Si cambian, se actualiza con changelog.

La frase corta: esta plataforma combina cinco disciplinas — IA, marketing, data science, neurociencia y psicología social — para convertir ruido en decisiones. La metodología no es secreto comercial. La ventaja no está en esconder cómo funciona; está en operarla mejor que nadie.

Capítulos 8 · 9 · 10 · 11 · 12

El subterráneo de la plataforma.

Cinco estratos sostienen cada métrica. El índice queda fijo a la izquierda — la lectura desfila a la derecha.

Cuadro sinóptico · capa 8 de 12

Capítulo 8 · Schemas

Lo que vive en la base. Tres tablas — el resto deriva.

mentions

9 cols
  • id·uuid pk
  • tenant_id·uuid · RLS
  • source·enum
  • url·directo al original
  • excerpt·raw siempre
  • sentiment·float [-1,1]AI
  • topic·enum · taxonomy_v3AI
  • bot_score·float [0,1]AI
  • embedding·vector(1536)

context_observations

6 cols
  • kind·alerta|oportunidad|riesgo|sintesis
  • headline·text
  • body·text
  • recommendation·text
  • input_source·trazable
  • confidence·float [0,1]AI

audience_calibrations

4 cols
  • archetype_id·text
  • centroid_embedding·vector(1536)
  • share_pct_observed·vs teórico
  • sentiment_observed·weighted

Capítulo 9 · Endpoints

Diez puntos de entrada. Cada uno con auth y propósito.

  • POST/api/ingest/meta-adsNightly Meta Marketing API → metric_rollupsservice-role
  • POST/api/ingest/meta-organicPage Insights + commentsservice-role
  • POST/api/ingest/listeningWebhook Mention/Brandwatch — pushHMAC sig
  • POST/api/ingest/newsRSS poll + NewsAPI · cron 30mininternal
  • POST/api/classify/sentimentBatch LLM hasta 500 itemsinternal
  • POST/api/synthesize/observatory4–6 cards para Centro de Mandointernal
  • POST/api/validate/archetypesCluster comments → matchea teóricosinternal
  • GET/api/site-contextLee URL del organismo · cache 6htenant
  • GET/api/observationsFeed paginadotenant
  • POST/api/upload/meta-csvParser CSV de Ads Managertenant

Capítulo 10 · Cron / Queue

La plataforma late en intervalos. Cada uno mantiene una capa.

*/5miningest_x_mentions

X API · keyword search

*/15miningest_news_api + RSS

NewsAPI + 6 feeds MX

*/30minclassify_pending_mentions

batch LLM hasta 500

*/45mindeduplicate_mentions

embedding sim > 0.92

0 * * * *synthesize_observatory

4–6 cards / hora

0 */6 * * *fetch_site_contexts

refresca caches web

0 6 * * *daily_brief_email

Centro de Mando al titular

0 0 * * 0validate_archetypes

weekly clustering

0 0 1 * *monthly_report_pdf

reporte mensual

0 0 * * *anomaly_detection

z-score sweep

Capítulo 11 · Pseudocódigo

Los algoritmos críticos — abstractos, no recetarios.

dedupe.embedding_similarity()

▸ deduplicate(mention_new)
  ├─ candidates = window(6h, min_overlap=0.5)
  ├─ sim = cosine(emb(new), emb(c))
  ├─ if sim > 0.92 → mark_as_duplicate
  ├─ if 0.78 < sim ≤ 0.92 → link_as_variant
  └─ else insert + enqueue(classify)

anomaly.z_score_sweep()

▸ detect_anomalies(metric, 30d)
  ├─ baseline = rolling_mean(metric)
  ├─ σ = rolling_std(metric)
  ├─ z = (metric − baseline) / σ
  ├─ if |z| ≥ 2.5 → emit(observation)
  └─ adaptive_baseline_update

bot_brigade.detector()

▸ detect_brigade(window=12h)
  ├─ feat.created_at_burst
  ├─ feat.lang_uniformity (cosine emb)
  ├─ feat.engagement_anomaly
  ├─ feat.posting_cadence (entropy)
  ├─ score = sigmoid(W·f + b)
  └─ if score > 0.7 → flag · no responder

archetype.validate_against_real()

▸ validate(theoretical, real_comments)
  ├─ embeddings = embed(real_comments)
  ├─ clusters = kmeans(emb, k=6).fit()
  ├─ for each a in ARCHETYPES:
  │   ├─ closest = argmin dist(a, clusters)
  │   ├─ a.share_pct_observed = closest.size
  │   └─ a.sentiment_observed = weighted_avg
  └─ persist audience_calibrations

Capítulo 12 · Seguridad

Multi-tenant. Cifrado. Auditabilidad. La capa más densa.

Aislamiento por tenant

RLS de Postgres en TODAS las tablas. Service-role solo crons internos. JWT firmado con tenant_id.

Cifrado en tránsito + reposo

TLS 1.3 obligatorio. Postgres encrypted at rest. Vector store igual. Backups AES-256.

Acceso al Centro de Mando

Owner/admin con factor biométrico. Sin caché en cliente. Watermarks únicos por workspace.

Auditoría

audit_log con cada clasificación AI, edición, login, export. Retención 90d en frío.

Anti-replay

Webhooks HMAC + timestamp ≤5min. Rate limit por IP y tenant en endpoints públicos.

PII

Author_id hasheado para reportes agregados. GDPR/LFPDPPP compliance.

Modelo proprio

Embeddings y prompts no se envían a proveedores con retention. Zero data retention en LLM.

Disclosure de IA

Cada inferencia lleva confidence + texto auditable. Humano puede sobrescribir.

Aviso de propiedad intelectual

Esta metodología, su pipeline, sus fórmulas y su modelo de integración disciplinar son propiedad intelectual de Happy Lemon. La licencia activa cubre exclusivamente al workspace gob-demo (Marina del Pilar Ávila Olmeda). Reproducción, replicación o uso por terceros no autorizado constituye infracción.

Este documento contiene marcas digitales únicas a este workspace. Cualquier copia conserva esa huella.

Versión metodológica · 2026 · Estado de integraciones

Happy Lemon · Plataforma Inteligente