APGIA

Anna's Performance & Garmin Intelligence App

🚴
Anna Graboski
14/04/1989 (36 anos) · Rio de Janeiro, RJ
Ciclista endurance · Sóbria desde 12/02/2022
FTP ~219W 68kg W/kg 3.22 CTL 89

📊 Indicadores Atuais (fev/26)

46.6%
Hematócrito
↓ era 53.7%
93.7
Ferritina
↑ era 26.1
57.3%
Sat. Transferrina
↑ acima ref
37
HDL
crônico <40
42ms
HRV Baseline
62bpm
RHR Baseline
57%
Recovery Médio
16% RED / 36% GREEN
89
CTL (Fitness)
Pico: 119

📐 Dados Físicos

Peso atual68 kg (era 77kg em dez/25)
FTP estimado~219W (melhor 20min: 231W)
W/kg no FTP3.22 (era 2.84 a 77kg)
HRmax registrada~192 bpm

⌚ Equipamentos & Dados

RelógioGarmin (GPS, potência, FC)
Wearable 24hWhoop (HRV, recovery, sono)
Power meterSim
📁 Datasets disponíveis
DatasetPeríodoRows
Garmin Cycling2022–2026~3.3M registros/s
Whoop DailyFev/25–Fev/26371 dias
Lab ResultsSet/25–Fev/264 exames, 55 marcadores

🏥 Condições Ativas

Hipoglicemia reativa TDAH DIU Mirena Síndrome de Quebra-Nozes Varizes pélvicas Sóbria desde 12/02/2022
Sem vesícula (2020) · Bypass Roux-en-Y (2013) — absorção permanentemente alterada: ferro oral ≈0, B12 reduzida, lipossolúveis (A,D,E,K) comprometidas

💊 Medicação & Suplementação Atual

SubstânciaViaRegime
Lamotrigina (Lamitor) 50mgOralContínuo
Oxandrolona 5mgOralVariável
Mounjaro (tirzepatida) 2.5mgSC1x/semana (desde 15/12/25)
📋 Suplementação detalhada
SubstânciaViaRegimeNota
Noripurum (ferro)IVSob demandaÚnica via eficaz pós-bypass
Hemax Eritron (ferro)Oral3x→1x→quinzenal→pausaAbsorção mínima, complementar ao IV
Vitamina D 50.000 UIOralSob demanda (sem uso atual)Último nível: 78 ng/mL
Vitamina B12IM/OralSob demandaAbsorção oral reduzida pós-bypass
MagnésioOralDiário (~85-93% aderência)Consistente
CreatinaOralPausadoParou pós-prova dez/25 (inchaço)
🔪 Histórico Cirúrgico (12 procedimentos)
AnoProcedimentoRelevância p/ performance
2009Cesariana
2011Hemorroidectomia
2013Bypass gástrico Roux-en-YAlta — absorção permanentemente alterada
2014Discectomia lombarMédia — posição no selim, core
2014Retalho craniano em derme
2015Fotocoagulação a laser bilateral (retinas)Média — esforço intenso e pressão intraocular
2017Correção de hérnia de PetersenMédia — hérnia interna pós-bypass
2018Correção de torção intestinal (volvo)Média — absorção, aderências
2018Abdominoplastia
2018Mastopexia com prótese
2020Colecistectomia (vesícula biliar)Média — absorção gorduras/vitaminas lipossolúveis
2020Septoplastia + turbinectomiaPositivo — respiração melhorada
👤 Contexto Pessoal
Gestação1 — cesariana (22/02/2009)
SobriedadeDesde 12/02/2022 (4 anos)
Momento atualSabático + viagens
ObjetivoW/kg — ficar leve pra subir

Equipe

Assessoria esportivaWalter Tuche
MédicaDra. Daniela Tahan
Plano de saúdeBradesco Saúde

Perfis

🚲
S-Works Tarmac SL7
2022 · Dourada · Carbon · Disc

⚙️ Transmissão

