Le problème
Les marques dépensent des milliers d'euros en campagnes d'influenceurs TikTok sans vérifier si l'engagement est réel. Les faux abonnés, les pods d'engagement et les commentaires de bots gonflent des métriques qui semblent légitimes à première vue. Un créateur avec 500 000 abonnés peut avoir 90 % de comptes bots. L'API officielle de TikTok ne fournit aucun signal de détection de fraude, et la vérification manuelle de la qualité des commentaires et des modèles d'abonnés ne passe pas à l'échelle. Les marques ne découvrent la fraude qu'après le lancement de la campagne et le ROI est nul.
La solution Scavio
Le point de terminaison TikTok de Scavio remonte les métriques d'engagement, les modèles de commentaires et les signaux d'abonnés qui vous permettent de construire des heuristiques de détection de fraude. Vous vérifiez les taux d'engagement par rapport aux références, recherchez les modèles de répétition de commentaires et comparez la cohérence vidéo par vidéo. Un créateur légitime présente une variance naturelle dans l'engagement ; un créateur frauduleux a des métriques suspectement uniformes. Les données structurées alimentent des modèles de notation qui signalent les créateurs à haut risque avant de signer un contrat.
Avant
Avant Scavio, les marques se fiaient aux métriques déclarées par les influenceurs et ne découvraient la fraude qu'après avoir payé pour des campagnes qui produisaient un ROI nul.
Après
Après Scavio, un script de vérification pré-campagne évalue les créateurs sur l'authenticité de leur engagement. Les marques détectent les métriques gonflées avant de signer les contrats et redirigent le budget vers les créateurs authentiques.
À qui cela s'adresse
Les responsables marketing de marque et les gestionnaires de campagnes d'influenceurs qui doivent vérifier les créateurs TikTok avant de signer des contrats. Toute personne qui a dépensé un budget pour des influenceurs avec un engagement frauduleux et souhaite un processus de vérification basé sur les données.
Avantages clés
- Métriques d'engagement avec ratios vue/j'aime pour la détection de fraude
- L'analyse des modèles de commentaires révèle l'activité des bots et les pods d'engagement
- La notation de cohérence vidéo par vidéo signale les comptes artificiellement gonflés
- La vérification pré-campagne évite le gaspillage du budget influenceur
- Les données structurées alimentent des modèles de notation personnalisés
Exemple Python
import requests
import statistics
API_KEY = "your_scavio_api_key"
BASE_URL = "https://api.scavio.dev/api/v1/tiktok"
def vet_creator(username: str) -> dict:
res = requests.post(
f"{BASE_URL}/user",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"username": username},
timeout=15,
)
res.raise_for_status()
data = res.json()
videos = data.get("videos", [])
if not videos:
return {"username": username, "risk": "no_data"}
engagement_rates = []
for v in videos:
views = v.get("views", 0)
likes = v.get("likes", 0)
if views > 0:
engagement_rates.append(likes / views)
if not engagement_rates:
return {"username": username, "risk": "no_engagement_data"}
avg_er = statistics.mean(engagement_rates)
er_variance = statistics.variance(engagement_rates) if len(engagement_rates) > 1 else 0
# Fraud signals
risk_flags = []
if avg_er > 0.15: # Suspiciously high engagement
risk_flags.append("engagement_too_high")
if er_variance < 0.001 and len(engagement_rates) > 5: # Too uniform
risk_flags.append("suspiciously_uniform")
if data.get("followers", 0) > 100000 and avg_er < 0.01:
risk_flags.append("high_followers_low_engagement")
return {
"username": username,
"followers": data.get("followers", 0),
"avg_engagement_rate": round(avg_er, 4),
"engagement_variance": round(er_variance, 6),
"videos_analyzed": len(engagement_rates),
"risk_flags": risk_flags,
"risk_level": "high" if len(risk_flags) >= 2 else "medium" if risk_flags else "low",
}
result = vet_creator("example_influencer")
print(f"{result['username']}: {result['risk_level']} risk")
for flag in result.get("risk_flags", []):
print(f" - {flag}")Exemple JavaScript
const API_KEY = "your_scavio_api_key";
const BASE_URL = "https://api.scavio.dev/api/v1/tiktok";
async function vetCreator(username) {
const res = await fetch(`${BASE_URL}/user`, {
method: "POST",
headers: { Authorization: `Bearer ${API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({ username }),
});
if (!res.ok) throw new Error(`scavio ${res.status}`);
const data = await res.json();
const videos = data.videos ?? [];
if (!videos.length) return { username, risk: "no_data" };
const engagementRates = videos
.filter((v) => (v.views ?? 0) > 0)
.map((v) => (v.likes ?? 0) / v.views);
if (!engagementRates.length) return { username, risk: "no_engagement_data" };
const avgEr = engagementRates.reduce((a, b) => a + b, 0) / engagementRates.length;
const variance = engagementRates.reduce((sum, er) => sum + (er - avgEr) ** 2, 0) / engagementRates.length;
const riskFlags = [];
if (avgEr > 0.15) riskFlags.push("engagement_too_high");
if (variance < 0.001 && engagementRates.length > 5) riskFlags.push("suspiciously_uniform");
if ((data.followers ?? 0) > 100000 && avgEr < 0.01) riskFlags.push("high_followers_low_engagement");
return {
username,
followers: data.followers ?? 0,
avgEngagementRate: Math.round(avgEr * 10000) / 10000,
engagementVariance: Math.round(variance * 1000000) / 1000000,
videosAnalyzed: engagementRates.length,
riskFlags,
riskLevel: riskFlags.length >= 2 ? "high" : riskFlags.length ? "medium" : "low",
};
}
const result = await vetCreator("example_influencer");
console.log(`${result.username}: ${result.riskLevel} risk`);
for (const flag of result.riskFlags ?? []) console.log(` - ${flag}`);Plateformes utilisées
TikTok
Découverte de vidéos tendance, créateurs et produits