AssayIndex
Supplier scorecard

PPG — PolyPeptide Group (Hangzhou) Co., Ltd.

Hangzhou, CN · established 2006. The index holds 213 assay reports across 38 batches and 25 compounds, contributed by 6 laboratories. Every figure below is computed from those records and from nothing else.

213 reports38 batchesmedian purity 99.45 %documentation 93/100

Where PPG sells

PolyPeptide Group (Hangzhou) Co., Ltd. sells from its own storefront. The link is marked nofollow and sponsored: it exists so the figures on this scorecard can be read against what the supplier itself publishes. The index is paid nothing for it and a link is not an assessment.

Visit PPG at polypeptidegroup.net →

Every figure above describes lots the index has seen. It says nothing about the lot you are offered, and the only check that does is the one on the certificate against the vial.

Block 1

Identification

Business facts, held constant across the index and not derived from the data. The index sells nothing and takes no supplier payment for placement; the storefront link below is marked nofollow and sponsored so a record can be checked against the seller, and is not a recommendation.

Legal name
PolyPeptide Group (Hangzhou) Co., Ltd.
Short code in this index
PPG
Also known as
PPG · PolyPeptide · PolyPeptide Group (Hangzhou) · 多肽集团
City
Hangzhou
Region
Zhejiang
Country
CN
Established
2006
First record in index
27 Apr 2024
Most recent record
03 Aug 2026
Block 1b

Dispatch and regional stock

Counted from the chain-of-custody line on this supplier's own records, which names the route each vial travelled to the laboratory, and from the on-record reviews below. The index has no sight of any supplier's warehouse network and publishes none.

Domestic-warehouse route 13.6% n=213
Retail, shipped to the buyer 74.6% n=213
Direct to the laboratory 4.2% n=213
Median courier leg, direct despatch 6d n=9
Route to the laboratoryRecordsShare
Domestic warehouse despatch2913.6%
Retail purchase, shipped to the buyer12156.8%
Retail purchase via a third-party forwarder3817.8%
Supplier despatch direct to the laboratory94.2%
Laboratory retained-sample archive167.5%

Every record here carries a chain-of-custody line and that line names the route the vial travelled. Of the 213 PPG records the index holds, 29 reached the contributing laboratory from a domestic warehouse rather than as a cross-border consignment, covering 12 of the 25 compounds PPG is represented by here — BPC-157, Retatrutide, GHRP-2, L-Glutathione (reduced), GHRP-6, Melanotan II and 6 further compounds. Those are the PPG lines this index has actually seen arrive from regional stock, and they are a count of consignments rather than a stock listing: a line missing from them may simply never have been submitted for assay.

No contributor to this index has named a regional stock location for PPG. 29 of its records nevertheless arrived by a domestic-warehouse route, so stock is held somewhere; the index does not know where and will not guess.

The index measures nothing about lead time — it assays material, it does not buy it. What it has is PPG's own reviewers: 3 of the 26 on-record reviews state a quoted window and what happened against it. Where PPG despatched a sample direct to a laboratory, the courier leg ran a median 6 days across 9 such consignments — that is a transit time the index can see, and it is not the same thing as a lead time. The reviews are reproduced in full in Block 11.

Block 2

Headline statistics

Each figure carries the n it was computed from. The n= badge next to a statistic is the number of records it was computed from. Below n=8 the badge is amber. Below n=3 the statistic is suppressed and the individual values are shown instead.

Median purity 99.45% n=213
Interquartile range 0.72pp n=213
10th percentile 98.55% n=213
Pass rate vs index spec 100.0% n=213
Median recovery vs claim 97.3% n=128
Median water 4.60% n=213
Median |mass error| 2.7ppm n=168
Records carrying a flag 13.1% n=213
016324892.093.094.095.096.097.098.099.0100.092.00–92.25 %: n=092.25–92.50 %: n=092.50–92.75 %: n=092.75–93.00 %: n=093.00–93.25 %: n=093.25–93.50 %: n=093.50–93.75 %: n=093.75–94.00 %: n=094.00–94.25 %: n=094.25–94.50 %: n=094.50–94.75 %: n=094.75–95.00 %: n=095.00–95.25 %: n=095.25–95.50 %: n=095.50–95.75 %: n=095.75–96.00 %: n=096.00–96.25 %: n=096.25–96.50 %: n=096.50–96.75 %: n=096.75–97.00 %: n=097.00–97.25 %: n=097.25–97.50 %: n=097.50–97.75 %: n=197.75–98.00 %: n=198.00–98.25 %: n=898.25–98.50 %: n=898.50–98.75 %: n=1398.75–99.00 %: n=2099.00–99.25 %: n=1899.25–99.50 %: n=4699.50–99.75 %: n=4499.75–100.00 %: n=54median 99.45 Purity (% area) Reports
Figure 1. Purity distribution for all 213 PPG records carrying a purity figure. Domain fixed at 92–100 % area and bin width 0.25 pp on every purity histogram on this site, so this figure can be compared by eye with any other supplier's. Dashed line is the PPG median, 99.45 %; the index median is 99.08 %.
Block 3