Câmbio traseiroSRAM Force eTap AXS
Câmbio dianteiroSRAM Force eTap AXS
CassetteSRAM Red 10-33T
PedivelaSRAM Red · 170mm
Coroas52/34T (paralela)
CorrenteSRAM 12v

🔵 Rodas & Pneus

Roda dianteiraRoval CL 50mm
Roda traseiraRoval CLX 50mm
PneusContinental GP5000 28c TL
SetupTubeless

🪑 Contato & Controle

SelimSpecialized Romin
CanoteSem offset
Avanço (stem)110mm
PedaisWahoo Speedplay
FreiosSRAM Force · Disco hidráulico

📡 Eletrônica

ComputadorGarmin Edge 530
WearableWhoop 4.0
CâmbioSRAM AXS (wireless)
Power meterSim (pedivela)

🔧 Controle de Manutenção

ComponenteKm atualLimiteStatus
Corrente 5.000 km
Pneu dianteiro 6.000 km
Pneu traseiro 5.000 km
Pastilhas de freio 3.000 km
Óleo mineral 10.000 km
Selante TL 3.000 km
📊 SRAM AXS Data (em breve)
Dados de trocas de marcha, combinações mais usadas e bateria do SRAM AXS. Necessário exportar do app SRAM AXS.
Status: aguardando dados de exportação.

⚡ Gestão de Carga (PMC)

89
CTL (Fitness)
Pico: 119 (Q3/25)
48
ATL (Fadiga)
Pico: 181
+41
TSB (Form)
Descansada
219W
FTP Estimado
Best 20min: 231W

🏔️ Curva de Potência

784W
Sprint 1s
515W
Anaeróbico 30s
276W
VO₂max 5min
231W
Limiar 20min
192W
Endurance 60min
Perfil endurance: queda de 20min→60min é suave (83%), indicando boa sustentação de esforço longo. Consistente com treinos de 50-110km e CTL >100.

📊 Evolução por Período

PeríodoDiasCTLATLTSBSessões/semStrain/semStatus
Build-up (out-dez/25)4575→9524→16.197Construção
Prova 300km (6/dez)1108-59TSS 634Evento
Recovery (7-13/dez)7108→100-59→-104Recuperação
Volume restart (14-21/dez)7101→98-13→-19.0Retomada
Home office (22/dez-4/jan)1396→9710→119.7104Sobrecarga
Crash (5-20/jan)1595→10521→-98.5Crise
Damage control (20/jan-5/fev)12102→894→415.0Recuperando
Atual (fev/26)8948+41Descansada

🏋️ Prova 300km — Retrospectiva

Resultado: TSS 634, CTL 108 no dia. Erro estratégico: gastou 176W nos primeiros 80min (plano) e chegou vazia na serra. Potência caiu 33% na segunda metade.
Próximo alvo: Com -9kg e CTL recuperando, estimativa para mesma serra: 48-52min (vs ~70min em set). Estratégia: Z2 (130-150W) até pé da serra, guardar pra subida a 190-200W constante.

🔋 Recovery Score (Whoop)

57%
Recovery Médio
12 meses
36%
Dias Green
>67%
48%
Dias Yellow
34-66%
16%
Dias Red
<33%

💓 HRV & Frequência Cardíaca de Repouso

42ms
HRV Média
σ 8.6ms
62bpm
RHR Média
Min 51 / Max 80

🔥 Strain Diário

Home office (dez/25): strain semanal 104 — MAIOR que no build-up (97). Natação HR 130-142 + musculação + MTB. Sono total 8.5h mas fragmentado (consistência 45%).

🔍 Investigação Overtraining

Diagnóstico: 5 estressores simultâneos sem recovery adequado

