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íodo
Dias
CTL
ATL
TSB
Sessões/sem
Strain/sem
Status
Build-up (out-dez/25)
45
75→95
—
24→1
6.1
97
Construção
Prova 300km (6/dez)
1
108
—
-59
—
TSS 634
Evento
Recovery (7-13/dez)
7
108→100
—
-59→-10
4
—
Recuperação
Volume restart (14-21/dez)
7
101→98
—
-13→-1
9.0
—
Retomada
Home office (22/dez-4/jan)
13
96→97
—
10→11
9.7
104
Sobrecarga
Crash (5-20/jan)
15
95→105
—
21→-9
8.5
—
Crise
Damage control (20/jan-5/fev)
12
102→89
—
4→41
5.0
—
Recuperando
Atual (fev/26)
—
89
48
+41
—
—
Descansada
🏋️ 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.
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íodo
Dias
Recovery
Crashes
HRV
RHR
Sono
Sessões/sem
Build-up
45
58%
2 RED
42ms
62
7.1h
6.1
Prova 300km
1
73%
—
44ms
60
5.8h
—
Recovery week
7
63%
2 RED
47ms
61
6.9h
4
Home office
13
52%
3+3
49ms
59
8.5h*
9.7
Crash
15
47%
3+3
42ms
64
6.5h
8.5
Damage control
12
47%
1+2
39ms
64
7.0h
5.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íodo
Noturno
Cochilos
Freq. Cochilos
Dur. Cochilo
TOTAL Real
Deep Total
Dívida Sono
Build-up
7.6h
4 em 45 dias
0.6/sem
102min
7.7h
127min
60min (1.0h)
Pós-evento
8.0h
0
—
—
8.0h
127min
72min (1.2h)
Home office
7.2h
7 em 13 dias
3.8/sem
148min
8.5h
160min
49min (0.8h)
Crash
7.6h
6 em 15 dias
2.8/sem
98min
8.2h
167min
52min (0.9h)
Damage control
7.4h
3 em 12 dias
1.8/sem
86min
7.8h
145min
24min (0.4h)
Atual
7.0h
4 em 10 dias
2.8/sem
95min
7.7h
153min
33min (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
Marcador
Set/25
Nov/25
Jan/26
Fev/26
Ref
Nota
Hemácias (M/µL)
—
—
6.46
5.77
3.9–5.3
Caindo, ainda alto
Hemoglobina (g/dL)
—
—
17.5
15.6
12–16
Normalizada ✓
Hematócrito (%)
—
49.8
53.7
46.6
36–48
Normalizado ✓
RDW (%)
—
—
—
16.7
11–14.5
Anisocitose — transição
Ferritina (ng/mL)
9.5
—
26.1
93.7
10–291
Noripurum IV funcionou ✓
Sat. Transferrina (%)
—
—
—
57.3
15–50
Ferro 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
Marcador
Nov/25
Jan/26
Fev/26
Ref
Glicose
91
87
83
<99
HbA1c
—
5.2
5.6
4.2–6.0
Insulina
2.44
2.25
1.91
3.0–25.0
HOMA-IR
0.5
0.5
0.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
Marcador
Set
Nov
Jan
Fev
Ref
Testosterona T.
22.6
58.7
28.8
33.6
8–35
Testost. Livre
6.49
17.16
—
6.49
1–11
SHBG
—
9.69
46.86
31.28
17.7–138
Cortisol
9.87
18.40
8.49
9.09
5.27–22.45
Eixo normalizado. T. livre voltou à baseline (6.49). SHBG normalizada. Cortisol estável.
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ócrito
53.7%
ref 36–48%
Hemácias
6.46 M/µL
ref 3.9–5.3
Hemoglobina
17.5 g/dL
ref 12–16
Sangue viscoso → coração precisa de mais força pra bombear → RHR sobe, EF cai, recovery compromete.
Evidência Wearable (Jan/26)
RHR
64 bpm
baseline 62
RHR máxima
73 bpm
pior do dataset
HRV
42 ms
caindo
Recovery crashes
3%, 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% avg
2 RED
Crash (jan)
47% avg
3 crashes + 3 RED
Damage ctrl
47% avg
1 crash + 2 RED
Atual
52% avg
estabilizando
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/25
9.5 ng/mL
Borderline anemia
Nov/25
—
1º Noripurum IV
Dez/25
—
2º Noripurum IV
Jan/26
26.1 ng/mL
Subindo
Fev/26
93.7 ng/mL
Normal ✓
Impacto Esperado no Garmin
Métrica
Antes (ferro baixo)
Esperado (4-6 sem)
EF (Efficiency Factor)
Declinante
↑ mais W/bpm
Decoupling
>5% frequente
↓ pra <3%
VO₂ estimado
Estagnado
↑ com mais O₂
VAM em subida
Limitada
↑ +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 noturno
7.2h
Home office + cochilos
8.5h
Deep sleep (night+nap)
160min (melhor)
Consistência Whoop
45%
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
Policitemia
Cortisol baixo
Ferro depletado
Insulina baixa
Sono 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.
Nenhum treino analisado ainda. Suba um .fit ou use entrada manual na aba "📝 Novo Registro".
🔄 Treino
⚡ Métricas do Treino
📊 Estado Pré-Treino
💥 Impacto Estimado
📋 Sugestões
🩸 Contexto Lab (±60 dias do treino)
📋 Treinos Registrados
Nenhum treino registrado ainda.
🩸 Registrar Exame de Sangue
Registre marcadores chave. Serão cruzados automaticamente com treinos ±60 dias.
Série Vermelha / Ferro
Metabólico
Hormonal
Exames Registrados
Nenhum exame registrado.
🏋️ 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
Fonte
Período
Volume
Garmin .fit (cycling)
2022–2026
~3.3M registros/s
Garmin sessions
2022–2026
~800 atividades
Whoop physio
Fev/25–Fev/26
371 dias × 15 métricas
Whoop sleep
Fev/25–Fev/26
369 noites + 69 naps
Whoop workouts
Fev/25–Fev/26
~500 atividades
Whoop journal
Fev/25–Fev/26
19 perguntas diárias
Lab results
Set/25–Fev/26
4 exames, 55+ marcadores
⚙️ Pipeline Desenvolvido
Script
Função
process_fit.py
.fit → CSV (extração, limpeza, normalização)
compute_pmc.py
PMC: CTL, ATL, TSB com decay exponencial
compute_power_curve.py
Curva de potência (best efforts por duração)
compute_zones.py
Zonas de treino baseadas em FTP
lab_results.py
Normalização de exames com referências
analyze_new_exam.py
Análise incremental de exame novo
merge_health_data.py
Merge lab + whoop + garmin
generate_dashboard.py
Geraçã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.
• 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
Data
Tipo
Problema
Ação
Impacto
21/dez/25
Sleep
Noite em claro sáb→dom, sono diurno 330min registrado como SLEEP às 09:05
Excluído do pipeline
Mínimo — cai no período "Restart", não afeta home office
31/dez/25
Sleep
Sem registro de sono (NYE)
Gap natural — dia sem dados
Mínimo
Power meter
Garmin
Readings bugados (picos irreais) em treinos antigos