Ir al contenido

RAM PRIX

Metodología

En esta página conviven dos cosas relacionadas: cómo comparamos los kits de RAM por valor ($/GB) ahora mismo, y cómo seguimos la evolución de los precios de la RAM con el tiempo (el Índice de precios de RAM). Cada cifra que aparece a continuación es un umbral fijo en nuestro código o un dato medido directamente sobre nuestra base de datos de producción: nada aquí es una estimación.

$/GB: nuestra única métrica de valor

El valor de cada kit se reduce a un único número: su precio de venta más bajo dividido entre su capacidad en gigabytes. Un $/GB más bajo es una mejor oferta, sin matices. No mezclamos una puntuación aparte de rendimiento o "valor"; el $/GB ya responde directamente a la pregunta del comprador.

Pero el $/GB solo tiene sentido frente a kits comparables. Un kit de escritorio de 16GB DDR5-6000 y un kit de portátil de 8GB DDR4-2400 no son equivalentes, así que agrupamos los kits en categorías antes de comparar el $/GB dentro de cada grupo: categoría (escritorio / portátil / servidor) × tipo de memoria (DDR4 / DDR5) × nivel de frecuencia.

valueBucket = category | memoryType | speedGrade

El nivel de frecuencia es una escala medida, no un corte arbitrario: DDR4 se divide en ≤2666 / 2933-3200 / 3466-3600 / >3600 MT/s, y DDR5 en ≤5200 / 5600-6000 / 6200-6400 / >6400 MT/s. Esos límites coinciden con las agrupaciones reales de nuestro catálogo (concentraciones en DDR4 3200/3600 y DDR5 5600/6000/6400, con solo una cola fina de kits de overclock exclusivos por encima), no con cifras redondas elegidas de antemano.

Agrupamos por category, deliberadamente no por el campo form_factor del catálogo. form_factor es texto libre extraído de los listados, y solo el UDIMM de escritorio aparece escrito de al menos cuatro formas distintas ("UDIMM", "288-pin UDIMM", "288-pin U-DIMM", "288-pin UDIMM, low-profile (33.2mm height)"). Agrupar directamente por ese campo dividiría un grupo de kits realmente comparables en varios fragmentos casi vacíos y clasificaría los kits frente a una muestra demasiado pequeña. category es limpio —exactamente tres valores: escritorio / portátil / servidor—, así que es lo que usamos como clave.

El índice de precios de RAM

El índice responde a una pregunta más concreta y honesta que "cuánto cuesta la RAM": ¿cuánto cambió el precio de los mismos kits de un mes a otro? Cada mes solo tenemos en cuenta los kits (en concreto, un modelo en una región dada) que tuvieron precio tanto ese mes como el anterior: una comparación de "modelos coincidentes". Un kit que entra o sale del catálogo no puede mover el índice; solo puede hacerlo un cambio de precio real en algo que pudimos ver en ambos meses.

Para cada kit coincidente calculamos la razón entre el precio de este mes y el del mes anterior. Que un único kit se dispare o se desplome 10 veces (un error de datos, una liquidación, un fallo de conversión de moneda) no debería mover todo el índice, así que antes de promediar recortamos —winsorizamos— cada razón al rango [0.667, 1.5]. Todo lo que quede fuera de esa banda se lleva al extremo más cercano en lugar de descartarse, de modo que un precio extremo sigue contando como "sube" o "baja", solo que no en una proporción inverosímil.

A continuación calculamos la media geométrica de las razones winsorizadas —un índice de Jevons— y multiplicamos el nivel del mes anterior por esa media para obtener el nivel de este mes. El índice se fija en 100 en Sep 2025, el primer mes con cobertura completa en todas las regiones que rastreamos (y también hasta donde podemos remontarnos: nuestro proveedor de datos de origen solo conserva alrededor de un año de observaciones diarias sin procesar, así que Sep 2025 es un límite estricto, no una elección de estilo).