1. Recovery pós-prova inexistente
TSS 634 → "semana de descanso" com TSS 255 no dia 7.
2. Cross-training = mais carga
9.7 sessões/sem no home office vs 6.1 no build-up.
3. Sono fragmentado (não privação)
Sono total era 8.5h (com cochilos), mas fragmentado em 2 blocos. Consistência 45%. Ritmo circadiano prejudicado.
4. Déficit calórico sem substrato
Mounjaro + volume alto. Creatina parou (51%→0%). Ferro irregular.
5. Volta ao escritório (5/jan): RHR +4.7bpm, HRV -7.2ms. TSB +11 → -40 em 10 dias. Recovery crashes: 3%, 7%, 9%.

🤖 Modelo ML — Feature Importance

Acurácia: 46% (vs 33% aleatório). 85% dos dias RED não foram previstos como GREEN (conservador). Top features que determinam recovery:

Recovery por Período

PeríodoDiasRecoveryCrashesHRVRHRSonoSessões/sem
Build-up4558%2 RED42ms627.1h6.1
Prova 300km173%44ms605.8h
Recovery week763%2 RED47ms616.9h4
Home office1352%3+349ms598.5h*9.7
Crash1547%3+342ms646.5h8.5
Damage control1247%1+239ms647.0h5.0

🌙 Sono — Análise Completa (Noturno + Cochilos)

⚠️ Padrão bifásico identificado. 69 registros classificados como "nap" pelo Whoop — mas 96% ocorrem entre 19h–23h, com duração média de 112 minutos. Não são cochilos tradicionais: é o primeiro segmento de sono de um padrão bifásico (dorme ~2h à noite, acorda, depois dorme o sono principal). O sono noturno sozinho subestima o sono real. Os números abaixo incluem ambos.
7.2h
Sono Noturno Médio
Sono principal (Whoop)
112min
Cochilo Médio
69 registros, 96% noturno
8.1h
Sono Total (com cochilos)
Nos dias com cochilo
77%
Sleep Performance
Média 12 meses

📊 Cochilos por Período

PeríodoNoturnoCochilosFreq. CochilosDur. CochiloTOTAL RealDeep TotalDívida Sono
Build-up7.6h4 em 45 dias0.6/sem102min7.7h127min60min (1.0h)
Pós-evento8.0h08.0h127min72min (1.2h)
Home office7.2h7 em 13 dias3.8/sem148min8.5h160min49min (0.8h)
Crash7.6h6 em 15 dias2.8/sem98min8.2h167min52min (0.9h)
Damage control7.4h3 em 12 dias1.8/sem86min7.8h145min24min (0.4h)
Atual7.0h4 em 10 dias2.8/sem95min7.7h153min33min (0.6h)

🔑 Achados sobre o Padrão Bifásico

Não é compensatório — é aditivo. Em dias com cochilo, o sono noturno mantém 7.2h (vs 7.3h sem cochilo). O cochilo de ~2h à noite é sono extra, não substituição. Resultado: dias com cochilo = ~9h de sono total.
Deep sleep do cochilo é significativo. 42% do cochilo é deep sleep (47min/cochilo). No home office, os cochilos adicionaram 31min/dia de deep sleep — levando o total de 129min pra 160min (o mais alto de todos os períodos).
Home office: frequência disparou. 3.8 cochilos/semana (vs 0.6 no build-up) com duração média de 148min (2.5h!). A "liberdade" do home office permitiu o padrão bifásico — mas o horário fragmentou a consistência do sono que o Whoop mede (45% — pior do dataset).

📐 Horário dos Cochilos

96% dos "cochilos" são entre 19h–23h. Pico às 21h (26 registros). Isso é sono noturno fragmentado — não cochilo diurno. O Whoop classifica como nap porque acontece antes do sono principal detectado.

🔄 Correção da Narrativa

❌ Leitura anterior (sem cochilos)

"Home office: 5.4h de sono, REM 79min, consistência 45%. Sono destruiu tudo."

O overtraining era explicado primariamente pelo sono insuficiente.

✅ Leitura corrigida (com cochilos)

"Home office: 8.5h de sono total, deep 160min (melhor do dataset). Mas consistência horária 45% e sono fragmentado em 2 blocos."