Reproducibility across independent tests of one lot

Where the same physical lot was assayed more than once, the spread between those results is a property of the material and the fill, not of the market. It is the rarest and most informative statistic on this page, and it exists only for lots someone tested twice.

Median within-batch spread 0.51pp n=27
Index median spread 0.67pp n=28
Lots tested 3+ times 27 n=38

Across the 27 PPG lots in the index with three or more independent assays, the median spread between the highest and lowest purity result on one lot is 0.51 pp. Interpreting that number requires the laboratory repeatability figures: the best contributing laboratory here repeats to 0.16 pp and the worst to 0.34 pp, so a within-lot spread under about 0.5 pp is indistinguishable from measurement noise and a spread above 1 pp is a statement about the material.

Block 4

Supplier certificate against independent measurement

The supplier's own COA purity figure for a lot, minus the median of the index's independent observations of the same physical lot. Positive means the certificate reads higher than the measurement. Rule AX-R05 fires above 1.5 pp.

Median COA divergence +0.02pp n=38
Index median divergence +0.06pp n=28
Divergences in the supplier's favour 50% n=38
Divergences beyond 1 pp 0% n=38
Block 5

Provenance — where the tested material came from

Supplier-supplied samples are weaker evidence than independently purchased ones, because the supplier chose the vial. The index measures the size of that effect rather than assuming it.

Buyer-sourced median 99.45% n=188
Supplier-supplied median 99.44% n=9
Supplier-supplied share of records 4.2% n=213
97.598.098.498.899.299.7100.1Buyer-sourcedBuyer-sourced: Q1 99.02, median 99.45, Q3 99.74, n=188outlier 97.70outlier 97.89n=188Supplier-suppliedSupplier-supplied: Q1 99.25, median 99.44, Q3 99.66, n=9n=9Laboratory-retainedLaboratory-retained: Q1 99.22, median 99.44, Q3 99.80, n=16n=16 Purity (% area)
Figure 2. PPG purity by sample provenance. Tukey box plots: box spans Q1–Q3, the heavy rule is the median, whiskers reach the extreme observations inside 1.5 IQR of the box, and points outside the fences are plotted individually. The vertical line is the PPG overall median. Groups with fewer than two observations are omitted rather than drawn as a line.
Block 6

Documentation completeness

The score is not an opinion about paperwork. Each component is the share of PPG batches in the index whose certificate carries that field, weighted as set out on the scoring rubric.

Documentation score 93/100 n=38
Index median score 85/100 n=28
Certificate fieldBatches carrying itRubric weight
Purity figure stated100%25 points
Analytical method stated (column, gradient, wavelength)79%25 points
Peptide content stated71%20 points
Endotoxin stated32%15 points
Named impurities rather than a total74%15 points
Block 7

Coverage by compound

The delta column is this supplier's median minus the index-wide median for the same compound, which is the only comparison worth making: comparing a supplier's aggregate against another supplier's aggregate compares their product mixes as much as their process control.

CompoundClassReportsMedian %Index median %Δ (pp)Index specPass %
RetatrutideIncretin3598.5698.37+0.1996.5100
BPC-157Tissue-repair2799.8299.16+0.6698.0100
CJC-1295 (no DAC)Growth-hormone1899.6699.09+0.5798.0100
TirzepatideIncretin1899.1098.55+0.5597.0100
L-Glutathione (reduced)Short1399.4599.33+0.1298.5100
GHRP-6Growth-hormone1199.6599.54+0.1199.0100
IpamorelinGrowth-hormone1199.7899.47+0.3199.0100
SS-31 (Elamipretide)Metabolic1199.7699.53+0.2398.5100
AOD-9604Metabolic1099.4199.29+0.1298.0100
MGFGrowth-hormone999.2999.290.0097.5100
SemaglutideIncretin998.6498.89-0.2597.0100
Melanotan IIMelanocortin-receptor899.9299.42+0.5098.5100
TB-500Tissue-repair7 n=799.3999.53-0.1498.5100
MK-677 (Ibutamoren mesylate)Non-peptide4 n=499.6299.49+0.1398.5100
GHRP-2Growth-hormone4 n=499.6899.28+0.4099.0100
TesamorelinGrowth-hormone3 n=398.7498.29+0.4597.0100
5-Amino-1MQNon-peptide3 n=399.3899.45-0.0898.0100
Thymosin α1Tissue-repair3 n=398.9899.40-0.4297.5100
CJC-1295 with DACGrowth-hormone2 n=2n<398.9597.5100
SermorelinGrowth-hormone2 n=2n<399.0698.0100
CagrilintideIncretin1 n=1n<398.6996.5100
SemaxNeuroactive1 n=1n<399.4698.5100
Enclomiphene citrateNon-peptide1 n=1n<399.4498.5100
PT-141 (Bremelanotide)Melanocortin-receptor1 n=1n<399.3898.5100
NAD+Non-peptide1 n=1n<399.2897.0100

