cracksmity.dev
English
L5 · Ciudad Terminal Ampliación en curso

SistemaIVR

Un índice para encontrar en qué zonas de Guadalajara hay muchos servicios y poca gente. Me salvó el semestre y será mi tesis.

INAUGURADA
MAY 2026
MATERIA
Seminario de Integración
CALIFICACIÓN
100
CÓDIGO
Público en GitHub
Mapa de Guadalajara dividido en manzanas, coloreadas de amarillo claro a rojo oscuro según su IVR, sobre un mapa base gris con el límite municipal en azul.
El mapa de la versión que presenté: cada manzana de Guadalajara coloreada por deciles del IVR, del amarillo (0) al rojo (1).

RECORRIDO · L5 Ciudad · 2 estaciones

  1. ESTÁS AQUÍ SistemaIVR
  2. OCT 2026 · En construcción Jalisk

Por qué existe

El Índice de Viabilidad para Redensificación (IVR) califica cada manzana de Guadalajara de 0 a 1: más alto donde hay muchos servicios cerca y poca gente viviendo. Es una primera pista de dónde convendría construir vivienda en lugar de seguir expandiendo la ciudad hacia afuera.

La población sale del censo del INEGI y los servicios (hospitales, escuelas, mercados y paradas de transporte) de OpenStreetMap con OSMnx. GeoPandas cuenta cuántos caen dentro de cada manzana y calcula las dos densidades por km². Antes de normalizarlas las winsorizo al percentil 98, para que un mercado con cientos de nodos en OSM no aplaste la escala.

El mapa señaló el oriente del Centro Histórico (Analco, Las Conchas), la colonia Moderna, el corredor de avenida Vallarta y las zonas industriales junto a las vías de González Gallo y Av. Inglaterra. Parece correcto, pero en buena parte por suerte. Al auditar la versión que presenté salieron varios problemas de método que ya estoy corrigiendo. Es mi proyecto de titulación, así que seguirá en obras los próximos tres semestres.

La materia se llamaba Seminario de Integración: Protocolo, aunque para mí era Metodología de la Investigación II. El profe dio dos opciones: escribir un libro de 100 páginas o hacer una investigación tipo tesis y presentarla con un artículo en formato IEEE.

Al inicio del semestre estaba emocionado con la idea de ser quant, así que dije que haría un libro de algoritmos de trading en Python. Pero algo me dio tristeza y lo dejé por completo. Ya iba a reprobar; había dado el semestre por perdido.

Hasta que un día dije: fuck it, we ball. Compré Cursor y me puse una meta: este semestre se salva porque se salva. Le dije al profe que mejor haría la investigación, le pedí ideas a Gemini, me dio esta y la empecé con los agentes. Hice el trabajo de un semestre en dos semanas y lo presenté. Saqué 100.

El tema me interesó porque caminar por el Centro se siente raro. Los domingos en la tarde paso por esas zonas, o por las de al lado, y en lugar de gente parece un pueblo fantasma. Además tengo algo de mentalidad de tiburón: veo zonas con parques, museos y de todo, donde nadie vive, y solo veo dinero que no se está ganando. Fábricas y bodegas viejas que podrían ser edificios. Y algo me venía de casa: mi papá siempre ha tenido pasión por la geografía, y en el artículo se lo agradecí.

En la entrevista de Intel me preguntaron si alguna vez me había sentido orgulloso de mi habilidad matemática. Hablé de este proyecto: de cómo tuve que winsorizar los datos para que no metieran tanto ruido, y de la ecuación del IVR, que me hacía pensar en un montón de cosas.

La versión que presenté no funciona del todo; da resultados correctos casi por suerte. Pero es un buen avance, y no miente del todo. Con ella me voy a titular, así que va a ser trabajo de mi yo de los próximos tres semestres.

Qué hace

Analco · Las Conchas · Vallarta

Zonas prioritarias

El oriente del Centro Histórico, la colonia Moderna, el corredor de Vallarta y las bodegas junto a las vías, candidatas a usos mixtos.

percentil 98

Winsorización

Los valores extremos se recortan antes de normalizar, para que unas pocas manzanas no dejen a todas las demás en cero.

OSM + INEGI

Datos abiertos

Servicios de OpenStreetMap y población del censo 2020. Cualquiera puede repetir el cálculo.

deciles · k = 10

Mapa interactivo

Un mapa HTML con cada manzana coloreada por su IVR y sus datos al pasar el cursor.

Cómo está hecho

4 commits · la versión que presenté

01 · DatosINEGI + OpenStreetMapPoblación por manzana; servicios y límite municipal con OSMnx.
02 · CruceGeoPandasServicios dentro de cada manzana y densidades por km².
03 · Índicepandas + scikit-learnWinsorización, Min-Max y la diferencia.
04 · MapaFoliumMapa HTML coloreado por deciles.
  1. di(p)=PiAi,di(s)=SiAi
  2. d~i=min(di,Q0.98(d))
  3. ni=d~i−minjd~jmaxjd~j−minjd~j
  4. ri=ni(s)−ni(p)
  5. IVRi=ri−minjrjmaxjrj−minjrj
Las ecuaciones del artículo, tal como las presenté; (2) y (3) se aplican igual a población (p) y a servicios (s). Lo que falla está en (4): casi ninguna manzana tiene servicios dentro, así que r termina midiendo sobre todo qué tan vacía está. Por eso la barranca de Huentitlán salió como prioridad.
  • GeoPandas
  • OSMnx
  • OpenStreetMap
  • INEGI
  • winsorización
  • Min-Max
  • Folium

Bitácora

  1. ENE 2026Arranca el semestre. Elijo escribir un libro de algoritmos de trading y lo abandono.
  2. ABR 2026Fuck it, we ball: compro Cursor, Gemini me da la idea y empiezo con los agentes.
  3. MAY 2026Dos semanas después lo presento con el artículo IEEE. Saco 100.
  4. OCT 2026Lo audito con Opus 5.5: salen varios problemas de método. Empiezo a corregirlo para la tesis.

Lo que aprendí

  • Un dato extremo puede arruinar toda una escala. Winsorizar fue la primera vez que sentí que entendía lo que hacían los números.
  • Que el resultado se vea correcto no significa que el método lo sea.
  • Con una meta clara y los agentes, el trabajo de un semestre cupo en dos semanas.
  • Junto con Oráculo, es el proyecto que me consiguió la internship en Intel.