O problema não era quantidade — era fragmentação. Sono bifásico pode ser funcional, mas a irregularidade horária prejudica ritmo circadiano, secreção de GH (pico 23h-1h) e qualidade do sono profundo contínuo.
Implicação para o overtraining: Sono total era adequado. O crash de recovery no home office/escritório foi mais por: (1) carga excessiva (9.7 sessões/sem), (2) déficit calórico sem substrato, (3) fragmentação circadiana — e menos por privação de sono pura. A policitemia (Hct 53.7%) e cortisol esgotado (8.49) foram os drivers fisiológicos primários.

📈 Deep Sleep: Contribuição dos Cochilos

💤 Dívida de Sono (estimativa Whoop)

60min
Build-up
Perf 78%
49min
Home office
Perf 73%
52min
Crash
Perf 77%
24min
Damage ctrl
Perf 80%
A dívida de sono do Whoop é calculada sobre o sono principal (não inclui cochilos totalmente). Performance de 73% no home office reflete a fragmentação, não a quantidade — o corpo dormiu bastante mas de forma irregular.

🩸 Evolução dos Marcadores

Série Vermelha + Ferro — Hemax × Noripurum × Bypass

MarcadorSet/25Nov/25Jan/26Fev/26RefNota
Hemácias (M/µL)6.465.773.9–5.3Caindo, ainda alto
Hemoglobina (g/dL)17.515.612–16Normalizada ✓
Hematócrito (%)49.853.746.636–48Normalizado ✓
RDW (%)16.711–14.5Anisocitose — transição
Ferritina (ng/mL)9.526.193.710–291Noripurum IV funcionou ✓
Sat. Transferrina (%)57.315–50Ferro excedente
Bypass context: Ferro oral (Hemax) ≈ absorção zero. Reposição real veio dos 2 Noripurum IV (nov+dez). Ferritina 9.5→93.7. Saturação 57% é transitória — corpo desacelerou eritropoiese enquanto estoque de ferro dos IVs ainda circula. RDW alto = hemácias novas (maiores) + velhas (menores). Normaliza em 2-3 meses.

Metabólico — Mounjaro + Bypass

MarcadorNov/25Jan/26Fev/26Ref
Glicose918783<99
HbA1c5.25.64.2–6.0
Insulina2.442.251.913.0–25.0
HOMA-IR0.50.50.4<3.0
HbA1c 5.2→5.6 provavelmente artefato da anisocitose/turnover de hemácias. Glicose 83 + HOMA-IR 0.4 = metabolismo excelente.

Hormonal

MarcadorSetNovJanFevRef
Testosterona T.22.658.728.833.68–35
Testost. Livre6.4917.166.491–11
SHBG9.6946.8631.2817.7–138
Cortisol9.8718.408.499.095.27–22.45
Eixo normalizado. T. livre voltou à baseline (6.49). SHBG normalizada. Cortisol estável.

Lipídico

MarcadorNovJanFevRef
Col. Total160150148<190
LDL11397100<130
HDL323937>40
Triglicerídeos767156<150
HDL crônico <40 em 4 exames. Provável: bypass + déficit calórico + histórico andrógenos.

Vitaminas & Minerais (bypass context)

MarcadorSetNovJanFevRef
Vit D63.371.0111.177.7>20
Vit B123111287390371211–911
Vit A0.350.30–0.70
Cálcio9.29.59.79.18.3–10.6
Vit A no limite inferior — típico pós-bypass. B12 oscila com IM (pico 1287→371). Cálcio tendência queda — pedir PTH no próximo.

Ferritina

Hematócrito

HDL

Testosterona Total

🔗 Lab × Whoop/Garmin

