Qualitätskontrolle
Sehen Sie, wie konsequent Ihr Team Einwände behandelt, Ihren Prozess einhält und Ihr Unternehmen vertritt — ohne auch nur einen Bruchteil der…
Das CRM bleibt aktuell, ohne Mehraufwand.
Bei realem Anrufvolumen ist es ein aussichtsloser Kampf, das CRM aktuell zu halten. Ein Mitarbeiter beendet ein Gespräch, und ehrlich bleibt nur die Wahl: sauber dokumentieren oder das nächste Gespräch annehmen. Das nächste Gespräch gewinnt fast immer.
So veralten die Daten. Vereinbarte nächste Schritte werden nicht festgehalten. Folgetermine gehen unter. Und Ihnen als Führungskraft fehlt genau das, wofür das CRM eigentlich da war: ein klarer Überblick, was bei jedem Kunden passiert.
Sales Signals dokumentiert für Ihre Mitarbeiter. Nach jedem Gespräch hält es fest, worüber gesprochen wurde, erfasst den vereinbarten nächsten Schritt und legt die Folgeaufgabe an — direkt in Ihrem CRM.
An der Arbeitsweise Ihrer Mitarbeiter ändert sich nichts, und nichts hängt mehr an Gedächtnis oder Disziplin. Die Daten bleiben vollständig, weil ihre Vollständigkeit keine Aufgabe mehr ist, an die jemand denken muss.
Manuelle CRM-Eingaben wirken nicht teuer, weil sich die Kosten über jeden Mitarbeiter verteilen, immer nur ein paar Minuten. Über ein Team und ein Jahr summiert, ist es echtes Geld — ausgegeben für Dateneingabe statt für Verkauf.
countryData = FileAttachment("/data/salary-by-country.csv").csv({ typed: true })
fmtMoney = (value, row) =>
new Intl.NumberFormat(row.locale, {maximumFractionDigits: 0}).format(Math.round(value)) + " " + row.sym
renderResult = (rows) => html`<div class="calc-result">
${rows.map(r => html`<div class="calc-result-row ${r.total ? 'calc-result-total' : ''}">
<span>${r.label}</span><span>${r.value}</span>
</div>`)}
</div>`
// Persist a value to a cookie shared across the site (1-year expiry).
// Used to carry calculator inputs (country, reps, calls/day) into the contact form.
setSSCookie = (name, value) => {
document.cookie = "salessignals-" + name + "=" + encodeURIComponent(value) +
";path=/;max-age=" + (60*60*24*365) + ";SameSite=Lax";
}viewof countryCode = Inputs.select(
countryData.map(d => d.code),
{
label: "Land",
format: code => countryData.find(d => d.code === code).name
}
)
viewof salary = Inputs.number({label: "Monatsgehalt pro Mitarbeiter", min: 0, step: 100})
viewof oncost = Inputs.number({label: "Lohnnebenkosten (%)", min: 0, max: 100, step: 1})
viewof reps = Inputs.number({label: "Anzahl Mitarbeiter", value: 5, min: 1, step: 1})
viewof callsPerDay = Inputs.number({label: "Anrufe pro Mitarbeiter und Tag", value: 12, min: 1, step: 1})
viewof minutesPerUpdate = Inputs.range([0.5, 5], {label: "Minuten pro CRM-Eintrag", value: 2, step: 0.5})
viewof workingDays = Inputs.number({label: "Arbeitstage pro Jahr", value: 220, min: 1, step: 5})loadedHourly = (salary * (1 + oncost/100)) / 147
hoursPerRep = callsPerDay * minutesPerUpdate * workingDays / 60
costPerRep = hoursPerRep * loadedHourly
teamCost = costPerRep * reps
renderResult([
{label: "Stunden pro Mitarbeiter und Jahr", value: Math.round(hoursPerRep) + " Std."},
{label: "Kosten pro Mitarbeiter und Jahr", value: fmtMoney(costPerRep, row)},
{label: "Für " + reps + " Mitarbeiter, pro Jahr", value: fmtMoney(teamCost, row), total: true}
])Die Angaben sind Näherungswerte. Gehälter und Beitragssätze variieren je nach Rolle, Erfahrung und Land; passen Sie sie an Ihre Situation an.
Sales Signals erledigt diese Dateneingabe automatisch und gibt Ihren Mitarbeitern diese Stunden zurück — für die Arbeit, für die Sie sie eingestellt haben.
Ihr CRM zeigt, was tatsächlich passiert ist — nicht, woran ein Mitarbeiter zu tippen dachte. Nächste Schritte werden erfasst und weiterverfolgt. Und die Zeit, die Ihr Team mit Dateneingabe verbracht hat, fließt zurück in den Verkauf.
Am klarsten wird Sales Signals, wenn Sie sehen, was es aus den echten Gesprächen Ihres Teams zutage fördert. Wir richten es mit Ihrer bestehenden Telefonanlage ein; es gibt nichts zu installieren, und für Ihre Mitarbeiter ändert sich nichts.