LKML
Virtual call center
Lead
Lead model for virtual call center.
inferred
Blocks
lead.view.lkml · 226 lines
inferred
view: lead {
sql_table_name: tblLead ;;
dimension: id {
type: int
primary_key: yes
sql: ${TABLE}.pk_LeadID ;;
}
dimension: dialed_phone {
sql: SUBSTRING(${TABLE}.LeadCallANI, 1, 3) + '-' + SUBSTRING(${TABLE}.LeadCallANI, 4, 3) + '-' + SUBSTRING(${TABLE}.LeadCallANI, 7, 4) ;;
}
dimension: first_name {
sql: ${TABLE}.LeadCRMFName ;;
}
dimension: last_name {
sql: ${TABLE}.LeadCRMLName ;;
}
dimension: full_name {
sql: ${TABLE}.LeadCRMFName + ' ' + ${TABLE}.LeadCRMLName ;;
}
dimension: address {
sql: ${TABLE}.LeadCRMAddr ;;
}
dimension: address_2 {
sql: ${TABLE}.LeadCRMAddr2 ;;
}
dimension: city {
sql: ${TABLE}.LeadCRMCity ;;
}
dimension: state {
sql: ${TABLE}.LeadCRMState ;;
}
dimension: zip_code {
sql: ${TABLE}.LeadCRMZip ;;
}
dimension: email {
sql: ${TABLE}.LeadCRMEmail ;;
}
dimension: purchase_history {
sql: ${TABLE}.LeadCRMPurHist ;;
}
dimension: is_junk {
type: yesno
sql: ${TABLE}.LeadFlagJunk = 1 ;;
}
dimension: is_state_restricted {
type: yesno
sql: ${TABLE}.LeadFlagRest = 1 ;;
}
dimension: is_wireless {
type: yesno
sql: ${TABLE}.LeadIsWireless = 'true' ;;
}
dimension: five9_lead_list {
sql: ${TABLE}.LeadList ;;
}
dimension: lead_source {
sql: ${TABLE}.LeadSource ;;
}
dimension: received_hour_of_day {
type: date_hour_of_day
sql: ${TABLE}.LeadRcvd ;;
}
dimension: received_day_of_week {
type: date_day_of_week_index
sql: ${TABLE}.LeadRcvd ;;
}
dimension: received_quarter_of_hour {
type: int
sql: ${TABLE}.LeadRcvd15 ;;
}
dimension_group: original_callcenter {
type: time
timeframes: [time, hour, date, week, month]
sql: ${TABLE}.LeadCallDate ;;
}
dimension_group: received {
type: time
timeframes: [time, date, week, month]
sql: ${TABLE}.LeadRcvd ;;
}
dimension_group: age_in_days {
type: date
sql: DATEDIFF(day, ${received_date}, CONVERT(date, CURRENT_TIMESTAMP)) ;;
}
measure: imported_count {
type: count_distinct
sql: ${id} ;;
}
measure: calls_count {
type: sum
sql: ${lead_facts.num_calls} ;;
}
measure: opportunity_count {
type: sum
sql: ${lead_facts.opportunities} ;;
}
measure: not_dialed_count {
type: sum
sql: CASE WHEN ${lead_facts.num_calls} IS NULL
THEN 1
ELSE 0
END ;;
}
measure: max_attempts_count {
type: sum
sql: CASE WHEN (${lead_facts.max_reached} = 1 AND ${lead_facts.completed} = 0)
THEN 1
ELSE 0
END ;;
}
measure: completed_count {
type: sum
sql: CASE WHEN ${lead_facts.completed} > 0
THEN 1
ELSE 0
END ;;
}
measure: expired_count {
type: sum
sql: CASE WHEN ${age_in_days} > 4 AND ((${lead_facts.completed} = 0 AND ${lead_facts.max_reached} = 0) OR ${lead_facts.num_calls} IS NULL)
THEN 1
ELSE 0
END ;;
}
measure: penetrated_count {
type: number
sql: ${completed_count} + ${max_attempts_count} ;;
}
measure: orders {
type: sum
sql: ${lead_facts.orders} ;;
}
measure: total_revenue {
type: number
sql: sum(${lead_facts.shiprushtax} + ${item_total.total_amount}) ;;
}
measure: penetration_rate {
type: number
sql: CASE WHEN ${imported_count} > 0
THEN 100.0 * ${penetrated_count} / ${imported_count}
ELSE NULL
END ;;
}
measure: opportunity_rate {
type: number
sql: CASE WHEN ${calls_count} > 0
THEN 100.0 * ${opportunity_count} / ${calls_count}
ELSE NULL
END ;;
}
measure: conversion_on_opportunities {
type: number
sql: CASE WHEN ${opportunity_count} > 0
THEN 100.0 * ${orders} / ${opportunity_count}
ELSE NULL
END ;;
}
measure: conversion_on_leads {
type: number
sql: CASE WHEN ${imported_count} > 0
THEN 100.0 * ${orders} / ${imported_count}
ELSE NULL
END ;;
}
measure: rev_per_opportunity {
type: number
sql: CASE WHEN ${opportunity_count} > 0
THEN 1.00 * ${total_revenue} / ${opportunity_count}
ELSE NULL
END ;;
}
measure: rev_per_lead {
type: number
sql: CASE WHEN ${imported_count} > 0
THEN 1.00 * ${total_revenue} / ${imported_count}
ELSE NULL
END ;;
}
measure: average_order_value {
type: number
sql: CASE WHEN ${orders} > 0
THEN 1.00 * ${total_revenue} / ${orders}
ELSE NULL
END ;;
}
}
lead.view.lookml · 155 lines
source-preserved
- view: lead
sql_table_name: tblLead
fields:
- dimension: id
type: int
primary_key: true
sql: ${TABLE}.pk_LeadID
- dimension: dialed_phone
sql: SUBSTRING(${TABLE}.LeadCallANI, 1, 3) + '-' + SUBSTRING(${TABLE}.LeadCallANI, 4, 3) + '-' + SUBSTRING(${TABLE}.LeadCallANI, 7, 4)
- dimension: first_name
sql: ${TABLE}.LeadCRMFName
- dimension: last_name
sql: ${TABLE}.LeadCRMLName
- dimension: full_name
sql: ${TABLE}.LeadCRMFName + ' ' + ${TABLE}.LeadCRMLName
- dimension: address
sql: ${TABLE}.LeadCRMAddr
- dimension: address_2
sql: ${TABLE}.LeadCRMAddr2
- dimension: city
sql: ${TABLE}.LeadCRMCity
- dimension: state
sql: ${TABLE}.LeadCRMState
- dimension: zip_code
sql: ${TABLE}.LeadCRMZip
- dimension: email
sql: ${TABLE}.LeadCRMEmail
- dimension: purchase_history
sql: ${TABLE}.LeadCRMPurHist
- dimension: is_junk
type: yesno
sql: ${TABLE}.LeadFlagJunk = 1
- dimension: is_state_restricted
type: yesno
sql: ${TABLE}.LeadFlagRest = 1
- dimension: is_wireless
type: yesno
sql: ${TABLE}.LeadIsWireless = 'true'
- dimension: five9_lead_list
sql: ${TABLE}.LeadList
- dimension: lead_source
sql: ${TABLE}.LeadSource
- dimension: received_hour_of_day
type: date_hour_of_day
sql: ${TABLE}.LeadRcvd
- dimension: received_day_of_week
type: date_day_of_week_index
sql: ${TABLE}.LeadRcvd
- dimension: received_quarter_of_hour
type: int
sql: ${TABLE}.LeadRcvd15
- dimension_group: original_callcenter
type: time
timeframes:
- time
- hour
- date
- week
- month
sql: ${TABLE}.LeadCallDate
- dimension_group: received
type: time
timeframes:
- time
- date
- week
- month
sql: ${TABLE}.LeadRcvd
- dimension_group: age_in_days
type: date
sql: DATEDIFF(day, ${received_date}, CONVERT(date, CURRENT_TIMESTAMP))
- measure: imported_count
type: count_distinct
sql: ${id}
- measure: calls_count
type: sum
sql: ${lead_facts.num_calls}
- measure: opportunity_count
type: sum
sql: ${lead_facts.opportunities}
- measure: not_dialed_count
type: sum
sql: CASE WHEN ${lead_facts.num_calls} IS NULL
THEN 1
ELSE 0
END
- measure: max_attempts_count
type: sum
sql: CASE WHEN (${lead_facts.max_reached} = 1 AND ${lead_facts.completed} = 0)
THEN 1
ELSE 0
END
- measure: completed_count
type: sum
sql: CASE WHEN ${lead_facts.completed} > 0
THEN 1
ELSE 0
END
- measure: expired_count
type: sum
sql: CASE WHEN ${age_in_days} > 4 AND ((${lead_facts.completed} = 0 AND ${lead_facts.max_reached} = 0) OR ${lead_facts.num_calls} IS NULL)
THEN 1
ELSE 0
END
- measure: penetrated_count
type: number
sql: ${completed_count} + ${max_attempts_count}
- measure: orders
type: sum
sql: ${lead_facts.orders}
- measure: total_revenue
type: number
sql: sum(${lead_facts.shiprushtax} + ${item_total.total_amount})
- measure: penetration_rate
type: number
sql: CASE WHEN ${imported_count} > 0
THEN 100.0 * ${penetrated_count} / ${imported_count}
ELSE NULL
END
- measure: opportunity_rate
type: number
sql: CASE WHEN ${calls_count} > 0
THEN 100.0 * ${opportunity_count} / ${calls_count}
ELSE NULL
END
- measure: conversion_on_opportunities
type: number
sql: CASE WHEN ${opportunity_count} > 0
THEN 100.0 * ${orders} / ${opportunity_count}
ELSE NULL
END
- measure: conversion_on_leads
type: number
sql: CASE WHEN ${imported_count} > 0
THEN 100.0 * ${orders} / ${imported_count}
ELSE NULL
END
- measure: rev_per_opportunity
type: number
sql: CASE WHEN ${opportunity_count} > 0
THEN 1.00 * ${total_revenue} / ${opportunity_count}
ELSE NULL
END
- measure: rev_per_lead
type: number
sql: CASE WHEN ${imported_count} > 0
THEN 1.00 * ${total_revenue} / ${imported_count}
ELSE NULL
END
- measure: average_order_value
type: number
sql: CASE WHEN ${orders} > 0
THEN 1.00 * ${total_revenue} / ${orders}
ELSE NULL
END
Contents
- lead.view.lkml
- lead.view.lookml