OverviewSegmentation is the process of creating groups of records (segments) based on common business characteristics. Segments can be created by using CRMQL (CRM Query Language), a business query language developed by CRM.COM. They are used for statistical calculations and as identification criteria by business processes, for example, to group newly activated subscriptions and send them a welcome message. It is also possible to create reusable segment criteria templates (to speed up the process) Segment Criteria Templates Info |
---|
| Foundation / Segmentation /Manage Segment Criteria Templates |
Segment criteria templates can be used to create new or modify existing segments, making it possible to edit and reuse queries instead of writing them from scratch. Each segment criteria template is specific to an area in the system referred to as 'Segmented Area' It actually determines the type of information that will be grouped in the segment and the filters or the queries that can be defined each segment. Once the segmented area is selected the query used to identify the records included in the group is written using the CRMQL. Save the templateand use it when creating segments to speed up the process.
Segments Info |
---|
Foundation / Segmentation / Manage Segments |
Segments group records based on common characteristics by using conditions defined in CRMQL (CRM.COM Query Language). By using the Included in Segments and Excluded Segments attributes found under the segments tab of some modules, the system can effectively select which records should be affected by (or excluded from) an action. Segments are also used in Pricing Strategy and Additive Discounts to and Additive Discounts to determine whether plans and discounts can be applied to the selected group of records, and in processes to apply actions on specific groups of records in one flow. Creating Segments
Specify the criteria that match the segment you are interested in or click on NEW from the Actions' menu to create a new segment. Select a Segmented Area and one of the available Criteria Templates or provide a new CRMQL query (or select a template) and SAVE the segment. If SAVE AS DRAFT is selected, the criteria can be committed and the CRMQL query can be saved without being correct. Back to top
Modifying a segment
Use EDIT from the Actions' menu to enter edit mode and update the criteria. This will result in a different segment. The template and criteria can be edited in both draft or posted segments, but the entity cannot be modified in any case.
Including specific records in the segment
Define a set of records that should be included in the segment regardless of specified criteria. The type of information that can be added to the static items depends on the selected entity. Use the 'Manage Static Items' action available from the Actions Menu to add items from a segment. If you would like to remove specific items then just click on the remove icon next to the item. Previewing and exporting segments
You can preview a number of the records that will be included in a segment through the Matched Items section It is also possible to view a comprehensive list of the records included in a segment by exporting them as a CSV file through Export button in the Matched Items section Segment preview information includes: - Entity ID
- Entity number (where applicable)
- Entity name
- Entity alternative code (where applicable)
- Entity description (where applicable)
Preview information additionally displays either the Accounts Receivable Name or the Contact Information Name depending on whether the entity is an account receivable-based or a contact information-based entity. - The Accounts Receivable Name is available when previewing segments for:
- Bills
- Buy In Advance Requests
- Credit Notes
- Invoices
- Invoice Cancellations
- Jobs
- Payments
- Payment cancellations
- Payment gateway cards
- Payment gateway requests
- Refunds
- Rewards Participants
- Award Transactions
- Spend Transactions
- Award Expiration Transactions
- Service Requests
- Subscriptions
- Wallets
- Write Offs
- Subscription Actions
- The Contact Information Name is available when previewing segments for:
Back to top
Using segments throughout the system
As shown in the table below, several system processes use segments. | |
---|
Rewards | Used by reward offers as award conditions. Participants from a specific segment can be eligible to be awarded or can be excluded. |
---|
Provisioning - Conax Contego
- Nagravision
- EXSETSMS
| Segments are included in provisioning provider fingerprinting run criteria to include or exclude subscribers from being sent a fingerprinting message. |
---|
Additive Discount | Segments are included in additive discount definition criteria to include or exclude customers from being eligible for the discounts. |
---|
Pricing Strategy | Segments are included in conditional price plan conditions to allow (or prevent) customers from being billed from a specific price plan. |
---|
Notifications | Segments are included in notification types to include or exclude customers from being notified. |
---|
Business Flows
Panel |
---|
borderColor | Turquoise |
---|
borderStyle | dashed |
---|
title | Provide discount for customers which belong in a segment |
---|
| Scenario Aluxsat Co. wants to offer a discount to its subscribers on the month of their birthday.
Configuration Segments - Create the following Segment:
Additive Discount - Create an auto apply discount for subscriptions.
- In the Discount Rules section, define that the discount will be applied once a year
- Add the segment in the non-usage segment criteria.
Notification - Create a notification type for subscriptions.
- Create a communication template which will wish the subscriber a happy birthday and inform them of the discount:
Dear #subscription.accounts_receivable.name Happy Birthday !!! We value our customers and would like to celebrate your birthday with you by offering you a 50% discount on your current subscription fee for this month for subscription: #subscription.number Best Regards Company ZX Team
- Add the segment in the notification criteria.
- Execute a notification run before the billing is executed so that the customers are informed of the discount.
Process During billing, the system will retrieve the segment of subscribers who have their birthday during the current month and will discount their monthly bill |
Panel |
---|
borderColor | Turquoise |
---|
borderStyle | dashed |
---|
title | Using Segment Criteria Templates |
---|
| Scenario Aluxsat Co. wants to identify non-VIP customers that owe money to the company for use in various business processes.
Configuration
Segment Criteria Template - Create the following Segment Criteria Template:
- Name: Accounts receivable in debt excluding VIP
- Segmented Area: Accounts receivable
- Criteria:
accounts_receivable.balance > 0
and accounts_receivable.credit_status = "Exceeded"
and accounts_receivable.classification!= "VIP"
Segment - Create the following segment using the above template:
- Template: Accounts receivable in debt, excluding VIP
- Name: Accounts receivable in debt, excluding VIP
|
Ui expand |
---|
|
Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on contacts |
---|
| Retrieve Contact Information of type 'Person' living in Nicosia. Code Block |
---|
| contact_information.type = "Person"
and exist(contact_information.address.area = "Nicosia") |
Retrieve Contact Information of type 'Person' that have their birthday in the current month. Code Block |
---|
| contact_information.type="Person"
and contact_information.month_of_birth = current_month()
|
Code Block |
---|
| contact_information.type="Person"
and contact_information.month_of_birth > current_month()
and contact_information.month_of_birth <= (current_month()+1) |
|
Subscriptions Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on subscriptions |
---|
| Retrieve Subscriptions of type 'Normal' that have at least one 'Effective' service. Code Block |
---|
| subscription.type = "Normal"
and exist(subscription.service.life_cycle_state = "Effective") |
Retrieve Subscriptions of type 'Normal' that do not have an 'Effective' movie service. Code Block |
---|
| subscription.type="Normal"
and not exist
(subscription.service.life_cycle_state="Effective"
and subscription.service.product= "movies" ) |
Retrieve Subscriptions of type 'Normal' that have at least one 'Not Effective' service that was terminated in the last 15 days. Code Block |
---|
| subscription.type="Normal"
and exist(subscription.service.life_cycle_state="Not Effective"
and subscription.service.life_cycle_state_start_date <= day_end()
and subscription.service.life_cycle_state_start_date >= days_before(day_end(),15) ) |
|
Accounts Receivable Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on accounts receivable |
---|
| Retrieve Accounts Receivable with a balance greater than '0', a credit status that is 'Exceeded', and a classification that is not 'VIP'. Code Block |
---|
| accounts_receivable.balance > 0
and accounts_receivable.credit_status = "Exceeded"
and accounts_receivable.classification!= "VIP" |
Retrieve Accounts Receivable that are not set to receive bills by email. Code Block |
---|
| accounts_receivable.life_cycle_state="Active"
and not exist(accounts_receivable.presentment_preference.presentment_method="Email"
and accounts_receivable.presentment_preference.active=true) |
|
Bills Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on bills |
---|
| Retrieve Bills that are partially paid and their outstanding or unsettled amount is less than '10'. Code Block |
---|
| bill.status = "Partially_settled"
and (bill.outstanding_amount < 10
or bill.unsettled_amount < 10) |
Retrieve Bills that are due at the end of the month and are yet to be communicated by email. Code Block |
---|
| bill.due_date=month_end()
and not exist(bill.communication_queue.media="Email"
and bill.communication_queue.life_cycle_state="Completed") |
Retrieve Bills that are due at the end of the month and were communicated with errors. Code Block |
---|
| bill.due_date=month_end()
and exist(bill.communication_queue.media="Email" and bill.communication_queue.life_cycle_state="Rejected")
and not exist(bill.communication_queue.media="Email" and bill.communication_queue.life_cycle_state="Completed") |
|
Activities Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on activities |
---|
| Retrieve Activities of type 'Installation' that are still in progress and are past their estimated completion date. Code Block |
---|
| activity.type="Installation"
and activity.life_cycle_state = "In progress"
and activity.estimated_completion_date < day_start() |
|
Jobs Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on jobs |
---|
| Retrieve Jobs of type 'Maintenance' that were completed yesterday. Code Block |
---|
| job.type="Maintenance"
and job.life_cycle_state = "completed"
and job.actual_completion_date < day_start()
and job.actual_completion_date >=days_before(day_start(),1) |
|
Rewards Participants Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on Rewards Participants |
---|
| Retrieve Rewards Participants who have signed up today. Code Block |
---|
| rewards_participant.sign_up_date >= day_start() |
Retrieve Rewards Participants who signed up to a specific scheme today. Code Block |
---|
| rewards_participant.sign_up_date >= day_start()
and exist(rewards_participant.participating_reward_scheme.name="New Customers") |
|
Award Reward Transactions Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on Award Reward Transactions |
---|
| Retrieve Award Reward Transactions submitted this week by a specific offer. Code Block |
---|
| award_reward_transaction.submitted_date >= week_start()
and award_reward_transaction.submitted_date <= week_end()
and award_reward_transaction.reward_offer.number="00034 |
|
Spend Reward Transactions Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on Spend Reward Transactions |
---|
| Retrieve Spend Reward Transactions with a total amount of more than '10', submitted by specific units. Code Block |
---|
| spend_reward_transactions.total_amount > 10
and (spend.reward_transactions.submitted_by_unit="Sales Department 1" or spend.reward_transactions.submitted_by_unit="Sales Department 2" ) |
|
Service Requests Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on Service Requests |
---|
| Retrieve Service Requests of classification 'Request for Change' that were completed yesterday. Code Block |
---|
| service_request.classification ="Request for Change"
and service_request.life_cycle_state = "completed"
and service_request.actual_completion_date < day_start()
and service_request.actual_completion_date >= days_before(day_start(),1) |
|
Payment Gateway Cards Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on Payment Gateway Cards |
---|
| Retrieve Payment Gateway Cards that are going to expire in the next month. Code Block |
---|
| payment_gateway_card.payment_gateway_provider="Stripe"
and (
payment_gateway_card.expiration_year=current_year()
and payment_gateway_card.expiration_month=(current_month()+1)
or
(
payment_gateway_card.expiration_year=(current_year()+1)
and payment_gateway_card.expiration_month=1
and current_month()=12
)
) |
Retrieve Payment Gateway Cards that failed the security code check. Code Block |
---|
| payment_gateway_card.payment_gateway_provider="Stripe"
and payment_gateway_card.security_code_check_result=FAIL |
|
Payment Gateway Requests Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on Payment Gateway Requests |
---|
| Retrieve Payment Gateway Requests that were rejected during the last month. Code Block |
---|
| payment_gateway_request.payment_gateway_provider="Stripe"
and payment_gateway_request.life_cylce_state="REJECTED"
and payment_gateway_request.created_date<=month_start() |
Retrieve Payment Gateway Requests that were posted successfully during the last month. Code Block |
---|
| payment_gateway_request.payment_gateway_provider="Stripe"
and payment_gateway_request.life_cylce_state="POSTED"
and payment_gateway_request.created_date<=month_start() |
|
Payments Panel |
---|
id | 2 |
---|
title | Aluxsat Co. needs to create segments based on Payments |
---|
| Retrieve Payments of Type 'Web Payments' posted within the last day. Code Block |
---|
| payment.type="Web Payments"
and posted_date <= day_end()
and posted_date>= day_start() |
Retrieve Payments that were posted through Vouchers within the last week. Code Block |
---|
| posted_date<= day_end() and posted_date >= weeks_before(day_end(),1)
and payment.voucher.life_cycle_state="Used" |
Retrieve Payments that were posted within the last day and are yet to be communicated by email. Code Block |
---|
| posted_date <= day_end() and posted_date>= day_start()
and not exist(payment.communication.direction="Outgoing"
and payment.communication.media="Email"
and payment.communication.life_cycle_state="Completed") |
|
|
Ui expand |
---|
| Filter by label (Content by label) |
---|
showLabels | false |
---|
spaces | V4Manual |
---|
showSpace | false |
---|
cql | label = "global" and space = "V4Manual" |
---|
labels | global |
---|
|
|
|