Esta página responde:¿En qué capa se rompen los datos de este contenido?
Cómo leer este gráfico: las 5 capas, de arriba abajo, son entrada → recepción → interacción → conversión → difusión; mira el orden de los colores: la capa que se vuelve roja/amarilla por primera vez marca que el corte está entre ella y la capa inmediatamente anterior.
El corte solo se evalúa con una combinación: capa superior 🟢 y capa inferior 🟡 o 🔴 → se emite un diagnóstico más una receta (el código fuente solo tiene estas 4 reglas; no son reglas añadidas aquí).
Cuando la capa superior no es 🟢, el código fuente no marca corte; y cuando una capa es toda «sin datos», tampoco se marca como corte.
Aviso sobre las unidades: los umbrales son proporciones, 0.05 = 5%. Si escribes 5 se marcará como 🟢 por encima de la línea —— el código fuente compara el número directamente con el umbral, sin convertir a porcentaje.
LAYERS de las 5 capas × 12 indicadores y todos los umbrales green/yellow (L19-57); clasificación por color ≥green 🟢超线 / ≥yellow 🟡偏线 / 否则 🔴迷路 (L88-93); los datos faltantes se registran como «sin datos» y no cuentan para el color de la capa (L85-87); el color de la capa toma el indicador peor de esa capa (si hay 🔴 entonces 🔴; si no, si hay 🟡 entonces 🟡; solo si todo es verde es 🟢; y si no se rellenó ninguno, es ⏳ sin datos) (L97-104); la condición de corte y las 4 recetas (FAULT_DIAG L59-64 y L119-126).data.get(指标名, data.get(指标名.replace(' ', '_'))), y ninguno de los 12 nombres de indicador tiene espacios, así que ese respaldo es una operación vacía —— esta página lee directamente por nombre de clave.FAULT_DIAG, así que el respaldo de L121 ('未知断层', '综合优化') en la práctica nunca se alcanza; esta página conserva ese respaldo y lo señala aquí.data que el código fuente recibe de la API contiene cadenas, la comparación de L88 dará TypeError; esta página fuerza la conversión a número en la capa de entrada y da error directo si no es numérico (esa conversión no existe en el código fuente).layers del código fuente es un dict (el orden es el de definición); esta página lo emite como un arreglo en el mismo orden, campo a campo; la escritura en data_bus (L132) y los atributos de metainformación de info no se portaron (no hay bus en el front-end puro y la página no los necesita).layer_verdict / fault_diagnosis, y ninguno de los 4 slices existentes consume estos dos tipos, así que el enlace automático de build.py no puede trazar aristas (no es un enlace roto, es que los tipos no conectan). Los dos de abajo son aguas abajo de negocio especificadas a mano:/opt/algorithms/functional/funnel_evaluate.py (133 líneas, solo lectura): 5 capas × 12 indicadores y todos los umbrales green/yellow LAYERS = líneas 19-57; recetas de corte FAULT_DIAG = líneas 59-64; run() = líneas 74-133; clasificación por color raw_val >= ind["green"] = líneas 88-93; color de la capa = el peor de la capa = líneas 97-104; condición de corte y concatenación = líneas 119-126.0.05 y deja el resto vacío → la capa de entrada debe ser 🟢 y el resto ⏳ sin datos, y los cortes deben ser 0; luego mantén el CTR de la capa de entrada en 0.05 y pon la tasa de lectura completa de la capa de recepción en 0.10 (por debajo de la línea yellow de 0.30) → debe salir un corte entrada→recepción, con la receta «promesa del título = entrega del contenido».Calcula el valor de red a partir del tamaño de la red y muestra a qué distancia estás del punto crítico
Convierte entre sí las puntuaciones de 0~10 y la escala −10~+10 del motor
/opt/slices_build/build.py a partir de la especificación /_shared/slices/funnel-evaluate.json — para cambiar esta página, edita la especificación y vuelve a ejecutar el generador; nunca edites el HTML a mano.