Franchise Ownership Scorecard

Franchise Ownership Fit

Assess your readiness to own and operate a successful franchise.

Get Your Personalized Shortlist




(function() {
var QUESTIONS = [
{id: ‘business_exp’, text: ‘Do you have prior business ownership or management experience?’, helper: ‘Business ownership or management experience matters most early on.’, labels: [‘No experience’, ‘Limited’, ‘Some’, ‘Significant’, ‘Extensive’]},
{id: ‘capital_invest’, text: ‘How much total capital are you prepared to invest?’, helper: ‘Capital availability often determines which franchises fit your range.’, labels: [‘Under 50K’, ’50K-100K’, ‘100K-250K’, ‘250K-500K’, ‘Over 500K’]},
{id: ‘risk_tolerance’, text: ‘How would you describe your risk tolerance?’, helper: ‘Risk tolerance shapes which franchise systems are right for you.’, labels: [‘Very Conservative’, ‘Conservative’, ‘Moderate’, ‘Aggressive’, ‘Very Aggressive’]},
{id: ‘support_need’, text: ‘How important is ongoing franchisor support and training?’, helper: ‘Some franchises require minimal support; others demand constant guidance.’, labels: [‘Minimal’, ‘Somewhat’, ‘Important’, ‘Very Important’, ‘Critical’]},
{id: ‘growth_timeline’, text: ‘What is your target timeline to profitability?’, helper: ‘Timeline expectations guide which systems make sense for you.’, labels: [‘2+ years’, ’18-24 months’, ’12-18 months’, ‘6-12 months’, ‘ASAP’]},
{id: ‘work_style’, text: ‘Do you prefer working hands-on or managing teams?’, helper: ‘Your management style determines operational fit.’, labels: [‘Full Hands-On’, ‘Mostly Hands-On’, ‘Balanced’, ‘Mostly Managing’, ‘Full Management’]},
{id: ‘commitment_level’, text: ‘How much time can you dedicate weekly to your business?’, helper: ‘Time commitment separates passive and active ownership paths.’, labels: [’20-30 hrs’, ’30-40 hrs’, ’40-50 hrs’, ’50-60 hrs’, ’60+ hrs’]},
{id: ‘location_flexibility’, text: ‘How flexible are you with location or relocation?’, helper: ‘Some systems require specific geographic markets or flexibility.’, labels: [‘Not at all’, ‘Somewhat’, ‘Flexible’, ‘Very Flexible’, ‘Anywhere’]},
{id: ‘market_focus’, text: ‘Do you have a specific industry or market in mind?’, helper: ‘Industry preference narrows down your best-fit franchises.’, labels: [‘No idea yet’, ‘Exploring’, ‘Few preferences’, ‘Clear preference’, ‘Specific concept’]},
{id: ‘support_network’, text: ‘Do you have business advisors, mentors, or financing relationships?’, helper: ‘Support networks reduce risk and accelerate success.’, labels: [‘No support’, ‘Some contacts’, ‘Moderate network’, ‘Strong network’, ‘Extensive support’]}
];
var state = {};
QUESTIONS.forEach(function(q) { state[q.id] = 0; });

function init() {
renderQuestions();
setupEventListeners();
setTimeout(function() {
var inputs = document.querySelectorAll(‘.lead-card .form-group input’);
if (inputs[0]) { inputs[0].id = ‘firstName’; inputs[0].type = ‘text’; }
if (inputs[1]) { inputs[1].id = ’email’; inputs[1].type = ’email’; }
var rows = document.querySelectorAll(‘.question-row’);
rows.forEach(function(row) {
var input = row.querySelector(‘input’);
if (input && !input.classList.contains(‘fdt-sc-slider’)) {
input.type = ‘range’;
input.min = ‘0’;
input.max = ‘5’;
input.classList.add(‘fdt-sc-slider’);
input.setAttribute(‘data-id’, row.getAttribute(‘data-id’));
setupSliderListener(input);
}
});
}, 50);
}

function renderQuestions() {
var container = document.getElementById(‘questionsContainer’);
if (!container) return;
container.innerHTML = QUESTIONS.map(function(q, idx) {
return ‘

‘ + (idx+1) + ‘. ‘ + q.text + ‘
‘ + q.helper + ‘

‘ + q.labels[0] + ‘‘ + q.labels[4] + ‘
‘ + (state[q.id] > 0 ? state[q.id] : ‘–‘) + ‘

‘;
}).join(”);
}

function setupSliderListener(slider) {
slider.addEventListener(‘input’, function(e) {
var id = e.target.getAttribute(‘data-id’);
state[id] = parseInt(e.target.value);
var pct = (e.target.value / 5) * 100;
e.target.style.setProperty(‘–value’, pct + ‘%’);
checkValidity();
});
var pct = (slider.value / 5) * 100;
slider.style.setProperty(‘–value’, pct + ‘%’);
}

function setupEventListeners() {
var sendBtn = document.getElementById(‘sendResults’);
if (sendBtn) sendBtn.addEventListener(‘click’, sendResults);
var resetBtn = document.getElementById(‘resetBtn’);
if (resetBtn) resetBtn.addEventListener(‘click’, resetForm);
}

function checkValidity() {
var fn = document.getElementById(‘firstName’);
var em = document.getElementById(’email’);
var allFilled = Object.keys(state).every(function(k) { return state[k] > 0; });
var sendBtn = document.getElementById(‘sendResults’);
var valid = fn && fn.value && em && em.value && allFilled;
if (sendBtn) sendBtn.disabled = !valid;
}

function resetForm() {
Object.keys(state).forEach(function(k) { state[k] = 0; });
var fn = document.getElementById(‘firstName’);
var em = document.getElementById(’email’);
if (fn) fn.value = ”;
if (em) em.value = ”;
renderQuestions();
setTimeout(function() { setupEventListeners(); init(); }, 50);
}

function sendResults() {
var fn = document.getElementById(‘firstName’);
var em = document.getElementById(’email’);
var score = Object.keys(state).reduce(function(s, k) { return s + state[k]; }, 0);
var sendBtn = document.getElementById(‘sendResults’);
if (!fn || !em || !sendBtn) return;

var msg = ‘Name: ‘ + fn.value + ‘nEmail: ‘ + em.value + ‘nScore: ‘ + score + ‘/50’;
sendBtn.disabled = true;

var fd = new FormData();
fd.append(‘your-name’, fn.value);
fd.append(‘your-email’, em.value);
fd.append(‘your-message’, msg);
fd.append(‘action’, ‘wpcf7_ajax_call’);
fd.append(‘wpcf7-form-id’, ’59’);

fetch(‘/wp-admin/admin-ajax.php’, { method: ‘POST’, body: fd })
.then(function(r) { return r.json(); })
.then(function(data) {
if (data.status === ‘mail_sent’) {
var st = document.getElementById(‘statusMessage’);
if (st) { st.className = ‘status-message status-success show’; st.textContent = ‘Results sent! Check your email.’; }
}
})
.catch(function(e) {
var st = document.getElementById(‘statusMessage’);
if (st) { st.className = ‘status-message status-error show’; st.textContent = ‘Error sending results.’; }
})
.finally(function() { sendBtn.disabled = false; });
}

if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, init);
} else {
init();
}
})();