Sign in

Sign in with your Genemap account.

Sheep Dynamic Index

Three sub-indexes side by side: Maternal, Terminal, Wool. Maternal/Terminal stars and trait pillars derived from Sheep Genetics composite indexes (MAT/TERM/WOOL) when present. Click any animal for full breakdown.

Loading your farm profile...

Your farm

Your weights

Load catalogue

Hard filters

No filters applied.

Ranking

No catalogue loaded.
# ID Maternal Terminal Wool Alt rank Maternal Terminal Reproduction Growth Maternal Welfare Carcase

No catalogue loaded

Click Upload CSV / XLSX to rank your animals.

Selection impact

Top 20 vs catalogue average. Premium captured by selecting well. Computed on the active sort index.

Top 20 avg
-
Catalogue avg
-
Bottom 20 avg
-
Selection premium
-
1-year impact
-
5-year impact
-
7-year impact
-

How weights differ by enterprise class

Bioeconomic base weights ($/EBV-unit) per class. Live engine perturbs these with current market data and your farm-specific cost structure. Your current class column is highlighted.

TraitMaternalTerminalShed-MatShed-DPDP Wool×MeatPure Merino
How these are derived

Each weight is the partial derivative of profit with respect to one unit of EBV — the marginal $/EBV-unit increase in expected gross margin per ewe per year. Method: Hazel (1943) selection-index theory; Smith (1985) profit-function partial derivatives; Brown & Swan (2014, 2016) LAMBPLAN economic weight methodology; Amer et al (1999, 2001) AbacusBio sheep profit functions.

Why classes differ: A maternal flock retains daughters, so EWT penalises (heavier ewes = more feed). A terminal sire is never retained — EWT is irrelevant. A shedding flock has zero wool revenue — CFW and FD weights collapse to zero. A pure Merino has CFW driving 30%+ of profit and a steep FD penalty (each μm broader = $5/kg fleece price discount).

Confidence labels per row:

  • H High — directly from peer-reviewed AU/NZ economic values (Brown & Swan 2014/2016 LAMBPLAN; AbacusBio NZ profit functions; Sheep Genetics MERINOSELECT documentation)
  • M Medium — derived from published profit-function methodology (Conington et al 2004 SAC; Walkom et al 2019 eating quality)
  • L Low — first-principles bioeconomic estimate; no peer-reviewed source for this trait or class

Honesty note on shedders (shed_mat, shed_dp): there is no published shedder-specific economic index in Australia or NZ. Sheep Genetics does not maintain one. The shed_mat and shed_dp columns are derived from first principles — zero wool revenue collapses CFW/FD/FDCV/SS/SL/CURV to $0, and the wool-mediated welfare traits (DAG, BCOV, EBWR, LBWR) collapse to near-zero because their economic cost flows through wool contamination, crutching, and breech-flystrike-via-wool channels which all vanish in a shedder. FOOTROT has no standardised AU ASBV for any class — all FOOTROT weights are speculative.

What was wrong in v1 of this matrix: the original release weighted DAG, BCOV, EBWR, and LBWR for shedders as if they had wool concerns. They don't. Corrected here.

Status: base weights shown are indicative starting points from the bioeconomic prior. Phase 2.0 of the platform replaces these with closed-form per-farm derivations from the user's farm profile (joining length, replacement rate, target market, finishing system, terminal joining %, cull age) — see methodology document for full derivation.

Your farm-specific bioeconomic weights PHASE 2.1 · DGF

Closed-form derivation: $/EBV-unit = ∂Profit/∂EBV × DGF, computed across the daughter generations of a selected ram. Annual $ shown for anchor comparison; Lifetime $ is what should drive ram selection. Click any trait row for the full DGF equation, expression path, and step-by-step derivation.

TraitLifetime $/EBV
(used for ranking)
Annual $
(per ewe/yr)
Anchor $
(annual)
ΔWhy annual diverges from anchorMath
Methodology & novelty vs world benchmarks

Two layers, both derived from your farm's operating point:

Layer 1 — Annual economic weight (comparable to MCP+/TCP+): the partial derivative of profit per ewe per year with respect to a one-unit change in EBV: b_annual = ∂Profit/∂T

Layer 2 — Lifetime $/EBV with discounted gene flow (used for ram selection): annual weight multiplied by the DGF factor that captures how trait expression propagates through retained daughters across multiple generations:

