4. Dissolution Profile Comparison: Difference Factor (f1) & Similarity Factor (f2)
In generic formulation development and post-approval manufacturing changes (SUPAC), in vitro dissolution profiles of a Test formulation must be compared against a Reference (innovator) product. The FDA and CDSCO mandate computing the Difference Factor ($f_1$) and Similarity Factor ($f_2$). An $f_1$ value between 0 and 15 ensures minor percentage difference, while an $f_2$ value between 50 and 100 demonstrates equivalent dissolution performance (bio-similarity).
Calculating similarity and difference factors across 6 dissolution sampling time points.
import numpy as np
import math
# Dissolution percentages at 5, 10, 15, 20, 30, 45 min
ref_diss = np.array([21.0, 45.0, 68.0, 82.0, 94.0, 98.0])
test_diss = np.array([23.0, 48.0, 65.0, 80.0, 92.0, 97.0])
n = len(ref_diss)
# 1. Difference Factor (f1): { [sum(|R_t - T_t|)] / [sum(R_t)] } * 100
f1 = (np.sum(np.abs(ref_diss - test_diss)) / np.sum(ref_diss)) * 100.0
# 2. Similarity Factor (f2): 50 * log10( { 1 + (1/n)*sum((R_t - T_t)^2) }^(-0.5) * 100 )
mean_sq_error = (1.0 / n) * np.sum((ref_diss - test_diss) ** 2)
f2 = 50.0 * math.log10((1.0 + mean_sq_error) ** (-0.5) * 100.0)
print(f"Difference Factor (f1): {f1:.2f}% (Acceptance: 0 - 15%) -> {'PASS' if f1 <= 15 else 'FAIL'}")
print(f"Similarity Factor (f2): {f2:.2f} (Acceptance: 50 - 100) -> {'PASS' if f2 >= 50 else 'FAIL'}")- Difference Factor ($f_1$): Calculates percentage difference between two curves at each time point (Must be $\le 15\%$).
- Similarity Factor ($f_2$): Logarithmic reciprocal square-root transformation of mean squared error (Must be between $50$ and $100$).
- When $f_2 = 100$, the test and reference dissolution profiles are identical.
- At least 12 individual dosage units (tablets/capsules) should be tested per time point for regulatory submissions.
जेनेरिक दवाओं की डिसोल्यूशन प्रोफाइल की तुलना के लिए f1 (0-15%) और f2 (50-100) फॉर्मूला इस्तेमाल होता है। f2 का मान 50 से अधिक होने पर दवाएं समान मानी जाती हैं।