Crei una matrice delle funzionalità dei concorrenti
Trasformi ricerche sparse sui concorrenti in un confronto coerente di funzionalità, pronto per analisi, report o pianificazione del prodotto.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Indichi i concorrenti, elenchi le funzionalità e aggiunga un indicatore vero o falso per ogni combinazione. Il risultato conserva l’ordine richiesto, crea una matrice strutturata e totalizza le funzionalità supportate da ciascun concorrente. Una validazione rigorosa rileva elementi mancanti, duplicati o sconosciuti prima che un confronto incompleto influenzi una roadmap o una conversazione commerciale.
Prepari un confronto completo e neutrale
Inizi definendo i nomi dei concorrenti nell’esatto ordine delle colonne che desidera mantenere. I nomi devono essere univoci, perché ogni indicatore successivo viene associato a uno di essi. Crei poi una riga per ogni capacità da confrontare. Un’etichetta utile è abbastanza specifica da essere interpretata allo stesso modo da due ricercatori. Per esempio, «Single Sign-On SAML» è più affidabile di «sicurezza aziendale», che può comprendere controlli diversi. Ogni riga richiede una voce per concorrente con un valore booleano. Usi vero soltanto quando il prodotto soddisfa la definizione scelta e falso in caso contrario. Lo strumento non inventa uno stato sconosciuto né deduce il supporto dal linguaggio promozionale. Se le prove sono incomplete, completi la ricerca prima di creare la matrice oppure adotti una convenzione esplicita. Questa disciplina produce dati equilibrati, nei quali ogni azienda viene valutata con la medesima lista e secondo criteri identici.
Interpreti la matrice e i totali
L’output restituisce l’ordine normalizzato dei concorrenti, una riga per funzionalità, il conteggio delle funzionalità supportate da ciascun concorrente e il totale confrontato. In ogni riga, il supporto è indicizzato per nome, così un software può trovare un’intersezione precisa senza dipendere dalla posizione. I totali contano solo gli indicatori veri. Sono un riepilogo rapido, ma non costituiscono automaticamente una classifica: una funzionalità di base e una strategica valgono entrambe un punto. Se servono pesi, consideri questo risultato come livello fattuale e applichi coefficienti documentati in un’analisi separata. Lo strumento elimina gli spazi esterni, rifiuta nomi duplicati ed esige una copertura completa. Respinge anche concorrenti sconosciuti, indicatori ripetuti e valori non realmente booleani. Questi controlli evitano difetti comuni dei fogli di calcolo, come celle mancanti, grafie diverse dello stesso fornitore o testo interpretato erroneamente dai sistemi successivi.
Utilizzi il risultato in flussi ripetibili
Una matrice strutturata è più preziosa quando diventa un artefatto ripetibile anziché una singola diapositiva. Conservi l’input con i collegamenti alle fonti e la data della ricerca nel Suo sistema, quindi lo rigeneri quando cambiano le prove. I team di prodotto possono confrontare le versioni per seguire i divari colmati; i team commerciali possono trasformare le righe in schede competitive; gli analisti possono produrre tabelle, grafici o modelli di punteggio. Poiché l’algoritmo è deterministico e non usa la rete, input identici generano sempre output identici. Non consulta siti concorrenti, non verifica dichiarazioni, non equipara descrizioni diverse e non giudica la qualità. Queste restano responsabilità della ricerca. Per l’automazione, invii lo stesso JSON tramite API al costo di $0.002 per richiesta. Per esigenze occasionali, lo esegua nel browser. La validazione fallisce subito se la lista è vuota o incompleta. Prima della pubblicazione, faccia controllare la matrice agli esperti, soprattutto quando il supporto dipende dal piano, dalla regione, dalle integrazioni o dalla configurazione.
Casi d'uso
Analisi delle lacune di prodotto
Converta gli indicatori ricercati in una matrice coerente prima di stabilire le priorità della roadmap.
Preparazione di schede commerciali
Crei confronti strutturati trasformabili in schede competitive aggiornate e fondate su prove.
Valutazione dei fornitori selezionati
Conti la copertura dei requisiti tra i prodotti finalisti conservando ogni risultato per la verifica.
Domande frequenti
Che cosa accade se l’elenco delle funzionalità è vuoto?
La richiesta fallisce con un errore di input non valido, perché un elenco vuoto non consente un confronto significativo.
Ogni funzionalità deve includere tutti i concorrenti?
Sì. Ogni funzionalità richiede esattamente un indicatore booleano per ciascun concorrente indicato.
Il conteggio classifica i concorrenti?
No. Conta allo stesso modo tutti gli indicatori veri, senza pesare le funzionalità né valutarne l’importanza.
Lo strumento ricerca le dichiarazioni dei concorrenti?
No. Struttura e convalida i dati forniti da Lei, senza consultare o verificare fonti esterne.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. La versione browser può essere eseguita localmente per confronti occasionali.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/biz/competitor-feature-matrix-build \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"competitors":["Acme","Bravo","Cobalt"],"features":[{"feature":"Single sign-on","support":[{"competitor":"Acme","supported":true},{"competitor":"Bravo","supported":false},{"competitor":"Cobalt","supported":true}]},{"feature":"Audit log","support":[{"competitor":"Acme","supported":true},{"competitor":"Bravo","supported":true},{"competitor":"Cobalt","supported":false}]}]}'const res = await fetch("https://api.kit.forhosting.com/biz/competitor-feature-matrix-build", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"competitors": [
"Acme",
"Bravo",
"Cobalt"
],
"features": [
{
"feature": "Single sign-on",
"support": [
{
"competitor": "Acme",
"supported": true
},
{
"competitor": "Bravo",
"supported": false
},
{
"competitor": "Cobalt",
"supported": true
}
]
},
{
"feature": "Audit log",
"support": [
{
"competitor": "Acme",
"supported": true
},
{
"competitor": "Bravo",
"supported": true
},
{
"competitor": "Cobalt",
"supported": false
}
]
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/competitor-feature-matrix-build",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"competitors": [
"Acme",
"Bravo",
"Cobalt"
],
"features": [
{
"feature": "Single sign-on",
"support": [
{
"competitor": "Acme",
"supported": true
},
{
"competitor": "Bravo",
"supported": false
},
{
"competitor": "Cobalt",
"supported": true
}
]
},
{
"feature": "Audit log",
"support": [
{
"competitor": "Acme",
"supported": true
},
{
"competitor": "Bravo",
"supported": true
},
{
"competitor": "Cobalt",
"supported": false
}
]
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/competitor-feature-matrix-build", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"competitors":["Acme","Bravo","Cobalt"],"features":[{"feature":"Single sign-on","support":[{"competitor":"Acme","supported":true},{"competitor":"Bravo","supported":false},{"competitor":"Cobalt","supported":true}]},{"feature":"Audit log","support":[{"competitor":"Acme","supported":true},{"competitor":"Bravo","supported":true},{"competitor":"Cobalt","supported":false}]}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"competitors":["Acme","Bravo","Cobalt"],"features":[{"feature":"Single sign-on","support":[{"competitor":"Acme","supported":true},{"competitor":"Bravo","supported":false},{"competitor":"Cobalt","supported":true}]},{"feature":"Audit log","support":[{"competitor":"Acme","supported":true},{"competitor":"Bravo","supported":true},{"competitor":"Cobalt","supported":false}]}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/competitor-feature-matrix-build", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"competitors": [
"Acme",
"Bravo",
"Cobalt"
],
"features": [
{
"feature": "Single sign-on",
"support": [
{
"competitor": "Acme",
"supported": true
},
{
"competitor": "Bravo",
"supported": false
},
{
"competitor": "Cobalt",
"supported": true
}
]
},
{
"feature": "Audit log",
"support": [
{
"competitor": "Acme",
"supported": true
},
{
"competitor": "Bravo",
"supported": true
},
{
"competitor": "Cobalt",
"supported": false
}
]
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.competitor_feature_matrix_build",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |