L01 — Proyecto M04 y simulación de moneda
~5 h · Semana 1
Arrancas la carpeta de evidencia de la materia y compruebas con código que la frecuencia relativa se acerca a la probabilidad teórica cuando aumentas el tamaño de muestra.
Objetivo
Crear projects/m04-stats/, simular 10_000 lanzamientos de moneda en TypeScript y documentar en tus palabras la ley de los grandes números.
Por qué empieza así
En producto y en SRE ves muestras (clics, errores, latencias). Sin simular primero, las fórmulas del libro suenan abstractas. Hoy conectas Math.random() con una pregunta real: “¿qué tan seguro estoy de esta proporción?”.
Pasos (hazlos en orden)
1. Carpeta de evidencia (15–20 min)
Desde la raíz del repo:
mkdir -p projects/m04-stats/src projects/m04-stats/notas
Lee el checklist en projects/m04-stats/README.md. Es tu mapa de P1–P3 y del informe.
2. Proyecto TS mínimo (30–40 min)
Si aún no tienes package.json en m04-stats:
cd projects/m04-stats
npm init -y
npm install -D typescript tsx @types/node
npx tsc --init
En src/sim-moneda.ts:
export type CaraCruz = "cara" | "cruz";
export function lanzar(): CaraCruz {
return Math.random() < 0.5 ? "cara" : "cruz";
}
export function estimarP(n: number): { caras: number; p: number } {
let caras = 0;
for (let i = 0; i < n; i++) if (lanzar() === "cara") caras++;
return { caras, p: caras / n };
}
Ejecuta con npx tsx src/sim-moneda.ts (añade un console.log temporal o un pequeño main).
3. Experimento 100 vs 10_000 (45–60 min)
Compara estimarP(100) y estimarP(10_000) varias veces (bucle o script). Anota en una tabla:
| n | p̂ (cara) | |p̂ − 0.5| | |---|----------|-----------| | 100 | | | | 10_000 | | |
Pregunta de producto: si un feature tiene 52% de conversión con 80 usuarios, ¿es “mejor” que 50%? (Aún no hagas inferencia formal; solo intuición.)
4. Nota escrita (30–40 min)
Crea projects/m04-stats/notas/ley-grandes-numeros.md:
# Ley de los grandes números — mis palabras
## Qué observé en la simulación
-
## Qué significa para métricas de producto (1 párrafo)
-
## Qué NO significa (error común)
-
5. Commit (15 min)
git add projects/m04-stats/
git commit -m "feat(m04): simulación moneda y nota LGN"
6. Lectura (45–60 min)
Walpole cap. 2 (eventos, probabilidad) hasta reglas básicas, o OpenStax Ch. 3 (inicio). Subraya solo definiciones que usarás en L02.
Lectura de esta lección
| Fuente | Qué leer |
|---|---|
| Walpole | Cap. 2 — introducción y frecuencia relativa |
| OpenStax | Ch. 3 — Probability Topics (primeras secciones) |
| Plan | Ficha M04 — objetivos |
| Catálogo | Bibliografía · M04 |
Hecho cuando
Marca la lección solo si:
- Existe
projects/m04-stats/src/sim-moneda.tsconlanzaryestimarP. - Corriste el experimento con al menos n = 100 y n = 10_000 y guardaste resultados en la nota o en comentarios del script.
- Existe
notas/ley-grandes-numeros.mdcon al menos un párrafo aplicado a producto. - Hay commit en git con esos archivos.
Esto avanza la P1 de la materia.
Errores comunes
- Simular una vez y creer que “ya probaste la teoría”.
- Olvidar commitear: sin evidencia en git no cuenta para la UI .
- Confundir “la media de muchas muestras” con “una muestra grande” (lo profundizas en L13).