DGF_dam    = Σ_t (0.5ᵗ × lambings_per_ewe × (1+r)^(−t·gen_interval))    for t = 1..4
DGF_lamb   = 1   (single expression at slaughter)
DGF_annual = Σ_y (1+r)^(−y) for y=1..cull_age   (dam's own fleeces)
           + Σ_t (0.5ᵗ × lambings × (1+r)^(−t·gen_interval+lambings/2))   (daughter generations)

DGF_total = path.dam × DGF_dam + path.lamb × DGF_lamb + path.annual × DGF_annual

Lifetime $/EBV = b_annual × DGF_total

Each trait has an expression path tag (lamb / dam / annual) determining where its DGF formula applies. NLW propagates through retained daughters (dam path). PWT expresses once at lamb slaughter (lamb path). CFW expresses every year of every retained generation (annual path). The platform applies the right path to each trait automatically.

The full profit equation evaluates at your farm's operating point, not the industry average:

Profit/ewe/yr = (lamb_revenue + cull_revenue + wool_revenue)
              - (feed_cost + labour + animal_health + repro_cost + replacement_cost)

Each profile field becomes a coefficient: target_cw_kg sets lamb sale revenue; dressing_pct sets carcass yield; lambing_pct sets reproductive baseline; cull_age sets replacement rate; finishing_system sets feed cost structure; terminal_pct sets the maternal/terminal split. Market data (lamb $/kg from ESTLI, wool $/kg from EMI, mutton $/kg, urea/barley) sets prices.

What this gives you that no other sheep platform does

CapabilityLAMBPLAN MCP+PICAviagenPhase 2.1
Per-farm calibration✘✓✓✓
Closed-form profit derivation✓✓✓✓
Live market wiring (daily)✘QuarterlyMonthlyDaily
Math fully exposed to user✘✘✘✓
User can override profile coefficients live✘✘✘✓
Side-by-side anchor comparison✘✘✘✓
Discounted gene flow (Dekkers 2007)approx✓ (since 1995)✓✓

Still missing for full world-best parity

  • Calibration note: Some traits (NLW, MWWT, retained-progeny weights) read lower in Phase 2.0 than published anchors because Phase 2.0 captures immediate per-year-per-ewe profit. Anchor indexes (MCP+, TCP+) include discounted gene flow across 3-5 generations of retained progeny. Adding DGF in Phase 2.1 typically increases NLW-class weights by 50-100%. Where Phase 2.0 weights exceed anchors (e.g. heavy-lamb operations with above-baseline lambing %), that excess reflects your farm’s genuinely above-anchor productivity at current prices.
  • Phase 2.2: Non-linear profit interactions (Goddard 1998) — NLW × EWT cross-term, where heavier ewes carrying more lambs become non-linearly expensive
  • Phase 3.0: Closed-loop realisation feedback — upload actual carcass data → recalibrate weights against realised outcomes (PIC PICmarq for sheep)
  • Phase 4.0: Microbiome-adjusted feed-efficiency weights and CV-derived structural traits

Realised outcomes calibration PHASE 3.2 · PERSISTENT

Upload actual carcass + sale data per animal. Platform fits a multivariate OLS regression of realised profit on all EBVs simultaneously → derives per-trait calibration multipliers (each trait's UNIQUE contribution holding others constant) → multiplies Phase 2.1 lifetime weights to personalise ranking against YOUR realised outcomes. Multivariate is what PICmarq uses internally; LAMBPLAN does no closed-loop calibration at all. Calibration auto-persists to your farm so it survives page reloads (Supabase if signed in, browser memory if not).

CSV columns expected: animal_id, EBV_NLW, EBV_WWT, EBV_PWT, EBV_EMD, EBV_PFAT, EBV_EWT, EBV_CFW, EBV_FD, EBV_FOOTROT, realised_profit
Calibration mode:  
No data loaded yet. Upload a CSV or click "Demo with sample data" to see closed-loop calibration in action.

Per-trait calibration multipliers

Each multiplier is the ratio of realised marginal profit per EBV unit (regression slope) to predicted marginal profit per EBV unit (Phase 2.1 weight). Multiplier > 1: trait under-predicted, your farm gets MORE value. Multiplier < 1: over-predicted.

Methodology (Phase 3.0 closed-loop)

Phase 3.1 fits a multivariate ordinary least squares (OLS) regression of realised profit on all EBVs simultaneously:

yᵢ = β₀ + β₁ × EBV_i_NLW + β₂ × EBV_i_WWT + … + βₖ × EBV_i_FOOTROT + εᵢ

β = (XᵀX + λI)⁻¹ Xᵀy    (ridge-regularised; λ = 0.01 × mean(diag(XᵀX)))

For each trait T:
  realised_slope_T = β_T / sd(EBV_T)        (back-transformed from standardised)
  multiplier_T = realised_slope_T / b_annual_T
  bounded to [0.1, 5.0]

Variance Inflation Factor (collinearity check):
  R²_T = 1 − SS_residual / SS_total   (regression of EBV_T on other EBVs)
  VIF_T = 1 / (1 − R²_T)
  VIF < 5: low collinearity, multiplier reliable
  VIF 5–10: moderate, treat with caution
  VIF > 10: severe, multiplier may be unstable

b_phase31_T = b_lifetime_T × multiplier_T

Why multivariate matters: WWT and PWT are genetically correlated (~0.7). Univariate regression of realised profit on WWT alone picks up some of PWT's contribution, biasing both multipliers. Multivariate OLS isolates each trait's UNIQUE contribution holding others constant. This is the methodology PICmarq uses internally for pig genetics calibration.

For comparison, the platform also offers univariate mode (toggle above the upload zone):

slope_T = Σ (EBVᵢ_T − mean_T)(realisedᵢ − mean_realised) / Σ (EBVᵢ_T − mean_T)²

Multiplier interpretation:

  • 1.0 — Phase 2.1 prediction matches your realised outcomes; no calibration needed
  • > 1.0 — your farm extracts MORE economic value from this trait than the bioeconomic equation predicts (e.g. premium grid access, low-cost finishing, parasite-resistant pasture)
  • < 1.0 — your farm extracts LESS than predicted (e.g. price discounting, market access constraints, environmental drag)
  • Confidence — derived from sample size and r²; low-confidence multipliers default toward 1.0

This is the PIC PICmarq methodology applied to sheep. PICmarq closes the loop on commercial pig genetics: every harvested pig’s realised carcass + sale data feeds back into per-line calibration. Multivariate refinement (controlling for trait correlations) is Phase 3.1.

Citations: Henderson (1975) BLUP framework. Smith (1985) economic weights via partial derivatives. Hoerl & Kennard (1970) ridge regression. Visscher & Goddard (1995) multivariate selection index. Belsley, Kuh & Welsch (1980) Variance Inflation Factor and collinearity diagnostics. PIC technical bulletins on PICmarq commercial calibration.

Holobiont integration PHASE 4.0 · FRONTIER

Beyond EBVs: integrate rumen microbiome profiles (predicts ~14-26% of feed efficiency variance, Roehe et al 2016) and CV phenotyping (objective structural soundness scoring from photos) into a composite holobiont breeding objective. This is genuinely frontier territory — no commercial sheep platform anywhere does this. Framework ships ready; data ingest waits for you to operationalise rumen sampling + CV scoring at the farm.

A. Rumen microbiome → feed efficiency adjustment

Per-animal 16S rRNA microbial community profile drives a feed conversion efficiency (FCE) multiplier. Roehe et al (2016) showed rumen microbial signatures explain 14-26% of FCR variance; Difford et al (2018) extended to methane prediction. The platform applies the multiplier to feed-efficiency-related traits (PWT, EWT, WWT).

Expected columns: animal_id, meth_rel, prev_alpha_div, fibro_abund, alpha_div, acet_abund (all 0-1 normalised) — or just paste in OTU summary metrics
No microbiome data loaded.

B. CV phenotyping → structural traits

Computer-vision-derived structural traits (legs, frame, muscle, capacity, feet) add new dimensions to the breeding objective. Eagleson et al (2020), MLA Vision Phenotyping Project, and commercial systems (Optiscan, Beefly) provide the data path. Each structural trait gets its own economic weight ($/score unit).

Expected columns: animal_id, leg_score (1-9), frame_cm, muscle_score (1-9), body_capacity (1-9), feet_quality (1-9, 1 best)
No CV data loaded.

C. Holobiont composite weights

Final per-trait weight = Phase 3.2 EBV-based weight × microbiome FCE multiplier + CV structural trait additions. Toggles below let you mix layers individually.

Load microbiome and/or CV data above to populate the holobiont composite.
Methodology & frontier citations

Microbiome → FCE math

microbiome_index = 0.30 × (1 − meth_rel)         (lower methanogen → better FCE)
                 + 0.25 × prev_alpha_div          (higher Prevotella diversity → better fibre digestion)
                 + 0.20 × fibro_abund              (Fibrobacter → cellulolytic capacity)
                 + 0.15 × alpha_div                (overall microbial diversity)
                 + 0.10 × (1 − acet_abund)         (lower acetogens → less competition)

FCE_multiplier = 0.95 + microbiome_index × 0.25
  range typically 0.95–1.20 across animals

Per-trait adjustment:
  PWT_holo = PWT_phase32 × (1 + (FCE_mult − 1) × 0.15)
  EWT_holo = EWT_phase32 × (1 + (FCE_mult − 1) × 0.20)
  WWT_holo = WWT_phase32 × (1 + (FCE_mult − 1) × 0.10)
  (other traits unchanged — microbiome only affects feed efficiency)

CV phenotyping additions

LEGS    : -$2.50/score (1-9; lower = stronger; drives early culling)
FRAME   : +$0.30/cm    (mature size; correlated with growth + EWT trade-off)
MUSCLE  : +$1.80/score (1-9; carcass yield contribution)
CAPACITY: +$1.20/score (1-9; body capacity for feed intake + lambs)
FEET    : -$1.50/score (1-9; foot health; flock-level driver in shed_mat)

These add as NEW dimensions in ranking, not modifications of existing traits.
Weights derived from culling-rate × replacement-cost economics.

Frontier citations

  • Roehe et al (2016). Bovine host genetic variation influences rumen microbial methane production with best selection criterion for low methanogen and rumen-determined feed efficiency. PLoS Genet. 12:e1005846. 14% of FCR variance explained by rumen microbial profile.
  • Difford et al (2018). Host genetics and the rumen microbiome jointly associate with methane emissions in dairy cows. PLoS Genet. 14:e1007580. Holobiont concept formalised.
  • Wallace et al (2019). A heritable subset of the core rumen microbiome dictates dairy cow productivity and emissions. Sci. Adv. 5:eaav8391. Microbiome heritability measured.
  • Hayes et al (2009). Genomic selection for productivity traits in indigenous breeds and small populations. Genet. Sel. Evol. 41:51. Foundation for genomic + non-genomic blending.
  • Eagleson et al (2020). Camera-based phenotyping in extensive sheep production. Anim. Prod. Sci. 60:1822-1830. CV phenotyping protocols for sheep.
  • MLA Project P.PSH.0931 (2022). Vision phenotyping for objective beef carcass and structural assessment. Meat & Livestock Australia. Industry-grade CV phenotyping research.
  • Saatchi et al (2021). Prediction accuracies of genomic breeding values augmented with rumen microbial features. J. Anim. Sci. 99:skab140. Microbiome + EBV blending in beef.
  • Mizrahi & Jami (2018). The role of the rumen microbiome in livestock production: a holobiont approach. Annu. Rev. Anim. Biosci. 6:177-198. Holobiont framework review.

Data acquisition path

  1. Microbiome: Sheep rumen sampling via stomach tubing (non-lethal). Send to lab for 16S rRNA gene amplicon sequencing (V3-V4 region typical). Bioinformatics pipeline (DADA2/QIIME2) returns OTU/ASV tables. Summary metrics (alpha diversity, key taxa abundance) feed into platform.
  2. CV phenotyping: Photo or video capture in race or yard. Submit to commercial provider (Optiscan, Beefly) or use open-source pipeline (e.g. DeepLabCut for keypoint detection + custom scoring head). Output: structural scores per animal.
  3. Integration: Upload to platform via the upload buttons above. Demo buttons show how it works with synthetic data.

Honest framing: Phase 4.0 is genuine frontier. No Australian sheep platform integrates microbiome or CV phenotyping into ranking. The math here is defensible (cited literature). The data ingest path is real (commercially available). What's missing is the operational pipeline at your farm to source these data routinely. Phase 4.0 is the framework; Phase 4.1 onward will refine as your data sources mature.

GWAS-derived molecular calibration PHASE 4.1 · GENOMIC

Per-farm SNP effects via ridge regression of realised profit on genotypes. Hayes et al (2009) framework adapted for closed-loop calibration. The platform fits your farm's OWN molecular weights — distinct from the national reference population's SNP effects — and computes a per-animal Direct Genomic Value (DGV) that complements EBV-based ranking. This is what closes the gap to the very latest commercial pig and chicken genomic platforms.

CSV columns: animal_id, snp_001, snp_002, …, snp_050 (genotypes coded 0/1/2 = minor allele count), realised_profit. Demo data has 5 “true” SNPs with deliberate effects — ridge regression should recover them.
No SNP data loaded.

Top 10 SNPs by absolute farm-specific effect

Each row is a SNP; effect size is the change in realised profit per minor-allele copy, holding other SNPs constant (ridge-regularised). Your farm's effects may differ from a national reference because of environment × genotype interactions.

Per-animal Direct Genomic Value (DGV)

DGVi = Σj (genotypeij × βj) across all SNPs. Animals with positive DGV are predicted to outperform the population mean by their DGV in $/animal/lifetime. Mean and SD shown below; histogram-style summary of distribution included.

GWAS calibration math & citations

Ridge regression of realised profit on SNP genotypes

y_i = β_0 + Σ_j (genotype_ij × β_j) + ε_i

β = (X^T X + λI)^-1 X^T y    (ridge-regularised; λ = 5.0 for p ≫ n stability)

For each animal i:
  DGV_i = Σ_j (genotype_ij × β_j_farm)

Applied to ranking:
  ranking_score_i = (Σ_t EBV_it × weight_t)   <-- existing Phase 3.2/4.0 logic
                  + DGV_i × λ_genomic            <-- new genomic contribution
  where λ_genomic = 0.10 (max 10% contribution from molecular layer)

Why farm-specific SNP effects matter: a SNP that’s favourable in mid-rainfall NE Vic may be neutral or unfavourable in low-rainfall WA. National reference populations (e.g. Sheep CRC Information Nucleus) compute one set of SNP effects; per-farm calibration captures genotype × environment interactions that national models smooth over.

Why ridge regression: with p (SNPs) often ≫ n (animals), OLS fails (singular X^T X). Ridge with λ = 5.0 keeps coefficients stable. For larger samples (n > p) you can lower λ. The platform reports per-SNP effect sizes but treats individual SNPs cautiously — the molecular score (DGV) is the reliable output.

Frontier citations

  • Meuwissen, Hayes & Goddard (2001). Prediction of total genetic value using genome-wide dense marker maps. Genetics 157:1819-1829. Foundational paper for genomic selection.
  • VanRaden (2008). Efficient methods to compute genomic predictions. J. Dairy Sci. 91:4414-4423. Genomic relationship matrix (GRM) standard.
  • Habier et al (2007). The impact of genetic relationship information on genome-assisted breeding values. Genetics 177:2389-2397. BayesA/B framework.
  • Hayes et al (2009). Invited review: Genomic selection in dairy cattle: progress and challenges. J. Dairy Sci. 92:433-443. Implementation of GS in commercial breeding.
  • Daetwyler et al (2010). The impact of genetic architecture on genome-wide evaluation methods. Genetics 185:1021-1031. Accuracy as function of n, h², and architecture.
  • Daetwyler et al (2012). Genomic prediction in animals and plants: simulation of data, validation, reporting, and benchmarking. Genetics 193:347-365. Standardised methodology for genomic prediction comparisons.
  • van der Werf et al (2014). Genomic selection and use of molecular tools in breeding programs for indigenous and crossbred cattle in developing countries. Anim. Prod. Sci. 54:128-141. Genomic selection in mixed-breed contexts.
  • Hoerl & Kennard (1970). Ridge regression: biased estimation for nonorthogonal problems. Technometrics 12:55-67. Ridge framework, applied here for p ≫ n stability.

Data acquisition path

  1. Sheep: Genomic data via Sheep Genetics Information Nucleus, Zoetis, or commercial labs (Neogen). Typical panel: ~50K SNPs (Illumina OvineHD or similar). For per-farm calibration, a reduced panel of 100–1000 most-impactful SNPs is sufficient.
  2. Cattle: Zoetis Inherit Select reports rankings/percentiles, not raw SNPs. For raw SNPs use commercial labs (Neogen, IGENITY) or research collaborations (e.g. AbacusBio, University of Adelaide).
  3. Reduced-panel approach: Use a published top-100 SNP panel from a relevant prior GWAS (e.g. AGBU sheep GWAS results), genotype your animals on those 100 SNPs only. Cost-effective; sufficient for per-farm calibration of major effects.

Honest framing: Phase 4.1 ships the framework. Demo data demonstrates ridge regression recovering the 5 deliberately-coded SNP effects. Real-world value depends on you having SNP genotypes per animal in your selection candidates AND realised outcomes per animal post-selection. The data acquisition path is real (commercial labs do this routinely). The per-farm refinement of national SNP effects is the genuine novelty; LAMBPLAN does not do this.

Multivariate molecular calibration PHASE 4.3 · PER-TRAIT GWAS

Phase 4.1 fits ONE regression — realised profit on all SNPs — producing a single DGV per animal. Phase 4.3 fits a SEPARATE ridge regression per performance trait. Result: each SNP gets a different effect for each trait, and each animal gets a per-trait DGV. This is the rigour level PIC and Aviagen use internally for commercial genomic selection. When applied, Phase 4.4 composite ranking projects per-trait DGVs through current lifetime weights and uses the result instead of single-DGV.

CSV columns: animal_id, snp_001…snp_050, realised_PWT, realised_NLW, realised_CFW, realised_FD, realised_FOOTROT (or any subset — platform fits regression for each trait that has data).
No per-trait SNP data loaded.

Per-trait SNP effects matrix — top 3 SNPs per trait

Each row is one trait’s top SNPs. The same SNP may appear with different effect sizes (and signs) across traits, capturing pleiotropy + per-trait calibration.

Per-animal per-trait DGV summary

Per-trait GWAS math & rationale
For each trait T ∈ {PWT, NLW, CFW, FD, FOOTROT, …}:
  realised_T_i = β_T0 + Σ_j (genotype_ij × β_Tj) + ε_Ti

  β_T = (X^T X + λI)^-1 X^T y_T    (ridge λ = 5.0)

  Per-animal trait DGV (centred at population mean):
    DGV_iT = Σ_j (genotype_ij × β_Tj_farm) - meanDGV_T

When Phase 4.3 is applied, Phase 4.4 receives weight-projected DGVs:
  equivalent_DGV_i = Σ_T (DGV_iT × lifetime_weight_T)

Phase 4.4 then multiplies by λ_genomic = 0.10 in computeComposite, giving:
  gwas_contribution_i = Σ_T (DGV_iT × lifetime_weight_T × 0.10)

Mathematically equivalent to per-trait blending:
  trait_T_blended_i = (EBV_iT + DGV_iT × 0.10) × lifetime_weight_T

Why per-trait beats single-DGV: a SNP near the GDF8 (myostatin) locus may strongly affect muscling (EMD, PWT) but be neutral for wool traits. A single DGV averaged over realised profit conflates the two. Per-trait calibration says “this SNP is +$0.40/allele on PWT, but −0.05/allele on FD” — lets selection target the trait where the SNP actually pulls weight.

Why per-farm matters: your farm's PER-TRAIT economics differ from national averages. A SNP favourable for FD (finer wool) on a Merino stud is irrelevant on Andrew's shedder flock — but the same SNP's effect on PWT or FOOTROT may matter a lot. Per-trait per-farm calibration captures this.

Citations

  • Goddard & Hayes (2009). Mapping genes for complex traits in domestic animals. Nat. Rev. Genet. 10:381-391.
  • Daetwyler et al (2012). Genomic prediction in animals and plants. Genetics 193:347-365.
  • Calus & Veerkamp (2011). Accuracy of multi-trait genomic selection. Genet. Sel. Evol. 43:26.
  • Pollak (2018). Application of breeding values in commercial poultry. PIC + Aviagen technical bulletins.
  • Hayes et al (2009). Genomic selection in dairy cattle. J. Dairy Sci. 92:433-443.
  • Hoerl & Kennard (1970). Ridge regression. Technometrics 12:55-67.

Composite ranking score PHASE 4.4 · INTEGRATED

All 8 methodology layers collapsed into ONE per-animal ranking score. Each layer’s contribution visible in the breakdown columns. This is the score you actually use to rank rams. Without this, all the prior phases are diagnostic; with it, the platform is operational.

Creates linked dataset: per animal_id, all of {EBVs, microbiome profile, CV scores, SNP genotypes}. The 5 deliberately-coded SNP effects + microbiome FCE signal flow through to composite score correctly.
Layers:
Click the demo button above to populate animals across all layers.
Composite scoring math
composite_i = base_i + cal_i + micro_i + cv_i + gwas_i

base_i = Σ_t (EBV_i_t × lifetime_weight_t)            (Phase 2.1)

cal_i = Σ_t (EBV_i_t × lifetime_weight_t × (multiplier_t − 1))   (Phase 3.1/3.2)
        only when calibration override active

micro_i = Σ_{t ∈ feed-traits} (EBV_i_t × lifetime_weight_t × (FCE_i − 1) × path_fraction_t)    (Phase 4.0)
          where FCE_i computed from animal_i’s microbiome,
          path_fraction_t is feed-mediated share per trait (PWT 0.15, EWT 0.20, etc.)

cv_i = Σ_{t ∈ cv-traits} (CV_score_i_t × cv_weight_t)    (Phase 4.0)
       LEGS: -2.50/score, FRAME: +0.30/cm, MUSCLE: +1.80/score, etc.

gwas_i = DGV_i × λ_genomic    (Phase 4.1)
         where DGV_i = Σ_j (genotype_ij × β_j_farm), λ_genomic = 0.10

Each toggle in the layers row turns its term on/off. Composite score recalculates immediately. Sort the table by clicking the column header to rank by composite, base, or any layer in isolation.

Layers are additive not multiplicative. EBV weights are not double-counted across layers because each layer either modifies the EBV pathway (calibration, microbiome) or adds new pathways (CV, GWAS). The math distributes contribution attribution correctly.

This is the methodology PIC and Aviagen use internally to produce a single ranking number. They keep the layer breakdown proprietary; Genemap exposes every contribution.

Cross-session persistence layer PHASE 4.2 · SUPABASE

Phase 3.2 already persists calibration weights. Phase 4.2 extends durability to the rest: microbiome readings (4.0a), CV scores (4.0b), SNP genotypes + realised profit (4.1), and per-trait realised values (4.3). One table sheep_animal_data keyed on (user_id, animal_id), columns for each data slice. Auto-loaded on page open. Survives logout, browser switch, device switch.

Checking session…

Phase 4.0a microbiome data

No data in memory yet.

Phase 4.0b CV phenotyping data

No data in memory yet.

Phase 4.1 + 4.3 SNP & realised data

No data in memory yet.
Phase 4.2 ready.
Schema, RLS, and migration

Single Supabase table sheep_animal_data keyed on (user_id, animal_id) with Row-Level Security. Columns are JSONB to keep schema flexible across data types. Migration in /migrations/phase42_persistence.sql in deployment zip.

CREATE TABLE sheep_animal_data (
  user_id            UUID NOT NULL REFERENCES auth.users(id),
  animal_id          TEXT NOT NULL,
  ebv                JSONB,
  microbiome         JSONB,
  cv                 JSONB,
  snp                JSONB,
  realised_profit    NUMERIC,
  realised_per_trait JSONB,
  updated_at         TIMESTAMPTZ DEFAULT now(),
  PRIMARY KEY (user_id, animal_id)
);

ALTER TABLE sheep_animal_data ENABLE ROW LEVEL SECURITY;

CREATE POLICY "sheep_animal_data_select" ON sheep_animal_data
  FOR SELECT USING (auth.uid() = user_id);
CREATE POLICY "sheep_animal_data_insert" ON sheep_animal_data
  FOR INSERT WITH CHECK (auth.uid() = user_id);
CREATE POLICY "sheep_animal_data_update" ON sheep_animal_data
  FOR UPDATE USING (auth.uid() = user_id);
CREATE POLICY "sheep_animal_data_delete" ON sheep_animal_data
  FOR DELETE USING (auth.uid() = user_id);

Save semantics: each Save button only writes its relevant column slice. Save microbiome upserts {user_id, animal_id, microbiome} — columns not in payload are untouched on conflict.

localStorage fallback: when not authenticated, keys mgt_phase42_* hold the same data shape. Status banner indicates which storage tier is in use.