-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
858 lines (857 loc) · 90.5 KB
/
Copy pathindex.html
File metadata and controls
858 lines (857 loc) · 90.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
<!DOCTYPE html>
<html lang="es">
<head><script>(function(){try{var p=new URLSearchParams(location.search||'');if(p.has('audit')||p.has('lighthouse'))document.documentElement.classList.add('pl-audit-mode')}catch(e){}})();</script><style>html.pl-audit-mode .pl-scroll-loader{display:none!important}html.pl-audit-mode body{overflow:auto!important;height:auto!important}html.pl-audit-mode body.pl-scroll-loader-active,html.pl-audit-mode body.pl-scroll-landing-lock{overflow:auto!important;height:auto!important}</style>
<meta charset="utf-8"/><link href="favicon.ico" rel="icon" type="image/x-icon"/><link href="images/patrones/favicon/favicon-32.png" rel="icon" sizes="32x32" type="image/png"/><link href="images/patrones/favicon/favicon-16.png" rel="icon" sizes="16x16" type="image/png"/><link href="images/patrones/favicon/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
<title>Patrones Lab · Analítica de Datos · Portfolio de proyectos ML y BI</title>
<link href="https://fonts.googleapis.com" rel="preconnect"/><link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/><link as="style" href="https://fonts.googleapis.com/css2?family=Inter:wght@700;800;900&display=swap" onload="this.onload=null;this.rel='stylesheet'" rel="preload"/><noscript><link href="https://fonts.googleapis.com/css2?family=Inter:wght@700;800;900&display=swap" rel="stylesheet"/></noscript><link as="style" href="https://fonts.googleapis.com/css?family=Maven+Pro:400,700&display=swap" onload="this.onload=null;this.rel='stylesheet'" rel="preload"/><noscript><link href="https://fonts.googleapis.com/css?family=Maven+Pro:400,700&display=swap" rel="stylesheet"/></noscript><link crossorigin="" href="https://cdnjs.cloudflare.com" rel="preconnect"/><link href="//cdnjs.cloudflare.com" rel="dns-prefetch"/><link as="image" fetchpriority="high" href="images/patrones/malcolm-profile-420.webp" media="(max-width: 767px)" rel="preload" type="image/webp"/><link href="css/bootstrap.min.css" rel="stylesheet"/>
<link href="css/styles.css" rel="stylesheet"/>
<meta content="Patrones Lab reúne proyectos de analítica de datos, Business Intelligence y Machine Learning para explorar datos, detectar patrones, generar conocimiento y representar visualmente los descubrimientos." name="description"/><meta content="Patrones Lab" name="apple-mobile-web-app-title"/><meta content="Patrones Lab" name="application-name"/><meta content="index, follow, max-image-preview:large" name="robots"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="es" http-equiv="content-language"/><link href="https://malcolmdpc.github.io/" rel="canonical"/><meta content="#0c0c0d" name="theme-color"/><meta content="website" property="og:type"/><meta content="Patrones Lab · Analítica de Datos · Portfolio de proyectos ML y BI" property="og:title"/><meta content="Patrones Lab reúne proyectos de analítica de datos, Business Intelligence y Machine Learning para explorar datos, detectar patrones, generar conocimiento y representar visualmente los descubrimientos." property="og:description"/><meta content="https://malcolmdpc.github.io/" property="og:url"/><meta content="Patrones Lab" property="og:site_name"/><meta content="es_ES" property="og:locale"/><meta content="en_US" property="og:locale:alternate"/><meta content="it_IT" property="og:locale:alternate"/><meta content="Patrones Lab · Analítica de Datos · Portfolio de proyectos ML y BI" name="twitter:title"/><meta content="Patrones Lab reúne proyectos de analítica de datos, Business Intelligence y Machine Learning para explorar datos, detectar patrones, generar conocimiento y representar visualmente los descubrimientos." name="twitter:description"/><link href="site.webmanifest" rel="manifest"/><meta content="Malcolm Di Pietro Cagliari" name="author"/><meta content="Malcolm Di Pietro Cagliari" name="creator"/><meta content="Patrones Lab" name="publisher"/><meta content="https://malcolmdpc.github.io/images/patrones/social/patrones-lab-og.jpg" property="og:image"/><meta content="1200" property="og:image:width"/><meta content="630" property="og:image:height"/><meta content="image/jpeg" property="og:image:type"/><meta content="Patrones Lab · Analítica de Datos · Portfolio de proyectos ML y BI" property="og:image:alt"/><meta content="summary_large_image" name="twitter:card"/><meta content="https://malcolmdpc.github.io/images/patrones/social/patrones-lab-og.jpg" name="twitter:image"/><meta content="Patrones Lab · Analítica de Datos · Portfolio de proyectos ML y BI" name="twitter:image:alt"/><meta content="https://malcolmdpc.github.io/images/patrones/search/patrones-lab-google-thumbnail.jpg" name="image"/>
<meta content="https://malcolmdpc.github.io/images/patrones/search/patrones-lab-google-thumbnail.jpg" name="thumbnail"/>
<link href="https://malcolmdpc.github.io/images/patrones/search/patrones-lab-google-thumbnail.jpg" rel="image_src"/>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://malcolmdpc.github.io/#website","name":"Patrones Lab","alternateName":["Patrones Lab · Analítica de Datos","Patrones Lab · Data & Analytics"],"url":"https://malcolmdpc.github.io/","inLanguage":["es","en","it"],"description":"Patrones Lab reúne proyectos de analítica de datos, Business Intelligence y Machine Learning para explorar datos, detectar patrones, generar conocimiento y representar visualmente los descubrimientos.","creator":{"@id":"https://malcolmdpc.github.io/#person"},"publisher":{"@id":"https://malcolmdpc.github.io/#organization"},"image":{"@type":"ImageObject","url":"https://malcolmdpc.github.io/images/patrones/search/patrones-lab-google-thumbnail.jpg","width":600,"height":600}},{"@type":"Organization","@id":"https://malcolmdpc.github.io/#organization","name":"Patrones Lab","url":"https://malcolmdpc.github.io/","logo":{"@type":"ImageObject","url":"https://malcolmdpc.github.io/images/patrones/favicon/favicon-512.png","width":512,"height":512},"image":{"@type":"ImageObject","url":"https://malcolmdpc.github.io/images/patrones/search/patrones-lab-google-thumbnail.jpg","width":600,"height":600},"sameAs":["https://github.com/malcolmdpc/patrones-lab","https://www.instagram.com/patroneslab/","https://linktr.ee/PatronesLab"]},{"@type":"Person","@id":"https://malcolmdpc.github.io/#person","name":"Malcolm Di Pietro Cagliari","url":"https://malcolmdpc.github.io/","sameAs":["https://github.com/malcolmdpc","https://www.linkedin.com/in/malcolmdpc/","https://medium.com/@malcolmdpc"]},{"@type":"WebPage","@id":"https://malcolmdpc.github.io/#webpage","url":"https://malcolmdpc.github.io/","name":"Patrones Lab · Analítica de Datos · Portfolio de proyectos ML y BI","description":"Patrones Lab reúne proyectos de analítica de datos, Business Intelligence y Machine Learning para explorar datos, detectar patrones, generar conocimiento y representar visualmente los descubrimientos.","inLanguage":"es","isPartOf":{"@id":"https://malcolmdpc.github.io/#website"},"primaryImageOfPage":{"@type":"ImageObject","url":"https://malcolmdpc.github.io/images/patrones/search/patrones-lab-google-thumbnail.jpg","width":600,"height":600},"thumbnailUrl":"https://malcolmdpc.github.io/images/patrones/search/patrones-lab-google-thumbnail.jpg","headline":"Patrones Lab · Analítica de Datos · Portfolio de proyectos ML y BI","about":{"@id":"https://malcolmdpc.github.io/#person"},"dateModified":"2026-06-22"},{"@type":"ProfilePage","@id":"https://malcolmdpc.github.io/#profile","name":"Patrones Lab","url":"https://malcolmdpc.github.io/","inLanguage":"es","description":"Patrones Lab reúne proyectos de analítica de datos, Business Intelligence y Machine Learning para explorar datos, detectar patrones, generar conocimiento y representar visualmente los descubrimientos.","about":{"@id":"https://malcolmdpc.github.io/#person"},"mainEntity":{"@id":"https://malcolmdpc.github.io/#person"},"isPartOf":{"@id":"https://malcolmdpc.github.io/#website"}}]}</script></head>
<body class="dark-mode fullscreen-sections-experiment pl-scroll-loader-active">
<div aria-label="Patrones Lab Data & Analytics. Tocar para entrar al sitio" class="pl-scroll-loader">
<section aria-label="Scroll para entrar al sitio" class="pl-scroll-loader__first first-page">
<div class="pl-scroll-loader__copy">
<div class="pl-scroll-loader__hero-text">Patrones Lab<span aria-hidden="true" class="dot"></span></div>
<p class="pl-scroll-loader__subtitle">Data & Analytics</p>
<div aria-hidden="true" class="pl-scroll-loader__arrow"></div>
</div>
</section>
<section aria-hidden="true" class="pl-scroll-loader__next next-page">
<div class="pl-scroll-loader__next-content"></div>
</section>
<div aria-hidden="true" class="pl-scroll-loader__spacer spacer"></div>
</div>
<a aria-label="Ver repositorio de Patrones Lab" class="floating-cta" href="https://github.com/malcolmdpc/patrones-lab" rel="noopener" target="_blank">
<span aria-hidden="true" class="floating-cta__dot"></span>
<span class="floating-cta__text">Ver repo</span>
<span aria-hidden="true" class="floating-cta__arrow">↗</span>
</a>
<div aria-hidden="true" class="floating-icon-layer"></div>
<nav class="navbar navbar-expand-sm navbar-light pl-smart-navbar pl-active-navbar">
<div class="container">
<a class="navbar-brand" href="index.html"><span class="brand-badge brand-image-badge"><img alt="" decoding="async" fetchpriority="high" height="180" src="images/patrones/navbar-bulb-animated.gif" width="180"/></span> Patrones Lab</a>
<div class="navbar-mobile-actions"><div class="language-selector language-selector-mobile"><button aria-expanded="false" aria-haspopup="true" aria-label="Cambiar idioma" class="language-select-toggle language-select-toggle-mobile" title="Idioma" type="button"><img alt="" aria-hidden="true" class="language-select-current-img" decoding="async" height="500" src="images/patrones/language-flags/flag-es.svg" width="750"/></button><div aria-label="Idiomas disponibles" class="language-menu" role="menu"><button aria-label="Español" class="language-option" data-lang="es" role="menuitem" title="Español" type="button"><img alt="" aria-hidden="true" class="language-option-img" decoding="async" fetchpriority="low" height="500" loading="lazy" src="images/patrones/language-flags/flag-es.svg" width="750"/></button><button aria-label="English" class="language-option" data-lang="en" role="menuitem" title="English" type="button"><img alt="" aria-hidden="true" class="language-option-img" decoding="async" fetchpriority="low" height="3900" loading="lazy" src="images/patrones/language-flags/flag-us.svg" width="7410"/></button><button aria-label="Italiano" class="language-option" data-lang="it" role="menuitem" title="Italiano" type="button"><img alt="" aria-hidden="true" class="language-option-img" decoding="async" fetchpriority="low" height="2" loading="lazy" src="images/patrones/language-flags/flag-it.svg" width="3"/></button></div></div><div aria-label="Cambiar modo visual" class="color-mode color-mode-mobile d-flex justify-content-center align-items-center" role="button" tabindex="0" title="Cambiar modo visual"><i class="color-mode-icon"></i></div></div><button aria-controls="navbarNav" aria-expanded="false" aria-label="Abrir navegación" class="navbar-toggler" data-target="#navbarNav" data-toggle="collapse" type="button">
<span class="navbar-toggler-icon"></span>
<span class="navbar-toggler-icon"></span>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav mx-auto">
<li class="nav-item"><a class="nav-link" data-section="inicio" href="#about">Inicio</a></li>
<li class="nav-item"><a class="nav-link" data-section="metodologia" href="#methodology">Metodología</a></li>
<li class="nav-item"><a class="nav-link" data-section="proyectos" href="#projects">Proyectos</a></li>
<li class="nav-item"><a class="nav-link" data-section="redes" href="#networks">Redes</a></li>
<li class="nav-item"><a class="nav-link" data-section="contacto" href="#contact">Contacto</a></li>
</ul>
<div class="navbar-nav ml-lg-auto">
<div class="ml-lg-4">
<div class="language-selector language-selector-desktop"><button aria-expanded="false" aria-haspopup="true" aria-label="Cambiar idioma" class="language-select-toggle language-select-toggle-desktop" title="Idioma" type="button"><img alt="" aria-hidden="true" class="language-select-current-img" decoding="async" height="500" src="images/patrones/language-flags/flag-es.svg" width="750"/></button><div aria-label="Idiomas disponibles" class="language-menu" role="menu"><button aria-label="Español" class="language-option" data-lang="es" role="menuitem" title="Español" type="button"><img alt="" aria-hidden="true" class="language-option-img" decoding="async" fetchpriority="low" height="500" loading="lazy" src="images/patrones/language-flags/flag-es.svg" width="750"/></button><button aria-label="English" class="language-option" data-lang="en" role="menuitem" title="English" type="button"><img alt="" aria-hidden="true" class="language-option-img" decoding="async" fetchpriority="low" height="3900" loading="lazy" src="images/patrones/language-flags/flag-us.svg" width="7410"/></button><button aria-label="Italiano" class="language-option" data-lang="it" role="menuitem" title="Italiano" type="button"><img alt="" aria-hidden="true" class="language-option-img" decoding="async" fetchpriority="low" height="2" loading="lazy" src="images/patrones/language-flags/flag-it.svg" width="3"/></button></div></div><div aria-label="Cambiar modo visual" class="color-mode d-lg-flex justify-content-center align-items-center" role="button" tabindex="0" title="Cambiar modo visual"><i class="color-mode-icon"></i></div>
</div>
</div>
</div>
</div>
</nav>
<section aria-label="Contenido principal" class="about section-glow glow-hero full-screen d-lg-flex justify-content-center align-items-center" id="about" role="main">
<div class="container">
<div class="row align-items-center">
<div class="col-lg-7 col-md-12 col-12 d-flex align-items-center">
<div class="about-text">
<small class="small-text hero-entry hero-entry-kicker">Portfolio de proyectos <span class="mobile-block">BI · ML · Python · Dashboards</span></small>
<h1 class="pl-hero-title hero-entry hero-entry-title">
<span class="hero-line">Transformo datos en</span>
<span aria-label="evidencia, modelos, dashboards, decisiones y patrones" class="hero-rotator">
<span>evidencia</span>
<span>modelos</span>
<span>dashboards</span>
<span>decisiones</span>
<span class="hero-rotator-word-patterns">patrones</span>
</span>
</h1>
<p class="hero-entry hero-entry-copy">Patrones Lab es un laboratorio de análisis de datos aplicado a fenómenos cotidianos y reales.<br/><br/>
Aquí se trabajan proyectos independientes construidos a partir de datos públicos, con foco en detectar patrones, describir comportamientos y comunicar los hallazgos con su contexto.<br/><br/>
El objetivo es plantear preguntas, preparar datos, construir análisis claros y generar resultados visuales.</p>
<div aria-label="Tecnologías utilizadas" class="hero-tech-marquee hero-entry hero-entry-buttons">
<div class="hero-tech-marquee-mask">
<div class="hero-tech-track">
<span class="tech-logo-card tech-logo-card-airflow">
<span class="tech-logo-icon-wrap">
<img alt="Airflow" class="tech-logo-img tech-logo-img-airflow" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/airflow.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Airflow</strong>
<small>Orquestación</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-sql-server">
<span class="tech-logo-icon-wrap">
<img alt="SQL Server" class="tech-logo-img tech-logo-img-sql-server" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/sql-server.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>SQL Server</strong>
<small>Base de datos</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-qlik">
<span class="tech-logo-icon-wrap">
<img alt="Qlik Cloud" class="tech-logo-img tech-logo-img-qlik" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/qlik-cloud.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Qlik Cloud</strong>
<small>Reporting</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-power-bi">
<span class="tech-logo-icon-wrap">
<img alt="Power BI" class="tech-logo-img tech-logo-img-power-bi" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/power-bi.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Power BI</strong>
<small>Reporting</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-spss">
<span class="tech-logo-icon-wrap">
<img alt="SPSS Modeler" class="tech-logo-img tech-logo-img-spss" decoding="async" fetchpriority="low" height="128" loading="lazy" src="images/patrones/tech-icons/spss-modeler.svg" width="128"/>
</span>
<span class="tech-logo-text">
<strong>SPSS Modeler</strong>
<small>Machine Learning</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-looker">
<span class="tech-logo-icon-wrap">
<img alt="Looker Studio" class="tech-logo-img tech-logo-img-looker" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/looker-studio.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Looker Studio</strong>
<small>Reporting</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-python">
<span class="tech-logo-icon-wrap">
<img alt="Python" class="tech-logo-img tech-logo-img-python" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/python.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Python</strong>
<small>Analytics</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-numpy">
<span class="tech-logo-icon-wrap">
<img alt="NumPy" class="tech-logo-img tech-logo-img-numpy" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/numpy.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>NumPy</strong>
<small>Cálculo numérico</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-scikit">
<span class="tech-logo-icon-wrap">
<img alt="Scikit-learn" class="tech-logo-img tech-logo-img-scikit" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/scikit-learn.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Scikit-learn</strong>
<small>Machine Learning</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-matplotlib">
<span class="tech-logo-icon-wrap">
<img alt="Matplotlib" class="tech-logo-img tech-logo-img-matplotlib" decoding="async" fetchpriority="low" height="128" loading="lazy" src="images/patrones/tech-icons/matplotlib.svg" width="128"/>
</span>
<span class="tech-logo-text">
<strong>Matplotlib</strong>
<small>Visualización</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-pandas">
<span class="tech-logo-icon-wrap">
<img alt="Pandas" class="tech-logo-img tech-logo-img-pandas" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/pandas.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Pandas</strong>
<small>Dataframes</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-plotly">
<span class="tech-logo-icon-wrap">
<img alt="Plotly" class="tech-logo-img tech-logo-img-plotly" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/plotly.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Plotly</strong>
<small>Visualización</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-snowflake">
<span class="tech-logo-icon-wrap">
<img alt="Snowflake" class="tech-logo-img tech-logo-img-snowflake" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/snowflake.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Snowflake</strong>
<small>Warehouse Cloud</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-databricks">
<span class="tech-logo-icon-wrap">
<img alt="Databricks" class="tech-logo-img tech-logo-img-databricks" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/databricks.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Databricks</strong>
<small>Lakehouse</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-dbt">
<span class="tech-logo-icon-wrap">
<img alt="dbt" class="tech-logo-img tech-logo-img-dbt" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/dbt.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>dbt</strong>
<small>Transformación</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-airflow">
<span class="tech-logo-icon-wrap">
<img alt="Airflow" class="tech-logo-img tech-logo-img-airflow" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/airflow.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Airflow</strong>
<small>Orquestación</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-sql-server">
<span class="tech-logo-icon-wrap">
<img alt="SQL Server" class="tech-logo-img tech-logo-img-sql-server" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/sql-server.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>SQL Server</strong>
<small>Base de datos</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-qlik">
<span class="tech-logo-icon-wrap">
<img alt="Qlik Cloud" class="tech-logo-img tech-logo-img-qlik" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/qlik-cloud.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Qlik Cloud</strong>
<small>Reporting</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-power-bi">
<span class="tech-logo-icon-wrap">
<img alt="Power BI" class="tech-logo-img tech-logo-img-power-bi" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/power-bi.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Power BI</strong>
<small>Reporting</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-spss">
<span class="tech-logo-icon-wrap">
<img alt="SPSS Modeler" class="tech-logo-img tech-logo-img-spss" decoding="async" fetchpriority="low" height="128" loading="lazy" src="images/patrones/tech-icons/spss-modeler.svg" width="128"/>
</span>
<span class="tech-logo-text">
<strong>SPSS Modeler</strong>
<small>Machine Learning</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-looker">
<span class="tech-logo-icon-wrap">
<img alt="Looker Studio" class="tech-logo-img tech-logo-img-looker" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/looker-studio.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Looker Studio</strong>
<small>Reporting</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-python">
<span class="tech-logo-icon-wrap">
<img alt="Python" class="tech-logo-img tech-logo-img-python" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/python.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Python</strong>
<small>Analytics</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-numpy">
<span class="tech-logo-icon-wrap">
<img alt="NumPy" class="tech-logo-img tech-logo-img-numpy" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/numpy.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>NumPy</strong>
<small>Cálculo numérico</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-scikit">
<span class="tech-logo-icon-wrap">
<img alt="Scikit-learn" class="tech-logo-img tech-logo-img-scikit" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/scikit-learn.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Scikit-learn</strong>
<small>Machine Learning</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-matplotlib">
<span class="tech-logo-icon-wrap">
<img alt="Matplotlib" class="tech-logo-img tech-logo-img-matplotlib" decoding="async" fetchpriority="low" height="128" loading="lazy" src="images/patrones/tech-icons/matplotlib.svg" width="128"/>
</span>
<span class="tech-logo-text">
<strong>Matplotlib</strong>
<small>Visualización</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-pandas">
<span class="tech-logo-icon-wrap">
<img alt="Pandas" class="tech-logo-img tech-logo-img-pandas" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/pandas.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Pandas</strong>
<small>Dataframes</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-plotly">
<span class="tech-logo-icon-wrap">
<img alt="Plotly" class="tech-logo-img tech-logo-img-plotly" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/plotly.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Plotly</strong>
<small>Visualización</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-snowflake">
<span class="tech-logo-icon-wrap">
<img alt="Snowflake" class="tech-logo-img tech-logo-img-snowflake" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/snowflake.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Snowflake</strong>
<small>Warehouse Cloud</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-databricks">
<span class="tech-logo-icon-wrap">
<img alt="Databricks" class="tech-logo-img tech-logo-img-databricks" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/databricks.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>Databricks</strong>
<small>Lakehouse</small>
</span>
</span>
<span class="tech-logo-card tech-logo-card-dbt">
<span class="tech-logo-icon-wrap">
<img alt="dbt" class="tech-logo-img tech-logo-img-dbt" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/dbt.svg" width="24"/>
</span>
<span class="tech-logo-text">
<strong>dbt</strong>
<small>Transformación</small>
</span>
</span>
</div>
</div>
</div>
<a aria-label="Explorar, ir a la sección Metodología" class="hero-scroll-indicator hero-entry hero-entry-scroll" href="#methodology">
<span class="hero-scroll-indicator__text">Explorar</span>
<span aria-hidden="true" class="hero-scroll-indicator__line"></span>
</a>
</div>
</div>
<div class="col-lg-5 col-md-12 col-12">
<div class="about-image svg hero-lab-card profile-hero-card hero-entry hero-entry-image">
<img alt="Foto de Malcolm, creador de Patrones Lab" class="img-fluid" decoding="async" fetchpriority="high" height="800" loading="eager" sizes="(max-width: 767px) 352px, 360px" src="images/patrones/malcolm-profile.webp" srcset="images/patrones/malcolm-profile-420.webp 420w, images/patrones/malcolm-profile.webp 800w" type="image/webp" width="800"/>
</div>
</div>
</div>
</div>
</section>
<section class="process-horizontal-edge-section" data-horizontal-process-section="" id="methodology">
<div class="process-horizontal-static-head"><h2>Ciclo de vida del dato</h2></div>
<div aria-label="Progreso de etapas" class="process-horizontal-guide">
<span class="process-horizontal-guide__line"></span>
<span class="process-horizontal-guide__progress"></span>
<button aria-label="Ir a etapa 1" class="process-horizontal-guide__bullet is-active" data-process-guide="0" type="button"></button>
<button aria-label="Ir a etapa 2" class="process-horizontal-guide__bullet" data-process-guide="1" type="button"></button>
<button aria-label="Ir a etapa 3" class="process-horizontal-guide__bullet" data-process-guide="2" type="button"></button>
<button aria-label="Ir a etapa 4" class="process-horizontal-guide__bullet" data-process-guide="3" type="button"></button>
<button aria-label="Ir a etapa 5" class="process-horizontal-guide__bullet" data-process-guide="4" type="button"></button>
<button aria-label="Ir a etapa 6" class="process-horizontal-guide__bullet" data-process-guide="5" type="button"></button>
</div>
<div class="process-horizontal-track wrapper">
<article class="process-horizontal-panel item is-dark-text" data-process-horizontal-item="" style="--panel-color:#ffc200">
<div class="process-horizontal-panel__inner">
<div class="process-horizontal-panel__copy">
<span class="process-horizontal-panel__number">1</span>
<h3>Descubrimiento</h3>
<small>Contexto y objetivo</small>
<p>Entendimiento del problema, la decisión a mejorar, los usuarios involucrados y el resultado esperado.</p>
<div aria-label="Tecnologías de la etapa" class="process-horizontal-tech"><span class="process-horizontal-tech-chip"><img alt="Power BI" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/power-bi.svg" width="24"/><span>Power BI</span></span><span class="process-horizontal-tech-chip"><img alt="Qlik Cloud" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/qlik-cloud.svg" width="24"/><span>Qlik Cloud</span></span><span class="process-horizontal-tech-chip"><img alt="Looker Studio" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/looker-studio.svg" width="24"/><span>Looker Studio</span></span><span class="process-horizontal-tech-chip"><img alt="SQL Server" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/sql-server.svg" width="24"/><span>SQL Server</span></span></div>
</div>
<figure aria-label="Visuales animados de la etapa 1: Descubrimiento" class="process-horizontal-panel__media process-card-swiper">
<div class="card-groups">
<div class="card-group" data-index="0" data-status="active">
<div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-01-card-01.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-01-card-02.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-01-card-03.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-01-card-04.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-01-card-05.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-01-card-06.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-01-card-07.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-01-card-08.webp" width="543"/></div>
</div>
</div>
</figure>
</div>
</article>
<article class="process-horizontal-panel item is-light-text" data-process-horizontal-item="" style="--panel-color:#0d0f0d">
<div class="process-horizontal-panel__inner">
<div class="process-horizontal-panel__copy">
<span class="process-horizontal-panel__number">2</span>
<h3>Fuentes</h3>
<small>Datos y diagnóstico</small>
<p>Identificación de las fuentes disponibles, su origen, actualización, confiabilidad y principales limitaciones.</p>
<div aria-label="Tecnologías de la etapa" class="process-horizontal-tech"><span class="process-horizontal-tech-chip"><img alt="SQL Server" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons-light/sql-server.svg" width="24"/><span>SQL Server</span></span><span class="process-horizontal-tech-chip"><img alt="Python" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons-light/python.svg" width="24"/><span>Python</span></span><span class="process-horizontal-tech-chip"><img alt="Pandas" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons-light/pandas.svg" width="24"/><span>Pandas</span></span><span class="process-horizontal-tech-chip"><img alt="NumPy" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons-light/numpy.svg" width="24"/><span>NumPy</span></span><span class="process-horizontal-tech-chip"><img alt="dbt" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons-light/dbt.svg" width="24"/><span>dbt</span></span></div>
</div>
<figure aria-label="Visuales animados de la etapa 2: Fuentes" class="process-horizontal-panel__media process-card-swiper">
<div class="card-groups">
<div class="card-group" data-index="0" data-status="active">
<div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-02-card-01.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-02-card-02.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-02-card-03.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-02-card-04.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-02-card-05.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-02-card-06.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-02-card-07.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-02-card-08.webp" width="543"/></div>
</div>
</div>
</figure>
</div>
</article>
<article class="process-horizontal-panel item is-dark-text" data-process-horizontal-item="" style="--panel-color:#f5f0e8">
<div class="process-horizontal-panel__inner">
<div class="process-horizontal-panel__copy">
<span class="process-horizontal-panel__number">3</span>
<h3>Preparación</h3>
<small>Base analítica</small>
<p>Organización, limpieza y combinación de datos para construir una base consistente y usable.</p>
<div aria-label="Tecnologías de la etapa" class="process-horizontal-tech"><span class="process-horizontal-tech-chip"><img alt="Python" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/python.svg" width="24"/><span>Python</span></span><span class="process-horizontal-tech-chip"><img alt="Pandas" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/pandas.svg" width="24"/><span>Pandas</span></span><span class="process-horizontal-tech-chip"><img alt="NumPy" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/numpy.svg" width="24"/><span>NumPy</span></span><span class="process-horizontal-tech-chip"><img alt="dbt" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/dbt.svg" width="24"/><span>dbt</span></span><span class="process-horizontal-tech-chip"><img alt="SQL Server" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/sql-server.svg" width="24"/><span>SQL Server</span></span></div>
</div>
<figure aria-label="Visuales animados de la etapa 3: Preparación" class="process-horizontal-panel__media process-card-swiper">
<div class="card-groups">
<div class="card-group" data-index="0" data-status="active">
<div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-03-card-01.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-03-card-02.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-03-card-03.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-03-card-04.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-03-card-05.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-03-card-06.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-03-card-07.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-03-card-08.webp" width="543"/></div>
</div>
</div>
</figure>
</div>
</article>
<article class="process-horizontal-panel item is-light-text" data-process-horizontal-item="" style="--panel-color:#1f2937">
<div class="process-horizontal-panel__inner">
<div class="process-horizontal-panel__copy">
<span class="process-horizontal-panel__number">4</span>
<h3>Construcción</h3>
<small>Solución</small>
<p>Desarrollo del análisis, modelo o dashboard necesario según el objetivo definido.</p>
<div aria-label="Tecnologías de la etapa" class="process-horizontal-tech"><span class="process-horizontal-tech-chip"><img alt="Scikit-learn" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons-light/scikit-learn.svg" width="24"/><span>Scikit-learn</span></span><span class="process-horizontal-tech-chip process-horizontal-tech-chip--matplotlib"><span aria-hidden="true" class="process-horizontal-tech-icon process-horizontal-tech-icon--matplotlib"></span><span>Matplotlib</span></span><span class="process-horizontal-tech-chip"><img alt="Plotly" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons-light/plotly.svg" width="24"/><span>Plotly</span></span><span class="process-horizontal-tech-chip"><img alt="Power BI" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons-light/power-bi.svg" width="24"/><span>Power BI</span></span><span class="process-horizontal-tech-chip"><img alt="Qlik Cloud" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons-light/qlik-cloud.svg" width="24"/><span>Qlik Cloud</span></span></div>
</div>
<figure aria-label="Visuales animados de la etapa 4: Construcción" class="process-horizontal-panel__media process-card-swiper">
<div class="card-groups">
<div class="card-group" data-index="0" data-status="active">
<div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-04-card-01.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-04-card-02.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-04-card-03.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-04-card-04.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-04-card-05.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-04-card-06.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-04-card-07.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-04-card-08.webp" width="543"/></div>
</div>
</div>
</figure>
</div>
</article>
<article class="process-horizontal-panel item is-light-text" data-process-horizontal-item="" style="--panel-color:#202126">
<div class="process-horizontal-panel__inner">
<div class="process-horizontal-panel__copy">
<span class="process-horizontal-panel__number">5</span>
<h3>Validación</h3>
<small>Control y confianza</small>
<p>Revisión de la coherencia, estabilidad y alineación de los resultados con la realidad del negocio.</p>
<div aria-label="Tecnologías de la etapa" class="process-horizontal-tech"><span class="process-horizontal-tech-chip"><img alt="Python" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons-light/python.svg" width="24"/><span>Python</span></span><span class="process-horizontal-tech-chip"><img alt="Scikit-learn" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons-light/scikit-learn.svg" width="24"/><span>Scikit-learn</span></span><span class="process-horizontal-tech-chip process-horizontal-tech-chip--matplotlib"><span aria-hidden="true" class="process-horizontal-tech-icon process-horizontal-tech-icon--matplotlib"></span><span>Matplotlib</span></span><span class="process-horizontal-tech-chip"><img alt="Plotly" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons-light/plotly.svg" width="24"/><span>Plotly</span></span><span class="process-horizontal-tech-chip"><img alt="SPSS Modeler" decoding="async" fetchpriority="low" height="128" loading="lazy" src="images/patrones/tech-icons-light/spss-modeler.svg" width="128"/><span>SPSS Modeler</span></span></div>
</div>
<figure aria-label="Visuales animados de la etapa 5: Validación" class="process-horizontal-panel__media process-card-swiper">
<div class="card-groups">
<div class="card-group" data-index="0" data-status="active">
<div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-05-card-01.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-05-card-02.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-05-card-03.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-05-card-04.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-05-card-05.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-05-card-06.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-05-card-07.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-05-card-08.webp" width="543"/></div>
</div>
</div>
</figure>
</div>
</article>
<article class="process-horizontal-panel item is-dark-text" data-process-horizontal-item="" style="--panel-color:#facc15">
<div class="process-horizontal-panel__inner">
<div class="process-horizontal-panel__copy">
<span class="process-horizontal-panel__number">6</span>
<h3>Entrega</h3>
<small>Publicación, automatización y evolución</small>
<p>Documentación del trabajo final, automatización de procesos recurrentes y consideración del feedback para mejoras futuras.</p>
<div aria-label="Tecnologías de la etapa" class="process-horizontal-tech"><span class="process-horizontal-tech-chip"><img alt="GitHub" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/canales-icons-dark/github.svg" width="24"/><span>GitHub</span></span><span class="process-horizontal-tech-chip"><img alt="Power BI" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/power-bi.svg" width="24"/><span>Power BI</span></span><span class="process-horizontal-tech-chip"><img alt="Qlik Cloud" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/qlik-cloud.svg" width="24"/><span>Qlik Cloud</span></span><span class="process-horizontal-tech-chip"><img alt="Looker Studio" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/looker-studio.svg" width="24"/><span>Looker Studio</span></span><span class="process-horizontal-tech-chip"><img alt="Plotly" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/tech-icons/plotly.svg" width="24"/><span>Plotly</span></span></div>
</div>
<figure aria-label="Visuales animados de la etapa 6: Entrega" class="process-horizontal-panel__media process-card-swiper">
<div class="card-groups">
<div class="card-group" data-index="0" data-status="active">
<div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-06-card-01.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-06-card-02.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-06-card-03.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-06-card-04.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-06-card-05.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-06-card-06.webp" width="543"/></div><div aria-hidden="true" class="little-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-06-card-07.webp" width="543"/></div><div aria-hidden="true" class="big-card card"><img alt="" decoding="async" fetchpriority="low" height="724" loading="lazy" src="images/patrones/process-horizontal/card-stack/stage-06-card-08.webp" width="543"/></div>
</div>
</div>
</figure>
</div>
</article>
</div>
</section>
<section class="contact py-5 github-projects-section section-glow glow-repo" id="projects">
<div class="container">
<div class="row">
<div class="col-lg-10 text-center mx-auto col-12">
<small class="section-kicker">Repositorio Patrones Lab</small>
<h2 class="mb-3 projects-title-display">Proyectos</h2>
<p class="projects-intro">
Selección de proyectos aplicados con datos públicos, metodología y resultados visuales.
Usá los filtros para navegar por disciplina, herramienta o tipo de entrega.
</p>
<div aria-label="Filtrar proyectos" class="repo-filter-toolbar repo-filter-toolbar-categories repo-filter-toolbar-hover-groups">
<button class="repo-filter-btn active" data-repo-filter="all" type="button"><span class="filter-icon">◎</span>Todos</button>
<div class="repo-filter-group">
<button aria-expanded="false" aria-haspopup="true" class="repo-filter-group-trigger" type="button">
Disciplina
</button>
<div aria-label="Disciplina" class="repo-filter-category-panel" role="group">
<button class="repo-filter-btn" data-repo-filter="bi" type="button"><span class="filter-icon">▦</span>BI</button>
<button class="repo-filter-btn" data-repo-filter="data-analysis" type="button"><span class="filter-icon">▥</span>Data Analysis</button>
<button class="repo-filter-btn" data-repo-filter="data-science" type="button"><span class="filter-icon">⚗</span>Data Science</button>
<button class="repo-filter-btn" data-repo-filter="machine-learning" type="button"><span class="filter-icon">✦</span>Machine Learning</button>
<button class="repo-filter-btn" data-repo-filter="data-storytelling" type="button"><span class="filter-icon">✎</span>Data Storytelling</button>
</div>
</div>
<div class="repo-filter-group">
<button aria-expanded="false" aria-haspopup="true" class="repo-filter-group-trigger" type="button">
Herramientas
</button>
<div aria-label="Herramientas" class="repo-filter-category-panel" role="group">
<button class="repo-filter-btn" data-repo-filter="python" type="button"><span class="filter-icon">◇</span>Python</button><button class="repo-filter-btn" data-repo-filter="power-bi" type="button"><span class="filter-icon">▥</span> Power BI</button>
<button class="repo-filter-btn" data-repo-filter="spss" type="button"><span class="filter-icon">◧</span>SPSS</button>
<button class="repo-filter-btn" data-repo-filter="looker-studio" type="button"><span class="filter-icon">◉</span>Looker Studio</button>
<button class="repo-filter-btn" data-repo-filter="dashboard" type="button"><span class="filter-icon">▣</span>Dashboard</button>
</div>
</div>
<div class="repo-filter-group">
<button aria-expanded="false" aria-haspopup="true" class="repo-filter-group-trigger" type="button">
Modelo
</button>
<div aria-label="Modelo" class="repo-filter-category-panel" role="group">
<button class="repo-filter-btn" data-repo-filter="modelo-supervisado" type="button"><span class="filter-icon">✓</span>Modelo Supervisado</button>
<button class="repo-filter-btn" data-repo-filter="modelo-no-supervisado" type="button"><span class="filter-icon">◎</span>Modelo No Supervisado</button>
<button class="repo-filter-btn" data-repo-filter="clasificacion" type="button"><span class="filter-icon">≡</span>Clasificación</button>
<button class="repo-filter-btn" data-repo-filter="clustering" type="button"><span class="filter-icon">✣</span>Clustering</button>
<button class="repo-filter-btn" data-repo-filter="knn" type="button"><span class="filter-icon">↗</span>KNN</button>
<button class="repo-filter-btn" data-repo-filter="k-means" type="button"><span class="filter-icon">⌖</span>K-means</button>
<button class="repo-filter-btn" data-repo-filter="regresion-logistica" type="button"><span class="filter-icon">⌁</span>Regresión Logística</button>
<button class="repo-filter-btn" data-repo-filter="dbscan" type="button"><span class="filter-icon">⊙</span>DBSCAN</button>
</div>
</div>
<div class="repo-filter-group">
<button aria-expanded="false" aria-haspopup="true" class="repo-filter-group-trigger" type="button">
Tema
</button>
<div aria-label="Tema" class="repo-filter-category-panel" role="group">
<button class="repo-filter-btn" data-repo-filter="geoespacial" type="button"><span class="filter-icon">⌖</span>Geoespacial</button>
<button class="repo-filter-btn" data-repo-filter="airbnb" type="button"><span class="filter-icon">⌂</span>Airbnb</button>
<button class="repo-filter-btn" data-repo-filter="taxi" type="button"><span class="filter-icon">◆</span>Taxi</button>
<button class="repo-filter-btn" data-repo-filter="futbol" type="button"><span class="filter-icon">●</span>Fútbol</button>
<button class="repo-filter-btn" data-repo-filter="aviacion" type="button"><span class="filter-icon">✈</span>Aviación</button>
<button class="repo-filter-btn" data-repo-filter="spotify" type="button"><span class="filter-icon">♪</span> Spotify</button><button class="repo-filter-btn" data-repo-filter="fraude" type="button"><span class="filter-icon">!</span>Fraude</button>
</div>
</div>
</div>
<div class="github-project-grid">
<article class="github-project-card project-card-detail-ready project-hover-magnetic" data-detail-aria-en="Open detail page for the Balearic Islands Flight Analysis project" data-detail-aria-es="Abrir detalle del proyecto Análisis de Vuelos en las Islas Baleares" data-detail-aria-it="Aprire la pagina di dettaglio del progetto Analisi del traffico aereo nelle Isole Baleari" data-project-id="aena-balearic-flights" data-tags="python data-storytelling aviacion data-analysis bi">
<a aria-label="Abrir detalle del proyecto Análisis de Vuelos en las Islas Baleares" class="project-image-link" href="proyectos/analisis-vuelos-islas-baleares.html">
<img alt="Proyecto Vuelos en Islas Baleares" decoding="async" fetchpriority="low" height="491" loading="lazy" src="images/patrones/projects/home-covers/p01-vuelos-baleares-cover.webp" width="393"/>
<span aria-hidden="true" class="project-detail-hover-cue"><span class="project-detail-hover-plus">+</span><span class="project-detail-hover-text" data-project-detail-cta="true">Ver detalle</span></span>
<div class="project-hover-layer"><div class="project-magnetic-bar"><span data-project-detail-cta="true">Ver detalle</span><b aria-hidden="true">+</b></div></div></a>
<div class="github-project-body">
<h3>Análisis de Vuelos en las Islas Baleares</h3>
<div class="project-meta-row"><p class="project-status published">✅ publicado</p><span aria-label="Año de los datos: 2025" class="project-data-year"><span class="project-data-label" data-data-year-label="true">datos:</span><span class="project-data-value">2025</span></span></div>
<p>Análisis de tráfico aéreo en España con datos públicos de AENA, con foco en volúmenes, patrones por aeropuerto y diferencias entre categorías.</p>
<div class="mini-tags"><span>Python</span><span>Data Storytelling</span><span>Aviación</span><span>Data Analysis</span><span>BI</span></div>
<div class="project-links-dual project-links-editorial">
<a aria-label="Abrir detalle del proyecto Análisis de Vuelos en las Islas Baleares" class="project-link has-destination-icon" href="proyectos/analisis-vuelos-islas-baleares.html">Entrar al proyecto<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-github"><img alt="" decoding="async" fetchpriority="low" height="63" loading="lazy" src="images/patrones/github-button-icon.png" width="64"/></span></a>
<a class="project-link secondary-project-link has-destination-icon" href="https://www.linkedin.com/pulse/turismo-en-las-islas-baleares-visto-desde-el-aire-qu%C3%A9-malcolm-dl9be" rel="noopener" target="_blank">Leer en LinkedIn<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-linkedin">in</span></a>
</div>
</div>
</article>
<article class="github-project-card featured project-card-detail-ready project-hover-magnetic" data-detail-aria-en="Open detail page for the Airbnb Lodging Analysis in London project" data-detail-aria-es="Abrir detalle del proyecto Análisis del Alojamiento Airbnb en Londres" data-detail-aria-it="Aprire la pagina di dettaglio del progetto Analisi degli alloggi Airbnb a Londra" data-project-id="airbnb-london-analysis" data-tags="python data-storytelling airbnb data-analysis bi geoespacial">
<a aria-label="Abrir detalle del proyecto Análisis del Alojamiento Airbnb en Londres" class="project-image-link" href="proyectos/analisis-alojamiento-airbnb-londres.html">
<img alt="Proyecto Airbnb en London" decoding="async" fetchpriority="low" height="491" loading="lazy" src="images/patrones/projects/home-covers/p02-airbnb-londres-cover.webp" width="393"/>
<span aria-hidden="true" class="project-detail-hover-cue"><span class="project-detail-hover-plus">+</span><span class="project-detail-hover-text" data-project-detail-cta="true">Ver detalle</span></span><div class="project-hover-layer"><div class="project-magnetic-bar"><span data-project-detail-cta="true">Ver detalle</span><b aria-hidden="true">+</b></div></div></a>
<div class="github-project-body">
<h3>Análisis del Alojamiento Airbnb en Londres</h3>
<div class="project-meta-row"><p class="project-status published">✅ publicado</p><span aria-label="Año de los datos: 2025" class="project-data-year"><span class="project-data-label" data-data-year-label="true">datos:</span><span class="project-data-value">2025</span></span></div>
<p>Análisis exploratorio del alojamiento Airbnb en Londres con foco en precio, categorías, reseñas y patrones territoriales.</p>
<div class="mini-tags"><span>Python</span><span>Data Storytelling</span><span>Airbnb</span><span>Data Analysis</span><span>BI</span><span>Geoespacial</span></div>
<div class="project-links-dual project-links-editorial">
<a aria-label="Abrir detalle del proyecto Análisis del Alojamiento Airbnb en Londres" class="project-link has-destination-icon" href="proyectos/analisis-alojamiento-airbnb-londres.html">Entrar al proyecto<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-github"><img alt="" decoding="async" fetchpriority="low" height="63" loading="lazy" src="images/patrones/github-button-icon.png" width="64"/></span></a>
<a class="project-link secondary-project-link has-destination-icon" href="https://www.linkedin.com/pulse/airbnb-en-londres-an%C3%A1lisis-del-alojamiento-precios-y-malcolm-ycoae" rel="noopener" target="_blank">Leer en LinkedIn<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-linkedin">in</span></a>
</div>
</div>
</article>
<article class="github-project-card project-card-detail-ready project-hover-magnetic" data-detail-aria-en="Open detail page for the Chicago Taxi Trip Analysis project" data-detail-aria-es="Abrir detalle del proyecto Análisis de Viajes en Taxi en Chicago" data-detail-aria-it="Aprire la pagina di dettaglio del progetto Analisi dei viaggi in taxi a Chicago" data-project-id="chicago-taxi-analysis" data-tags="python data-storytelling taxi data-analysis bi geoespacial">
<a class="project-image-link" href="proyectos/analisis-viajes-taxi-chicago.html">
<img alt="Proyecto Taxi Trip en Chicago" decoding="async" fetchpriority="low" height="491" loading="lazy" src="images/patrones/projects/home-covers/p03-taxi-chicago-cover.webp" width="393"/>
<span aria-hidden="true" class="project-detail-hover-cue"><span class="project-detail-hover-plus">+</span><span class="project-detail-hover-text" data-project-detail-cta="true">Ver detalle</span></span><div class="project-hover-layer"><div class="project-magnetic-bar"><span data-project-detail-cta="true">Ver detalle</span><b aria-hidden="true">+</b></div></div></a>
<div class="github-project-body">
<h3>Análisis de Viajes en Taxi en Chicago</h3>
<div class="project-meta-row"><p class="project-status published">✅ publicado</p><span aria-label="Año de los datos: 2026" class="project-data-year"><span class="project-data-label" data-data-year-label="true">datos:</span><span class="project-data-value">2026</span></span></div>
<p>Análisis de viajes de taxi en Chicago para estudiar duración, demanda, distribución geoespacial y patrones operativos.</p>
<div class="mini-tags"><span>Python</span><span>Data Storytelling</span><span>Taxi</span><span>Data Analysis</span><span>BI</span><span>Geoespacial</span></div>
<div class="project-links-dual project-links-editorial">
<a class="project-link has-destination-icon" href="proyectos/analisis-viajes-taxi-chicago.html">Entrar al proyecto<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-github"><img alt="" decoding="async" fetchpriority="low" height="63" loading="lazy" src="images/patrones/github-button-icon.png" width="64"/></span></a>
<a class="project-link secondary-project-link has-destination-icon" href="https://www.linkedin.com/pulse/taxi-trips-chicago-an%C3%A1lisis-sobre-la-red-urbana-de-malcolm-zo6we" rel="noopener" target="_blank">Leer en LinkedIn<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-linkedin">in</span></a>
</div>
</div>
</article>
<article class="github-project-card project-card-detail-ready project-hover-magnetic" data-detail-aria-en="Open detail page for the ML Model · Airbnb London project" data-detail-aria-es="Abrir detalle del proyecto Modelo ML · Airbnb London" data-detail-aria-it="Aprire la pagina di dettaglio del progetto Modello ML · Airbnb London" data-project-id="airbnb-london-ml" data-tags="python data-storytelling airbnb data-analysis bi geoespacial data-science machine-learning knn modelo-supervisado">
<a class="project-image-link" href="proyectos/modelo-ml-airbnb-london.html">
<img alt="Modelo ML Airbnb London" decoding="async" fetchpriority="low" height="491" loading="lazy" src="images/patrones/projects/home-covers/p04-ml-airbnb-london-cover.webp" width="393"/>
<span aria-hidden="true" class="project-detail-hover-cue"><span class="project-detail-hover-plus">+</span><span class="project-detail-hover-text" data-project-detail-cta="true">Ver detalle</span></span><div class="project-hover-layer"><div class="project-magnetic-bar"><span data-project-detail-cta="true">Ver detalle</span><b aria-hidden="true">+</b></div></div></a>
<div class="github-project-body">
<h3>Modelo ML · Airbnb London</h3>
<div class="project-meta-row"><p class="project-status published">✅ publicado</p><span aria-label="Año de los datos: 2025" class="project-data-year"><span class="project-data-label" data-data-year-label="true">datos:</span><span class="project-data-value">2025</span></span></div>
<p>Clasificación supervisada de anuncios relativamente caros o baratos dentro de cada tipo de alojamiento.</p>
<div class="mini-tags"><span>Python</span><span>Data Storytelling</span><span>Airbnb</span><span>Data Analysis</span><span>BI</span><span>Geoespacial</span><span>Data Science</span><span>Machine Learning</span><span>KNN</span><span>Modelo Supervisado</span></div>
<div class="project-links-dual project-links-editorial">
<a class="project-link has-destination-icon" href="proyectos/modelo-ml-airbnb-london.html">Entrar al proyecto<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-github"><img alt="" decoding="async" fetchpriority="low" height="63" loading="lazy" src="images/patrones/github-button-icon.png" width="64"/></span></a>
<a class="project-link secondary-project-link has-destination-icon" href="https://www.linkedin.com/pulse/airbnb-en-londres-an%C3%A1lisis-del-alojamiento-precios-y-malcolm-ycoae" rel="noopener" target="_blank">Leer en LinkedIn<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-linkedin">in</span></a>
</div>
</div>
</article>
<article class="github-project-card featured project-card-detail-ready project-hover-magnetic" data-detail-aria-en="Open detail page for the Looker Dashboard · Chicago Taxi Trips project" data-detail-aria-es="Abrir detalle del proyecto Dashboard Looker · Taxi Trips Chicago" data-detail-aria-it="Aprire la pagina di dettaglio del progetto Dashboard Looker · Taxi Trips Chicago" data-project-id="looker-chicago-taxi-dashboard" data-tags="looker-studio taxi data-analysis bi dashboard">
<a class="project-image-link" href="proyectos/dashboard-looker-taxi-trips-chicago.html">
<img alt="Dashboard Looker Taxi Trips Chicago" decoding="async" fetchpriority="low" height="491" loading="lazy" src="images/patrones/projects/home-covers/p05-looker-taxi-chicago-cover.webp" width="393"/>
<span aria-hidden="true" class="project-detail-hover-cue"><span class="project-detail-hover-plus">+</span><span class="project-detail-hover-text" data-project-detail-cta="true">Ver detalle</span></span><div class="project-hover-layer"><div class="project-magnetic-bar"><span data-project-detail-cta="true">Ver detalle</span><b aria-hidden="true">+</b></div></div></a>
<div class="github-project-body">
<h3>Dashboard Looker · Taxi Trips Chicago</h3>
<div class="project-meta-row"><p class="project-status published">✅ publicado</p><span aria-label="Año de los datos: 2026" class="project-data-year"><span class="project-data-label" data-data-year-label="true">datos:</span><span class="project-data-value">2026</span></span></div>
<p>Dashboard interactivo en Looker Studio para explorar viajes de taxi en Chicago, indicadores operativos, patrones horarios y recorridos pickup-dropoff.</p>
<div class="mini-tags"><span>Looker Studio</span><span>Taxi</span><span>Data Analysis</span><span>BI</span><span>Dashboard</span></div>
<div class="project-links-dual project-links-dashboard">
<a class="project-link has-destination-icon" href="proyectos/dashboard-looker-taxi-trips-chicago.html">Entrar al proyecto<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-dashboard"><img alt="" decoding="async" fetchpriority="low" height="64" loading="lazy" src="images/patrones/looker-button-icon.png" width="64"/></span></a>
<a class="project-link secondary-project-link has-destination-icon" href="https://github.com/malcolmdpc/patrones-lab/tree/main/2026-03_taxi-trip-chicago" rel="noopener" target="_blank">Ver documentación<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-github"><img alt="" decoding="async" fetchpriority="low" height="63" loading="lazy" src="images/patrones/github-button-icon.png" width="64"/></span></a>
</div>
</div>
</article>
<article class="github-project-card muted-card" data-project-id="statsbomb-expected-goals-xg" data-tags="python data-storytelling futbol data-analysis bi data-science machine-learning regresion-logistica modelo-supervisado">
<a class="project-image-link" href="https://github.com/malcolmdpc/patrones-lab/tree/main/2026-04_futbol-statsbomb">
<img alt="Contenido en preparación" decoding="async" fetchpriority="low" height="472" loading="lazy" src="images/patrones/projects/home-covers/p06-xg-futbol-statsbomb-cover.webp" width="378"/>
</a>
<div class="github-project-body">
<h3>Modelo ML · Goles Esperados (xG)</h3>
<div class="project-meta-row"><p class="project-status development">⚠️ en desarrollo</p><span aria-label="Año de los datos: 2022" class="project-data-year"><span class="project-data-label" data-data-year-label="true">datos:</span><span class="project-data-value">2022</span></span></div>
<p>Próximamente.</p>
<div class="mini-tags"><span>Python</span><span>Data Storytelling</span><span>Fútbol</span><span>Data Analysis</span><span>BI</span><span>Data Science</span><span>Machine Learning</span><span>Regresión Logística</span><span>Modelo Supervisado</span></div>
<a class="project-link has-destination-icon" href="https://github.com/malcolmdpc/patrones-lab/tree/main/2026-04_futbol-statsbomb" rel="noopener" target="_blank">Entrar al proyecto<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-github"><img alt="" decoding="async" fetchpriority="low" height="63" loading="lazy" src="images/patrones/github-button-icon.png" width="64"/></span></a>
</div>
</article>
<article class="github-project-card project-card-detail-ready project-hover-magnetic" data-detail-aria-en="Open detail page for the Football Probabilities · Expected Threat (xT) project" data-detail-aria-es="Abrir detalle del proyecto Probabilidades en el Fútbol · Peligro Esperado (xT)" data-detail-aria-it="Aprire la pagina di dettaglio del progetto Probabilità nel calcio · Peligro Esperado (xT)" data-project-id="statsbomb-expected-threat-xt" data-tags="python data-storytelling futbol data-analysis bi data-science">
<a class="project-image-link" href="proyectos/probabilidades-futbol-peligro-esperado-xt.html">
<img alt="Modelo Probabilístico xT" decoding="async" fetchpriority="low" height="472" loading="lazy" src="images/patrones/projects/home-covers/p07-xt-futbol-statsbomb-cover.webp" width="378"/>
<span aria-hidden="true" class="project-detail-hover-cue"><span class="project-detail-hover-plus">+</span><span class="project-detail-hover-text" data-project-detail-cta="true">Ver detalle</span></span><div class="project-hover-layer"><div class="project-magnetic-bar"><span data-project-detail-cta="true">Ver detalle</span><b aria-hidden="true">+</b></div></div></a>
<div class="github-project-body">
<h3>Probabilidades en el Fútbol · Peligro Esperado (xT)</h3>
<div class="project-meta-row"><p class="project-status published">✅ publicado</p><span aria-label="Año de los datos: 2022" class="project-data-year"><span class="project-data-label" data-data-year-label="true">datos:</span><span class="project-data-value">2022</span></span></div>
<p>Modelo probabilístico de Peligro Esperado en el fútbol con datos públicos de StatsBomb. Se estima la probabilidad de gol en las próximas 5 jugadas.</p>
<div class="mini-tags"><span>Python</span><span>Data Storytelling</span><span>Fútbol</span><span>Data Analysis</span><span>BI</span><span>Data Science</span></div>
<div class="project-links-dual"><a class="project-link has-destination-icon" href="proyectos/probabilidades-futbol-peligro-esperado-xt.html">Entrar al proyecto<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-github"><img alt="" decoding="async" fetchpriority="low" height="63" loading="lazy" src="images/patrones/github-button-icon.png" width="64"/></span></a><a class="project-link secondary-project-link has-destination-icon" href="https://www.linkedin.com/pulse/f%C3%BAtbol-y-probabilidades-c%C3%A1lculo-del-peligro-esperado-malcolm-acide" rel="noopener" target="_blank">Leer en LinkedIn<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-linkedin">in</span></a></div></div>
</article>
<article class="github-project-card project-card-detail-ready project-hover-magnetic" data-detail-aria-en="Open detail page for the ML Model · Fraud with K-means project" data-detail-aria-es="Abrir detalle del proyecto Modelo ML · Fraude con K-means" data-detail-aria-it="Aprire la pagina di dettaglio del progetto Modello ML · Frode con K-means" data-project-id="fraud-detection-kmeans" data-tags="machine-learning python clustering spss fraude k-means modelo-no-supervisado data-science">
<a class="project-image-link" href="proyectos/modelo-ml-fraude-kmeans.html">
<img alt="Modelo ML de detección de fraude con clustering K-means" decoding="async" fetchpriority="low" height="491" loading="lazy" src="images/patrones/projects/home-covers/p08-fraude-kmeans-cover.webp" width="393"/>
<span aria-hidden="true" class="project-detail-hover-cue"><span class="project-detail-hover-plus">+</span><span class="project-detail-hover-text" data-project-detail-cta="true">Ver detalle</span></span><div class="project-hover-layer"><div class="project-magnetic-bar"><span data-project-detail-cta="true">Ver detalle</span><b aria-hidden="true">+</b></div></div></a>
<div class="github-project-body">
<h3>Modelo ML · Detección de Fraude</h3>
<p class="project-status published">✅ publicado</p>
<p>Clustering no supervisado con K-means para la detección de fraudes con tarjetas de crédito.</p>
<div class="mini-tags">
<span>Data Science</span><span>Machine Learning</span><span>Python</span><span>Clustering</span><span>SPSS</span><span>Fraude</span><span>K-means</span>
<span>Modelo No Supervisado</span></div>
<div class="project-links-dual">
<a class="project-link" href="proyectos/modelo-ml-fraude-kmeans.html">Entrar al proyecto</a>
<a class="project-link secondary-project-link" href="https://github.com/malcolmdpc/MachineLearningConPython" rel="noopener" target="_blank">Ver en Python</a>
</div>
</div>
</article>
<article class="github-project-card project-card-detail-ready project-hover-magnetic" data-detail-aria-en="Open detail page for the ML Model · Fraud with Logistic Regression project" data-detail-aria-es="Abrir detalle del proyecto Modelo ML · Fraude con Regresión logística" data-detail-aria-it="Aprire la pagina di dettaglio del progetto Modello ML · Frode con regressione logistica" data-project-id="fraud-detection-logistic-regression" data-tags="machine-learning python clasificacion spss fraude regresion-logistica modelo-supervisado data-science">
<a class="project-image-link" href="proyectos/modelo-ml-fraude-regresion-logistica.html">
<img alt="Modelo ML de detección de fraude con regresión logística" decoding="async" fetchpriority="low" height="491" loading="lazy" src="images/patrones/projects/home-covers/p09-fraude-regresion-logistica-cover.webp" width="393"/>
<span aria-hidden="true" class="project-detail-hover-cue"><span class="project-detail-hover-plus">+</span><span class="project-detail-hover-text" data-project-detail-cta="true">Ver detalle</span></span><div class="project-hover-layer"><div class="project-magnetic-bar"><span data-project-detail-cta="true">Ver detalle</span><b aria-hidden="true">+</b></div></div></a>
<div class="github-project-body">
<h3>Modelo ML · Detección de Fraude</h3>
<p class="project-status published">✅ publicado</p>
<p>Clasificación supervisada mediante regresión logística para la detección de fraude con tarjeta de crédito.</p>
<div class="mini-tags">
<span>Data Science</span><span>Machine Learning</span><span>Python</span><span>Clasificación</span><span>SPSS</span><span>Fraude</span><span>Regresión Logística</span>
<span>Modelo Supervisado</span></div>
<div class="project-links-dual">
<a class="project-link" href="proyectos/modelo-ml-fraude-regresion-logistica.html">Entrar al proyecto</a>
<a class="project-link secondary-project-link" href="https://github.com/malcolmdpc/MachineLearningConPython" rel="noopener" target="_blank">Ver en Python</a>
</div>
</div>
</article>
<article class="github-project-card project-card-detail-ready project-hover-magnetic" data-detail-aria-en="Open detail page for the ML Model · Fraud with DBSCAN project" data-detail-aria-es="Abrir detalle del proyecto Modelo ML · Fraude con DBSCAN" data-detail-aria-it="Aprire la pagina di dettaglio del progetto Modello ML · Frode con DBSCAN" data-project-id="fraud-detection-dbscan" data-tags="machine-learning python clustering fraude dbscan modelo-no-supervisado data-science">
<a class="project-image-link" href="proyectos/modelo-ml-fraude-dbscan.html">
<img alt="Modelo ML de detección de fraude con clustering DBSCAN" decoding="async" fetchpriority="low" height="491" loading="lazy" src="images/patrones/projects/home-covers/p10-fraude-dbscan-cover.webp" width="393"/>
<span aria-hidden="true" class="project-detail-hover-cue"><span class="project-detail-hover-plus">+</span><span class="project-detail-hover-text" data-project-detail-cta="true">Ver detalle</span></span><div class="project-hover-layer"><div class="project-magnetic-bar"><span data-project-detail-cta="true">Ver detalle</span><b aria-hidden="true">+</b></div></div></a>
<div class="github-project-body">
<h3>Modelo ML · Detección de Fraude</h3>
<p class="project-status published">✅ publicado</p>
<p>Clustering no supervisado con DBSCAN para identificar posibles fraudes con tarjeta de crédito.</p>
<div class="mini-tags">
<span>Data Science</span><span>Machine Learning</span><span>Python</span><span>Clustering</span><span>Fraude</span><span>DBSCAN</span>
<span>Modelo No Supervisado</span></div>
<a class="project-link has-destination-icon" href="proyectos/modelo-ml-fraude-dbscan.html">Entrar al proyecto<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-github"><img alt="" decoding="async" fetchpriority="low" height="63" loading="lazy" src="images/patrones/github-button-icon.png" width="64"/></span></a>
</div>
</article>
<article class="github-project-card project-card-detail-ready project-hover-magnetic" data-detail-aria-en="Open detail page for the 2022 World Cup Statistics: Percentile Radar project" data-detail-aria-es="Abrir detalle del proyecto Estadísticas del Mundial 2022: Radar de Percentiles" data-detail-aria-it="Aprire la pagina di dettaglio del progetto Statistiche Mondiali 2022: Radar dei percentili" data-project-id="qatar-2022-world-cup-stats" data-tags="python data-storytelling futbol data-analysis bi data-science">
<a class="project-image-link" href="proyectos/estadisticas-mundial-futbol-qatar-2022.html">
<img alt="Estadísticas del Mundial 2022: Radar de Percentiles" decoding="async" fetchpriority="low" height="1152" loading="lazy" src="images/patrones/projects/home-covers/p11-mundial-2022-radar-percentiles-cover.webp" width="768"/>
<span aria-hidden="true" class="project-detail-hover-cue"><span class="project-detail-hover-plus">+</span><span class="project-detail-hover-text" data-project-detail-cta="true">Ver detalle</span></span><div class="project-hover-layer"><div class="project-magnetic-bar"><span data-project-detail-cta="true">Ver detalle</span><b aria-hidden="true">+</b></div></div></a>
<div class="github-project-body">
<h3>Estadísticas del Mundial 2022: Radar de Percentiles</h3>
<div class="project-meta-row"><p class="project-status published">✅ publicado</p><span aria-label="Año de los datos: 2022" class="project-data-year"><span class="project-data-label" data-data-year-label="true">datos:</span><span class="project-data-value">2022</span></span></div>
<p>Análisis de estadísticas del Mundial 2022 con datos públicos de StatsBomb, orientado a resumir rendimientos individuales y comparar jugadores mediante radar de percentiles.</p>
<div class="mini-tags"><span>Python</span><span>Data Storytelling</span><span>Fútbol</span><span>Data Analysis</span><span>BI</span><span>Data Science</span></div>
<div class="project-links-dual project-links-editorial">
<a class="project-link has-destination-icon" href="https://github.com/malcolmdpc/patrones-lab/blob/main/2026-04_futbol-statsbomb/notebooks/03_radar_valoracion_jugador.ipynb" rel="noopener" target="_blank">Entrar al proyecto<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-github"><img alt="" decoding="async" fetchpriority="low" height="63" loading="lazy" src="images/patrones/github-button-icon.png" width="64"/></span></a>
<a class="project-link secondary-project-link has-destination-icon" href="https://www.linkedin.com/posts/malcolmdpc_footballanalytics-dataanalytics-python-ugcPost-7468343510862200833-XPLV/" rel="noopener" target="_blank">Leer en LinkedIn<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-linkedin">in</span></a>
</div>
</div>
</article>
<article class="github-project-card muted-card project-card-detail-ready project-hover-magnetic" data-detail-aria-en="Open detail page for the Geospatial Analysis of Taxi Trips project" data-detail-aria-es="Abrir detalle del proyecto Análisis Geoespacial de los Viajes en Taxi" data-detail-aria-it="Aprire la pagina di dettaglio del progetto Analisi geospaziale dei viaggi in taxi" data-project-id="chicago-taxi-geospatial-analysis" data-tags="python data-storytelling taxi data-analysis bi geoespacial">
<a class="project-image-link" href="proyectos/analisis-geoespacial-viajes-taxi.html">
<img alt="Análisis Geoespacial de los Viajes en Taxi" decoding="async" fetchpriority="low" height="491" loading="lazy" src="images/patrones/projects/home-covers/p12-taxi-geoespacial-cover.webp" width="393"/>
<span aria-hidden="true" class="project-detail-hover-cue"><span class="project-detail-hover-plus">+</span><span class="project-detail-hover-text" data-project-detail-cta="true">Ver detalle</span></span><div class="project-hover-layer"><div class="project-magnetic-bar"><span data-project-detail-cta="true">Ver detalle</span><b aria-hidden="true">+</b></div></div></a>
<div class="github-project-body">
<h3>Análisis Geoespacial de los Viajes en Taxi</h3>
<div class="project-meta-row"><p class="project-status published">✅ publicado</p><span aria-label="Año de los datos: 2026" class="project-data-year"><span class="project-data-label" data-data-year-label="true">datos:</span><span class="project-data-value">2026</span></span></div>
<p>Análisis de viajes de taxi en Chicago con foco en ubicación geográfica, movimientos entre puntos, predominios de zonas y rutas.</p>
<div class="mini-tags"><span>Python</span><span>Data Storytelling</span><span>Taxi</span><span>Data Analysis</span><span>BI</span><span>Geoespacial</span></div>
<div class="project-links-dual project-links-editorial">
<a class="project-link has-destination-icon" href="proyectos/analisis-geoespacial-viajes-taxi.html">Entrar al proyecto<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-github"><img alt="" decoding="async" fetchpriority="low" height="63" loading="lazy" src="images/patrones/github-button-icon.png" width="64"/></span></a>
<a class="project-link secondary-project-link has-destination-icon" href="https://www.linkedin.com/pulse/taxi-trips-chicago-an%C3%A1lisis-geoespacial-qu%C3%A9-muestran-malcolm-cjjae" rel="noopener" target="_blank">Leer en LinkedIn<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-linkedin">in</span></a>
</div>
</div>
</article>
<article class="github-project-card project-card-detail-ready project-hover-magnetic" data-detail-aria-en="Open detail page for the Power BI Spotify Charts dashboard project" data-detail-aria-es="Abrir detalle del proyecto Dashboard en Power BI · Spotify Charts" data-detail-aria-it="Aprire la pagina di dettaglio del progetto Dashboard in Power BI · Spotify Charts" data-project-id="spotify-charts-powerbi-dashboard" data-tags="power-bi spotify dashboard data-analysis bi data-storytelling"><a aria-label="Abrir detalle del proyecto Dashboard en Power BI · Spotify Charts" class="project-image-link" href="proyectos/dashboard-power-bi-spotify-charts.html"><img alt="Dashboard en Power BI · Spotify Charts" decoding="async" fetchpriority="low" height="491" loading="lazy" src="images/patrones/projects/home-covers/p13-spotify-powerbi-cover.webp" width="393"/><span aria-hidden="true" class="project-detail-hover-cue"><span class="project-detail-hover-plus">+</span><span class="project-detail-hover-text" data-project-detail-cta="true">Ver detalle</span></span><div class="project-hover-layer"><div class="project-magnetic-bar"><span data-project-detail-cta="true">Ver detalle</span><b aria-hidden="true">+</b></div></div></a><div class="github-project-body"><h3>Dashboard en Power BI · Spotify Charts</h3><div class="project-meta-row"><p class="project-status development">⚠️ en desarrollo</p><span aria-label="Año de los datos: 2026" class="project-data-year"><span class="project-data-label" data-data-year-label="true">datos:</span><span class="project-data-value">2026</span></span></div><p>Análisis de rankings musicales de Spotify Charts con datos públicos de canciones, artistas, álbumes y mercados, orientado a explorar streams, presencia en charts, liderazgo temporal y distribución territorial mediante un dashboard interactivo en Power BI.</p><div class="mini-tags"><span>Power BI</span><span>Spotify</span><span>Dashboard</span><span>Análisis de datos</span><span>BI</span><span>Data storytelling</span></div><div class="project-links-dual project-links-editorial"><a aria-label="Abrir detalle del proyecto Dashboard en Power BI · Spotify Charts" class="project-link has-destination-icon" href="proyectos/dashboard-power-bi-spotify-charts.html">Entrar al proyecto<span aria-hidden="true" class="btn-destination-icon btn-destination-icon-github"><img alt="" decoding="async" fetchpriority="low" height="63" loading="lazy" src="images/patrones/github-button-icon.png" width="64"/></span></a></div></div></article></div>
<p class="repo-empty-message" hidden="">No hay proyectos para esa categoría todavía.</p>
</div>
</div></div></section>
<section class="project py-5 social-section section-glow glow-social" id="networks">
<div class="container">
<div class="row">
<div class="col-lg-10 text-center mx-auto col-12">
<small class="section-kicker">Canales de Patrones Lab</small>
<h2 class="mb-3 projects-title-display">Redes y canales</h2>
<p class="social-intro">
Todo el ecosistema del proyecto en un solo lugar: visuales, notas técnicas, publicaciones,
dashboards, enlaces útiles y contacto profesional.
</p>
<div class="social-grid social-grid-complete">
<a aria-label="Instagram Patrones Lab" class="social-card instagram" href="https://www.instagram.com/patroneslab/" rel="noopener" target="_blank">
<span class="social-icon">
<img alt="" aria-hidden="true" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/canales-icons/instagram.svg" width="24"/>
</span>
<strong>Instagram</strong>
<small>Visuales y posts</small>
</a>
<a aria-label="LinkedIn Malcolm" class="social-card linkedin" href="https://www.linkedin.com/in/malcolmdpc/" rel="noopener" target="_blank">
<span class="social-icon">
<img alt="" aria-hidden="true" decoding="async" fetchpriority="low" height="512" loading="lazy" src="images/patrones/canales-icons/linkedin.svg" width="448"/>
</span>
<strong>LinkedIn</strong>
<small>Perfil profesional</small>
</a>
<a aria-label="Medium Malcolm DPC" class="social-card medium" href="https://medium.com/@malcolmdpc" rel="noopener" target="_blank">
<span class="social-icon">
<img alt="" aria-hidden="true" decoding="async" fetchpriority="low" height="35" loading="lazy" src="images/patrones/canales-icons/medium-2026.png" width="52"/>
</span>
<strong>Medium</strong>
<small>Artículos y notas</small>
</a>
<a aria-label="Linktree Patrones Lab" class="social-card linktree" href="https://linktr.ee/PatronesLab" rel="noopener" target="_blank">
<span class="social-icon">
<img alt="" aria-hidden="true" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/canales-icons/linktree.svg" width="24"/>
</span>
<strong>Linktree</strong>
<small>Todos los enlaces</small>
</a>
<a aria-label="GitHub Malcolm" class="social-card github" href="https://github.com/malcolmdpc" rel="noopener" target="_blank">
<span class="social-icon">
<img alt="" aria-hidden="true" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/canales-icons/github.svg" width="24"/>
</span>
<strong>GitHub</strong>
<small>Perfil técnico</small>
</a>
<a aria-label="Repositorio Patrones Lab" class="social-card repo" href="https://github.com/malcolmdpc/patrones-lab" rel="noopener" target="_blank">
<span class="social-icon">
<img alt="" aria-hidden="true" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/canales-icons/github-repo.svg" width="24"/>
</span>
<strong>Repo</strong>
<small>Patrones Lab</small>
</a>
<a aria-label="Dashboard Looker Studio" class="social-card dashboard" href="https://datastudio.google.com/reporting/b0b32df2-f110-4bac-8dfb-3be359d4888d" rel="noopener" target="_blank">
<span class="social-icon">
<img alt="" aria-hidden="true" decoding="async" fetchpriority="low" height="24" loading="lazy" src="images/patrones/canales-icons/looker-studio.svg" width="24"/>
</span>
<strong>Dashboard</strong>
<small>Looker Studio</small>
</a>
<a aria-label="Email de contacto" class="social-card mail" href="mailto:encontrandopatrones@gmail.com">
<span class="social-icon">
<img alt="" aria-hidden="true" decoding="async" fetchpriority="low" height="76" loading="lazy" src="images/patrones/canales-icons/gmail-2026.png" width="96"/>
</span>
<strong>Email</strong>
<small>Contacto directo</small>
</a>
</div>
</div>
</div>
</div>
</section>
<section class="contact py-5 contact-form-section section-glow glow-contact" id="contact">
<div class="container">
<div class="row align-items-stretch justify-content-center">
<div class="col-lg-5 col-12 mb-4 mb-lg-0">
<div class="contact-panel">
<h3>Contacto</h3>
<p>Para oportunidades profesionales, colaboración analítica o proyectos de BI · ML · Dashboards.</p>
<p class="contact-email-line"><strong>correo:</strong> <a href="mailto:encontrandopatrones@gmail.com">encontrandopatrones@gmail.com</a></p>
</div>
</div>
<div class="col-lg-7 col-12">
<div class="contact-form boxed-mail-form">
<h2 class="mb-3">Dejame un mensaje</h2>
<p class="form-note">Escribime y te responderé a la brevedad.</p>
<form id="contactForm">
<div class="row">
<div class="col-lg-6 col-12">
<input class="form-control" id="name" name="name" placeholder="Nombre" type="text"/>
</div>
<div class="col-lg-6 col-12">
<input class="form-control" id="email" name="email" placeholder="Email" type="email"/>
</div>
<div class="col-12">
<textarea class="form-control" id="message" name="message" placeholder="Mensaje" rows="6"></textarea>
</div>
<div class="ml-lg-auto col-lg-5 col-12">
<input class="form-control submit-btn" type="submit" value="Preparar email"/>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</section>
<footer class="footer py-5">
<div class="container">
<div class="row">
<div class="col-lg-12 col-12">
<p class="copyright-text text-center">Patrones Lab® · Generando conocimiento a partir de los datos · por Malcolm Di Pietro Cagliari</p>
</div>
</div>
</div>
</footer>
<script defer="" src="js/jquery-3.3.1.min.js"></script>
<script defer="" src="js/popper.min.js"></script>
<script defer="" src="js/bootstrap.min.js"></script>
<script defer="" src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"></script>
<script defer="" src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollTrigger.min.js"></script>
<script defer="" src="js/custom.js"></script>
</body>
</html>