Hct 53.7% (jan) × RHR elevado
Sangue viscoso → coração trabalha mais → RHR sobe. Com Hct normalizado (46.6%), se RHR cair = era hematológico.
Cortisol 8.49 (jan) × Crashes 3%, 7%, 9%
Eixo HPA fadigado = capacidade de recuperação hormonal reduzida.
Insulina 1.91 + bypass + Mounjaro
Triplo: bypass + Mounjaro + insulina baixa = sem substrato pra recovery. Treinos pesados geraram crashes desproporcionais.
Ferritina 94 → performance futura
De 9.5 (borderline anemia) pra 94. Transporte de O₂ restaurado. EF e decoupling devem melhorar em 4-6 semanas.

🔗 Crossover: Lab × Wearables × Carga

Cruzamento de marcadores laboratoriais com dados de wearables (Whoop/Garmin) para identificar relações causais vs correlações. Contexto: bypass Roux-en-Y (2013) altera absorção — ferro oral ≈0, lipossolúveis reduzidas.

1. Policitemia (Hct 53.7%) × Performance Cardíaca

Evidência Lab (Jan/26)

Hematócrito53.7%ref 36–48%
Hemácias6.46 M/µLref 3.9–5.3
Hemoglobina17.5 g/dLref 12–16
Sangue viscoso → coração precisa de mais força pra bombear → RHR sobe, EF cai, recovery compromete.

Evidência Wearable (Jan/26)

RHR64 bpmbaseline 62
RHR máxima73 bpmpior do dataset
HRV42 mscaindo
Recovery crashes3%, 7%, 9%3 em 15 dias
Validação (Fev/26): Hct caiu pra 46.6%. Se RHR cair nas próximas semanas → confirma que policitemia era driver primário do estresse cardíaco. Monitorar EF e decoupling no Garmin.

2. Cortisol Esgotado × Recovery Crashes

Lab Timeline

Set/25 (baseline)9.87 µg/dL
Nov/25 (pico build-up)18.40 µg/dL
Jan/26 (crash)8.49 µg/dL
Fev/26 (recovery)9.09 µg/dL

Whoop Recovery

Build-up (out–dez)58% avg2 RED
Crash (jan)47% avg3 crashes + 3 RED
Damage ctrl47% avg1 crash + 2 RED
Atual52% avgestabilizando
Cortisol 18.4→8.49 é esgotamento do eixo HPA — corpo gastou a reserva de estresse. Recovery <15% (crashes) concentrou exatamente quando cortisol estava no fundo. Com cortisol voltando a 9.09, espera-se melhora gradual de recovery.

3. Repleção de Ferro × Capacidade Aeróbia (Projeção)

Evolução Ferritina

Set/259.5 ng/mLBorderline anemia
Nov/251º Noripurum IV
Dez/252º Noripurum IV
Jan/2626.1 ng/mLSubindo
Fev/2693.7 ng/mLNormal ✓

Impacto Esperado no Garmin

MétricaAntes (ferro baixo)Esperado (4-6 sem)
EF (Efficiency Factor)Declinante↑ mais W/bpm
Decoupling>5% frequente↓ pra <3%
VO₂ estimadoEstagnado↑ com mais O₂
VAM em subidaLimitada↑ +10-15% (c/ -9kg)
Ferritina 9.5→93.7 = transporte de O₂ restaurado. Hemácias novas (RDW 16.7%, anisocitose) estão sendo produzidas com ferro adequado. Em 4-6 semanas, as métricas de Garmin devem refletir: melhor EF, menor decoupling, mais potência sustentada. Combinado com -9kg, W/kg deve subir ~25-30% no limiar.

4. Triplo Déficit de Substrato × Recovery

Bypass: absorção ferro/B12/Ca/lipossolúveis permanentemente reduzida. Qualquer aumento de demanda metabólica amplifica déficits.
Mounjaro: insulina caiu 2.25→1.91 (abaixo ref). Suprime apetite + reduz secreção insulínica. Sem substrato calórico pra recovery muscular.
Volume: 9.7 sessões/sem no home office. Demanda de reparo >> oferta de substrato. Creatina parou (51%→0%), ferro irregular (44%→0%).
Modelo ML confirmou: total_wo_strain_roll7 (carga total 7 dias) é 2ª feature mais importante pra prever recovery. Não foi uma atividade isolada — foi acúmulo sem reparo.