Full per-compound breakdown with distributions and caveats →

97.598.098.498.899.299.7100.1RetatrutideRetatrutide: Q1 98.23, median 98.56, Q3 99.01, n=35n=35BPC-157BPC-157: Q1 99.62, median 99.82, Q3 99.93, n=27n=27CJC-1295 (no DAC)CJC-1295 (no DAC): Q1 99.60, median 99.66, Q3 99.85, n=18outlier 98.97n=18TirzepatideTirzepatide: Q1 98.94, median 99.10, Q3 99.34, n=18n=18L-Glutathione (reduce…L-Glutathione (reduce…: Q1 99.40, median 99.45, Q3 99.54, n=13outlier 99.10outlier 99.16outlier 99.88n=13GHRP-6GHRP-6: Q1 99.58, median 99.65, Q3 99.86, n=11n=11IpamorelinIpamorelin: Q1 99.63, median 99.78, Q3 99.90, n=11n=11SS-31 (Elamipretide)SS-31 (Elamipretide): Q1 99.68, median 99.76, Q3 99.84, n=11outlier 99.42n=11AOD-9604AOD-9604: Q1 99.25, median 99.41, Q3 99.54, n=10outlier 98.75n=10MGFMGF: Q1 99.09, median 99.29, Q3 99.33, n=9n=9SemaglutideSemaglutide: Q1 98.57, median 98.64, Q3 98.81, n=9outlier 99.39n=9Melanotan IIMelanotan II: Q1 99.84, median 99.92, Q3 99.93, n=8outlier 99.66n=8TB-500TB-500: Q1 99.26, median 99.39, Q3 99.41, n=7outlier 99.71n=7MK-677 (Ibutamoren me…MK-677 (Ibutamoren me…: Q1 99.49, median 99.62, Q3 99.79, n=4n=4 Purity (% area)
Figure 3. PPG purity by compound, for the 14 compounds with at least four PPG records. Compounds are not equally difficult to make or to measure, so the vertical offsets between rows are largely a compound effect and only partly a supplier effect. Compare a row against the same compound on another supplier's page, never against the row above it.
Block 8

Quarterly trend

Submission volume is not market share and a quarterly median is not a trend unless the compound mix held still. Both caveats apply to every row below.

Median purity by quarter

Quarters with fewer than two purity records are gaps in the line rather than zeroes.

Coverage growth

Records added per quarter. Growth here is index coverage, not supplier volume.

QuarterBatchesReportsMedian purityRangeFlagged
2024-Q100n<30
2024-Q221999.4098.39–99.932
2024-Q321099.4299.08–99.871
2024-Q421599.8699.52–99.932
2025-Q142699.6898.50–99.933
2025-Q263499.3198.46–99.938
2025-Q33799.4999.34–99.921
2025-Q451799.3898.10–99.932
2026-Q163099.6599.10–99.934
2026-Q275299.3197.70–99.933
2026-Q31398.7498.54–98.912

Full quarterly timeline, batch by batch →

Block 9

Which laboratory produced these numbers

Laboratories disagree with each other by a measured amount. A supplier tested mostly by one laboratory carries that laboratory's offset in its aggregate, and the adjusted column removes it.

LaboratoryReportsMedian purityLab bias (pp)Bias-adjusted
Janoshik10099.42+0.0099.42
PeptideMeter4699.40-0.0599.45
Medutest2399.55+0.0899.47
VendorInvestigate1399.50-0.1199.61
Nordanalyt1699.47+0.0299.45
Kestrel1599.93+0.2499.69

Bias figures are estimated from paired same-lot comparisons and are published with their confidence intervals on inter-lab agreement.

Block 10

What this data does and does not show

Block 11

On-the-record reviews 26

Reviews are signed statements from index contributors about their own testing of this supplier's material. They are opinions attached to evidence, and they are not used in any statistic on this page.

95.0/ 100811 ratings across the index network
l.rahimi97/100

Chromatogram reproduced on the certificate with the integration limits visible; reported area checked against the trace and agrees to the first decimal.

a.balogun98/100

Gradient table, column identifier and detection wavelength printed beside the trace. Determination is reproducible from the document alone.

v.yildiz99/100

Independent determination on lot PPG-2603-0261 returned 98.2% against a declared 98.3%. Within method repeatability.

t.vanhecke97/100

Query on a possible shoulder at the principal peak answered with the expanded region of the trace rather than an assurance.

f.achebe98/100

Peptide content reported separately from area percent on all certificates held. Distinct quantities; conflation is the common documentary error.

t.teixeira99/100

Two lots of one line compared at an eleven month interval. Declared figures a tenth of a point apart; traces overlay within baseline noise.

p.petrov97/100

First order placed at single-vial quantity. Documentation complete, transit as quoted, independent determination 97.8%.

am.ekstrom98/100

Water by Karl Fischer with the determination method named. Bears on delivered mass for lyophilised presentations.

ay.roos99/100

Catalogue exceeds 350 lines; records held here cover four. Breadth of catalogue is not breadth of evidence.

s.bhattacharya97/100

Supplementary certificate for a lot released nineteen months earlier produced from records with the trace intact.

em.mbeki98/100

Related substances itemised by individual impurity with retention times assigned rather than reported as one total.

h.ogunleye99/100

Lot identifier agreed across vial, certificate and commercial documentation on every consignment examined.

a.espinoza97/100

Reconstitution produced a clear solution without extended agitation. Appearance observation, not a determination.

is.beaulieu98/100

ESI-MS identity reported against a stated expected mass alongside the chromatographic determination.

h.vermeulen99/100

Custom synthesis quoted with the schedule on the face of the quotation and completed two days inside it.

f.sorensen97/100

Four-day dispatch delay notified before the quoted window elapsed, with a revised date that held.

d.guerrero98/100

Counter-ion identity and content answered with a figure and a unit within one working day. Trifluoroacetate at 3.9%.

t.zielinski99/100

Four units from one consignment weighed against declared fill; all within two per cent gross.

l.rautio97/100

One lot submitted to two independent services. Both agreed with one another and with the declared figure to a tenth of a point.

s.haddad98/100

Repeat determination on the same line at eleven months returned 98.0% against 98.1% originally. No drift in this sample.

ma.agyeman99/100

Single lot identifier across every unit in the consignment, permitting an intra-consignment comparison.

lu.krastev97/100

Cold chain held to arrival on day seven with the pack solid. Shipment temperature record enclosed.

co.vasquez98/100

Declared figure not revised upward between the certificate and the commercial documentation.

l.pereira99/100

Nine consignments across fourteen months without substitution, reformulation or a line becoming unavailable after payment.

no.laurent97/100

Stability statement written against a named storage condition rather than a bare shelf life, so the claim is evaluable.

f.lokken98/100

Residual-solvent screen present on a line whose synthesis route calls for one, without a request having been made.

Block 12

Most recent records

The 25 most recently submitted PPG records. All 213 are listed on the full record listing.
ReportCompoundLotLabQuarterPurity %Water %Recovery %ProvenanceFlagsResult
AX-2026-043598TesamorelinPPG-2608-A6835Kestrel2026-Q398.912.56100.3Buyer-sourced1FAIL
AX-2026-043597TesamorelinPPG-2608-A6835Janoshik2026-Q398.541.15Buyer-sourced0PASS
AX-2026-043596TesamorelinPPG-2608-A6835PeptideMeter2026-Q398.741.83105.1Buyer-sourced1MARGINAL
AX-2026-043605RetatrutidePPG-2604-X7060Janoshik2026-Q298.174.2999.7Buyer-sourced0PASS
AX-2026-043601RetatrutidePPG-2604-X7060Janoshik2026-Q298.283.9695.3Buyer-sourced0PASS
AX-2026-043668AOD-9604PPG-2602-W8018PeptideMeter2026-Q299.473.06Buyer-sourced0PASS
AX-2026-043670AOD-9604PPG-2602-W8018PeptideMeter2026-Q299.562.71104.5Buyer-sourced0PASS
AX-2026-043630CJC-1295 (no DAC)PPG-2512-D7211Janoshik2026-Q299.665.1192.5Buyer-sourced0PASS
AX-2026-043660MGFPPG-2512-G7713Janoshik2026-Q299.304.2595.8Buyer-sourced0PASS
AX-2026-043608RetatrutidePPG-2604-X7060Janoshik2026-Q298.263.91102.3Buyer-sourced0PASS
AX-2026-043636CJC-1295 (no DAC)PPG-2512-D7211Janoshik2026-Q299.645.31Buyer-sourced0PASS
AX-2026-043631CJC-1295 (no DAC)PPG-2512-D7211Janoshik2026-Q299.554.7995.2Buyer-sourced0PASS
AX-2026-043595BPC-157PPG-2601-P6797VendorInvestigate2026-Q299.506.0098.1Laboratory-retained0PASS
AX-2026-043672CagrilintidePPG-2605-P7620VendorInvestigate2026-Q298.135.4289.1Buyer-sourced1MARGINAL
AX-2026-043606RetatrutidePPG-2604-X7060Janoshik2026-Q298.303.87Buyer-sourced0PASS
AX-2026-043617TirzepatidePPG-2602-G7459Janoshik2026-Q298.944.36103.6Buyer-sourced0PASS
AX-2026-043620TirzepatidePPG-2602-G7459PeptideMeter2026-Q299.364.26100.2Buyer-sourced0PASS
AX-2026-043634CJC-1295 (no DAC)PPG-2512-D7211Janoshik2026-Q299.935.06Buyer-sourced0PASS
AX-2026-043656MGFPPG-2512-G7713PeptideMeter2026-Q299.094.2299.3Buyer-sourced0PASS
AX-2026-043632CJC-1295 (no DAC)PPG-2512-D7211Janoshik2026-Q299.604.8792.6Buyer-sourced0PASS
AX-2026-043669AOD-9604PPG-2602-W8018Janoshik2026-Q299.632.4397.0Buyer-sourced0PASS
AX-2026-043657MGFPPG-2512-G7713Janoshik2026-Q299.064.25107.0Buyer-sourced0PASS
AX-2026-043671AOD-9604PPG-2602-W8018PeptideMeter2026-Q298.752.1093.4Buyer-sourced0PASS
AX-2026-043615TirzepatidePPG-2602-G7459Medutest2026-Q298.784.5592.1Buyer-sourced0PASS
AX-2026-043626CJC-1295 (no DAC)PPG-2512-D7211Nordanalyt2026-Q299.664.9492.5Buyer-sourced0PASS
Block 13

Contributor annotations on PPG records 394

Annotations are this index's only discussion surface: signed technical comments attached to a specific record by a named contributor. They are not moderated for agreement with the index's own arithmetic. The most recent on PPG material are below, each linked to the record it sits on.

On small molecules an assay against a named reference standard is both identity and content in one determination. Its absence leaves both open.
Filtration at 0.22 µm removes organisms and not endotoxin. Endotoxin removal needs ultrafiltration or affinity adsorption and neither is routine at this scale.
The reported figure derives from the plate count and the retention gap, via the pharmacopoeial form with the sum of both peak widths in the denominator. It is a calculated quantity, not a measured one, and it inherits the plate count's uncertainty.
Where the nearest species is a diastereomer of Tesamorelin, resolution is the only thing that separates them at all — no mass measurement will. The compound fingerprint states what is achievable and on what method.
An orthogonal identity method on the same lot would make this the strongest class of record the index holds. Mass plus retention is already better than most.
Two instruments or it is not confirmed, and this record is one instrument. It is a good one instrument, and the index records it as confirmed rather than corroborated for that reason.
Lot PPG-2604-X7060 on the vial matches the certificate that came with it. That is the check every buyer can do in ten seconds and most do not.
Custody from checkout to injection is documented on this record. Provenance plus custody is what makes a single result generalise past the vial it came from.

Every annotation the index holds on PPG material sits on its own record; the full set is reachable from the record listing and from each contributor's page. To read them against what PPG itself publishes, open polypeptidegroup.net → alongside.

Block 14

Where to buy PPG

PolyPeptide Group (Hangzhou) Co., Ltd. sells direct from polypeptidegroup.net. Everything on this page describes lots the index has already seen; the certificate that matters is the one that arrives with the vial you order, and the lot code on it should match the vial. Ask for the lot-specific document rather than the batch-level summary, and ask for the integration report if you intend to reconcile the figure yourself.

Go to the PPG store at polypeptidegroup.net →

Marked nofollow and sponsored. The index is paid nothing for it, takes no commission, and a link is not an assessment. Research compounds. Not medical advice. Nothing on this site is a safety assessment and nothing on it is approved for human use.