Tres mecanismos de control evitan que un mes con pocos datos o ruidoso produzca un nivel en el que no podamos confiar:

  • MIN_LISTINGS = 2: el precio de un kit en un día concreto solo cuenta si al menos 2 listados lo respaldan. Medido sobre producción: solo este filtro excluye alrededor del 76% de las celdas de precio diarias (modelo, región), así que es un filtro real, no una formalidad.
  • MIN_PRICED_DAYS = 10: un kit necesita al menos 10 días con precio dentro de un mes para que el precio de ese mes cuente. Alrededor de la mitad de los grupos (modelo, región, mes) no supera este umbral.
  • MIN_BASKET = 30: si menos de 30 kits superan ambos filtros y coinciden con el mes anterior, no confiamos en absoluto en el enlace de ese mes; mantenemos el nivel anterior sin cambios en lugar de calcular uno nuevo (y estadísticamente ruidoso). En la práctica este umbral tiene mucho margen: todos los meses completos que hemos medido han tenido entre 93 y 147 kits coincidentes, de 3 a 5 veces por encima del umbral de 30.

MIN_LISTINGS y MIN_PRICED_DAYS se aplican a todas las series anteriores, incluido el $/GB: el $/GB mensual de un kit se construye con los mismos precios diarios filtrados. MIN_BASKET es distinto: es específicamente el filtro de "coincidencia con el mes anterior" para las dos series encadenadas, así que no restringe el $/GB, que por diseño tiene en cuenta todos los kits con precio ese mes, no solo los que coinciden con el mes anterior.

Todas las cifras anteriores están medidas sobre nuestra base de datos de producción, no son estimaciones; consulta docs/measured-constants.md para ver las consultas originales y los resultados completos.

Publicamos tres series, y solo dos de ellas se construyen del modo descrito antes. El precio mediano coincidente y el precio mínimo coincidente (una aproximación a la mejor oferta disponible ese mes, no a la habitual) son ambos índices encadenados de modelos coincidentes: la misma cesta, mes a mes, tal como se describe en esta sección.

La serie $/GB mediano es deliberadamente distinta: es transversal, no de modelos coincidentes. Cada mes calculamos la mediana de precio ÷ capacity_gb entre todos los kits con precio ese mes —no solo los que podemos emparejar con el mes anterior— y la rebasamos a 100 en Sep 2025. Un índice de modelos coincidentes como los dos anteriores mantiene la cesta fija a propósito, de modo que un cambio en la mezcla de productos nunca pueda parecer un movimiento de precios. El $/GB hace justo lo contrario a propósito: si aparecen en el catálogo kits de alta capacidad más baratos, el coste típico por gigabyte baja aunque no haya cambiado el precio de ningún kit. Para un sitio de memoria, ese es el dato más útil para un comprador, porque responde a "cuánto cuesta un gigabyte ahora mismo" en lugar de "cuánto cambió el precio de esta cesta fija". Ambas cifras suelen moverse juntas, pero no tienen por qué hacerlo, y no lo harán cuando cambie la mezcla de capacidades de lo que realmente se vende.

El mes natural más reciente se trata de forma distinta: con menos de 10 días con precio registrados hasta ahora, no puede superar MIN_PRICED_DAYS, así que su cesta queda vacía y su nivel es el del mes anterior, trasladado sin cambios. Marcamos ese mes como provisional allí donde aparece y lo excluimos por completo de la línea del gráfico del índice, en lugar de representar un nivel que sabemos que no es una lectura reciente.

De dónde proceden los datos

Rastreamos listados en seis regiones (Estados Unidos, Canadá, Reino Unido, Alemania, Francia y España) en las tiendas de Amazon y Newegg de esos mercados. La extracción de datos en origen es manual y no está programada —no hay ningún cron que garantice una observación reciente con una periodicidad concreta—, así que el precio de un listado puede tener, en un momento dado, desde unos pocos días hasta varias semanas de antigüedad.

Medido sobre producción: el precio actual del listado mediano tiene unos 5,6 días de antigüedad, el 90% tiene menos de 19,5 días y el 95% tiene menos de 23,5 días, con una cola larga que llega hasta los 46 días en los listados más lentos. Consideramos que un precio está desactualizado, y dejamos de mostrarlo como actual, pasados 30 días: bastante por encima del p95, con margen para esa cola larga estructural.

Reino Unido y Alemania: sin historial de precios almacenado

Los programas de afiliados de Amazon en el Reino Unido y Alemania no permiten almacenar el historial de precios más allá de 24 horas ni mostrar alertas de bajada de precio. Para cumplir con ello, sencillamente no hacemos ninguna de las dos cosas en esas dos regiones: las páginas de kits del Reino Unido y Alemania muestran solo el precio actual, sin gráfico de historial de precios almacenado, y no se hace ninguna afirmación de seguimiento de precios para esos mercados. El índice de precios de RAM en sí es una cifra global entre regiones y no se ve afectado; esta restricción se limita al historial de precios por región.