5. Sono Bifásico × Métricas do Whoop

O que o Whoop mede

Sono noturno (principal)✅ Completo
Cochilos (pré-sono)⚠️ Classificados como "nap"
Consistência horária⚠️ Penalizada pela fragmentação
Sleep performance⚠️ Subestimada (não soma naps)

Realidade

Home office noturno7.2h
Home office + cochilos8.5h
Deep sleep (night+nap)160min (melhor)
Consistência Whoop45%
O Whoop subestima o sono total e penaliza o padrão bifásico na consistência. Recovery score pode estar artificialmente baixo nos períodos de home office por causa dessa classificação. Implicação: o "crash" de recovery no home office é parcialmente artefato de medição — mas a fragmentação circadiana é real e afeta secreção de GH.

🧬 Matriz de Interações

PolicitemiaCortisol baixoFerro depletadoInsulina baixaSono fragment.Carga excessiva
RHR ↑●●●●●●●●
HRV ↓●●●●●●●●●●●
Recovery crash●●●●●●●●●●●●●●
EF ↓●●●●●●●●
Decoupling ↑●●●●●●
●●● = impacto primário, ●● = contribui, ● = influência menor. A convergência de 6 estressores simultâneos explica por que o crash foi tão severo: cada fator amplificava os outros.

📝 Novo Registro & Análise

📤 Upload .fit

🚴
Arrasta um .fit aqui ou clica pra selecionar
Garmin Connect → Atividade → ⚙️ → Exportar .fit

✏️ Input Manual

5

📤 Upload Whoop CSV

🟢 Arrasta sleeps.csv / physiological_cycles.csv / workouts.csv

🏋️ Análise do Projeto de Dados

Este projeto começou como exercício prático do plano de estudos AI Executive — construir um pipeline de dados real em vez de só estudar teoria. O ciclismo foi o veículo, não o destino. Abaixo: o que foi construído, o que foi aprendido, e como se conecta ao plano de estudos.

📊 Dataset Construído

FontePeríodoVolume
Garmin .fit (cycling)2022–2026~3.3M registros/s
Garmin sessions2022–2026~800 atividades
Whoop physioFev/25–Fev/26371 dias × 15 métricas
Whoop sleepFev/25–Fev/26369 noites + 69 naps
Whoop workoutsFev/25–Fev/26~500 atividades
Whoop journalFev/25–Fev/2619 perguntas diárias
Lab resultsSet/25–Fev/264 exames, 55+ marcadores

⚙️ Pipeline Desenvolvido

ScriptFunção
process_fit.py.fit → CSV (extração, limpeza, normalização)
compute_pmc.pyPMC: CTL, ATL, TSB com decay exponencial
compute_power_curve.pyCurva de potência (best efforts por duração)
compute_zones.pyZonas de treino baseadas em FTP
lab_results.pyNormalização de exames com referências
analyze_new_exam.pyAnálise incremental de exame novo
merge_health_data.pyMerge lab + whoop + garmin
generate_dashboard.pyGeração do dashboard HTML

🧠 O que o Projeto Ensinou (Conexão com Plano AI Executive)

Módulo 1.2 — Embeddings & Dados Estruturados

Prática: Normalização de 55 marcadores de sangue com categorias, unidades, referências — cada marker é essencialmente um "embedding" de saúde com dimensões clínicas.
Aprendizado: Feature engineering real: transformar dados heterogêneos (lab mensal, wearable diário, GPS por segundo) em dataset unificado com forward-fill, interpolação, e janelas temporais.

Módulo 1.3 — Overfitting & Validação

