Research Methodology
Paper Weight Calculation
Input Data Fields:
quality_score- Paper quality rating (1-100) (Used an LLM to grade based on things such as sample size, study duration, etc.)citation_count- Number of times citedis_clinical- Boolean for clinical trialsis_human_study- Boolean for human studiesis_animal_study- Boolean for animal studiesis_molecular_study- Boolean for molecular studiespublication_date- When paper was published
Weight Calculation Steps:
- Base Weight:
1.0 + max(0, quality_score - 50) / 100 - Citation Weight:
1 + log(citation_count + 1) / 10 - Study Type Weight:
- Clinical/Human studies:
2.0 - Animal studies:
1.5 - Molecular studies:
1.2 - Other studies:
1.0
- Clinical/Human studies:
- Recency Weight:
exp(-years_old / 15.0)(exponential decay) - Final Weight:
base × citation × study_type × recency
Example Weight Calculation:
Paper: High-quality human clinical trial
- quality_score: 85
- citation_count: 150
- is_human_study: true
- publication_date: 2020
Calculations:
- base_weight = 1.0 + (85-50)/100 = 1.35
- citation_weight = 1 + log(151)/10 = 1.51
- study_type_weight = 2.0 (human study)
- years_old = 2025-2020 = 5
- recency_weight = exp(-5/15) = 0.72
Final Weight = 1.35 × 1.51 × 2.0 × 0.72 = 2.94
Paper Score Calculation
Input Data Fields:
safety_score- Safety rating (1-100) -- (LLM Generated)efficacy_score- Effectiveness rating (1-100) -- (LLM Generated)quality_score- Study quality rating (1-100) -- (LLM Generated)
Score Normalization Steps:
- Safety Score Normalization (40% weight):
- Text "safe" → 0.8
- Text with "concern/warning/risk" → 0.3
- Numeric values → divide by 100
- Fractions (e.g., "8/10") → calculate ratio
- Default/missing → 0.5
- Efficacy Score Normalization (40% weight):
- Range 1-100 → divide by 100
- Missing values → default to 50
- Quality Score Normalization (20% weight):
- Range 1-100 → divide by 100
- Missing values → default to 50
- Combined Score:
(safety × 0.4) + (efficacy × 0.4) + (quality × 0.2)
Example Score Calculation:
Paper with mixed results:
- safety_score: "Generally safe with minor concerns"
- efficacy_score: 75
- quality_score: 80
Calculations:
- safety_normalized = 0.3 (contains "concerns")
- efficacy_normalized = 75/100 = 0.75
- quality_normalized = 80/100 = 0.80
Combined Score = (0.3 × 0.4) + (0.75 × 0.4) + (0.80 × 0.2)
= 0.12 + 0.30 + 0.16 = 0.58
Supplement Aggregation Algorithm
Input Data:
- All papers for a supplement with calculated weights and scores
- Paper-level:
weight_score,normalized_score,safety_score,efficacy_score,quality_score
Aggregation Steps:
- Weighted Averages:
- Safety:
Σ(safety_normalized × weight) / Σ(weight) - Efficacy:
Σ(efficacy/100 × weight) / Σ(weight) - Quality:
Σ(quality/100 × weight) / Σ(weight)
- Safety:
- Overall Score:
(safety × 0.4) + (efficacy × 0.4) + (quality × 0.2) - Consistency Score:
max(0, 1.0 - (std_dev / mean))of normalized scores - Confidence Level:
- High: ≥20 studies AND ≥30 total weight
- Medium: ≥10 studies AND ≥15 total weight
- Low: ≥5 studies AND ≥5 total weight
- Very Low: <5 studies OR <5 total weight
Example Supplement Aggregation:
Supplement: Vitamin D
Papers: 25 studies with various weights
Study Data:
- Paper 1: weight=2.94, safety=0.8, efficacy=0.75, quality=0.85
- Paper 2: weight=1.45, safety=0.9, efficacy=0.65, quality=0.70
- Paper 3: weight=3.12, safety=0.7, efficacy=0.80, quality=0.90
- ... (22 more papers)
Calculations:
- Total weight: 45.8
- Weighted safety avg: 0.78
- Weighted efficacy avg: 0.72
- Weighted quality avg: 0.81
- Overall score: (0.78×0.4) + (0.72×0.4) + (0.81×0.2) = 0.762
- Confidence: "high" (25 studies, 45.8 weight)
Final Aggregate:
- avg_safety_score: 0.78
- avg_efficacy_score: 0.72
- avg_quality_score: 0.81
- overall_score: 0.762
- confidence_level: "high"
- research_summary: "Overall: 7.6/10 | Safety: 7.8/10 | Efficacy: 7.2/10 | Quality: 8.1/10 | Confidence: high (25 studies)"