Prática: Modelo de classificação de recovery (Random Forest) com accuracy 46% (vs 33% random). Confusion matrix mostrou viés conservador: 85% dos RED não previstos como GREEN.
Aprendizado: Accuracy baixa ≠ modelo inútil. A matriz de confusão e o contexto de negócio definem se o modelo serve. Neste caso, "nunca dizer que tá tudo bem quando tá mal" (precision on RED) é mais importante que accuracy geral.

Módulo 3.1 — TCO & Data Pipeline

Prática: Pipeline completo: extração (.fit → CSV), transformação (limpeza, normalização, outlier handling), load (CSVs processados). Versionamento com Git. Dependências travadas (numpy 1.26.4).
Aprendizado: O custo real de um pipeline não é compute — é manutenção: DLL blocking, venv corrompido, formato de data, encoding. Exatamente o "custo invisível" que aparece em TCO de AI.

Módulo 3.2 — Avaliação de Modelos

Prática: Feature importance (permutation) revelou que recovery_delta7 e total_wo_strain_roll7 são os preditores dominantes — não métricas "óbvias" como HRV.
Aprendizado: Interpretabilidade > accuracy para decisão executiva. Saber POR QUE o modelo decide é mais valioso que o score final.

Módulo 4.1 — Business Case

Prática: O "business case" aqui é saúde pessoal: o pipeline identificou 5 estressores simultâneos causando overtraining que não eram óbvios isoladamente. Sem o cruzamento de dados, a narrativa era "sono destruiu tudo" — com dados, era "carga + déficit + fragmentação + policitemia + cortisol".
Aprendizado: Dados mudam narrativas. O insight de corrigir "sono 5.4h" para "sono 8.5h bifásico" só veio da análise dos naps — demonstra que data quality e completude mudam conclusões.

Módulos 2.x — Segurança & Governança

Prática: Dados de saúde (LGPD sensível), fitness (pessoal), labresults (médico). Armazenamento local, sem cloud. GDPR export do Garmin. Separação raw/processed.
Ponto: Em ambiente corporativo, esse pipeline precisaria de consentimento, retenção, right-to-delete, e controle de acesso por categoria de dado.

📐 Métricas do Projeto

3.3M
Registros GPS
Por segundo, 4 anos
371
Dias Whoop
15 métricas/dia
55+
Marcadores Lab
4 exames
8
Scripts Pipeline
ETL completo
107
Colunas Merged
Dataset unificado

🔮 Próximos Passos

Dados

• Garmin GDPR export (até 30 dias) → peso, composição corporal, VO₂
• Recontrole lab mar/26 → hemograma + ferritina + sat. transf + PTH
• Whoop mensal → re-export e re-merge
• Treinos novos → process_fit.py → PMC atualizado

Modelos

• Regressão EF ~ ferritina + hematócrito + CTL (validar crossover #3)
• Predição de recovery com lab features incluídas
• Clustering de tipos de treino (intensidade × duração × recovery)
• Análise de séries temporais: lag entre intervenção e efeito

Carreira

• Portfolio: este projeto demonstra pipeline completo + ML + domain expertise
• PMI-CPMAI: 80% dos conceitos já aplicados na prática
• Articulação: cada script mapeia 1:1 com conceitos do plano de estudos

📦 Outliers & Data Quality Log

DataTipoProblemaAçãoImpacto
21/dez/25SleepNoite em claro sáb→dom, sono diurno 330min registrado como SLEEP às 09:05Excluído do pipelineMínimo — cai no período "Restart", não afeta home office
31/dez/25SleepSem registro de sono (NYE)Gap natural — dia sem dadosMínimo
Power meterGarminReadings bugados (picos irreais) em treinos antigosFiltro de outliers no process_fit.pyAfetava curva de potência
Numpy 2.xInfraDLL blocking pelo Windows DefenderFixado em numpy==1.26.4Bloqueava todo o pipeline
APGIA · Health & Performance Dashboard · Dados: Garmin (2022–26), Whoop (fev/25–fev/26), Lab (set/25–fev/26)
Não substitui avaliação médica · Bypass Roux-en-Y 2013