analytics Articles / Blogs / Perficient https://blogs.perficient.com/tag/analytics/ Expert Digital Insights Mon, 09 Mar 2026 06:52:13 +0000 en-US hourly 1 https://blogs.perficient.com/files/favicon-194x194-1-150x150.png analytics Articles / Blogs / Perficient https://blogs.perficient.com/tag/analytics/ 32 32 30508587 Optimize Snowflake Compute: Dynamic Table Refreshes https://blogs.perficient.com/2026/03/07/optimize-snowflake-compute-dynamic-table-refreshes/ https://blogs.perficient.com/2026/03/07/optimize-snowflake-compute-dynamic-table-refreshes/#respond Sat, 07 Mar 2026 10:46:14 +0000 https://blogs.perficient.com/?p=390653

In this blog, we will discuss one of the problems: the system refreshes as per the target_lag even if no new data in the downstream tables. Most of the time, nothing has changed, which means we’re wasting compute for no reason.

If your data does not change, your compute should not either. Here is how to optimize your Dynamic table to save resources.

Core concepts use in this blog: –
Snowflake:
Snowflake is a fully managed cloud data warehouse that lets you store data and SQL queries at massive scale—without managing servers.

Compute Resources:
Compute resources in Snowflake are the processing power (virtual warehouses) that Snowflake uses to run your queries, load data, and perform calculations.
In simple way:
Storage = where data lives
Compute = the power used to process the data

Dynamic table:
In Snowflake, a Dynamic Table acts as a self-managing data container that bridges the gap between a query and a physical table. Instead of you manually inserting records, you provide Snowflake with a “blueprint” (a SQL query), and the system ensures the table’s physical content always matches that blueprint.

Stream:
A Stream in Snowflake is a tool that keeps track of all changes made to a table so you can process only the updated data instead of scanning the whole table.

Task:
Tasks can run at specific times you choose, or they can automatically start when something happens — for example, when new data shows up in a stream.
Scenario:

The client has requested that data be inserted every 1 hour, but sometimes there may be no new data coming into the downstream tables.

Steps: –
First, we go through the traditional approach and below are the steps.
1. Create source data:

— Choose a role/warehouse you can use

USE ROLE SYSADMIN;

USE WAREHOUSE SNOWFLAKE_LEARNING_WH;

 

— Create database/schema for the demo

CREATE DATABASE IF NOT EXISTS DEMO_DB;

CREATE SCHEMA IF NOT EXISTS DEMO_DB.DEMO_SCHEMA;

USE SCHEMA DEMO_DB.DEMO_SCHEMA;

— Base table: product_changes

CREATE OR REPLACE TABLE product_changes (

product_code VARCHAR(50),

product_name VARCHAR(200),

price NUMBER(10, 2),

price_start_date TIMESTAMP_NTZ(9),

last_updated    TIMESTAMP_NTZ DEFAULT CURRENT_TIMESTAMP()
);

— Seed a few rows

INSERT INTO product_changes (product_code, product_name, price, price_start_date,last_updated)

SELECT

‘PC-‘ || LPAD(TO_VARCHAR(MOD(SEQ4(), 10000) + 1), 3, ‘0’) AS product_code,

‘Product ‘ || LPAD(TO_VARCHAR(MOD(SEQ4(), 10000) + 1), 3, ‘0’) AS product_name,

ROUND(10.00 + (MOD(SEQ4(), 10000) * 5) + (SEQ4() * 0.01), 2) AS price,

DATEADD(MINUTE, SEQ4() * 5, ‘2025-01-01 00:00:00’) AS PRICE_START_DATE,

CURRENT_TIMESTAMP() AS last_updated

FROM

TABLE(GENERATOR(ROWCOUNT => 100000000));

— Create dynamic table

CREATE OR REPLACE DYNAMIC TABLE product_current_price_v1

TARGET_LAG = ‘1 hour’

WAREHOUSE = SNOWFLAKE_LEARNING_WH

INITIALIZE = ON_SCHEDULE

REFRESH_MODE = INCREMENTAL

AS

SELECT

h.product_code,

h.product_name,

h.price,

h.price_start_date

FROM product_changes h

INNER JOIN (

SELECT product_code, MAX(price_start_date) max_price_start_date

FROM product_changes

GROUP BY product_code

) m ON h.price_start_date = m.max_price_start_date AND h.product_code = m.product_code;

 

–Manually Refresh

ALTER DYNAMIC TABLE product_current_price_v1 REFRESH;
Always, we need to do manual refresh after an hour to check the new data is in table
Picture3

Because Snowflake uses a pay‑as‑you‑go credit model for compute, keeping a dynamic table refreshed every hour means compute resources are running continuously. Over time, this constant usage can drive up costs, making frequent refresh intervals less cost‑effective for customers.

To tackle this problem in a smarter and more cost‑efficient way, we follow a few simple steps that make the entire process smoother and more optimized:
First, we set the target_lag to 365 days when creating the dynamic table. This ensures Snowflake doesn’t continually consume compute resources for frequent refreshes, helping us optimize costs right from the start.

— Create dynamic table

CREATE OR REPLACE DYNAMIC TABLE product_current_price_v1

TARGET_LAG = ‘365 days’

WAREHOUSE = SNOWFLAKE_LEARNING_WH

INITIALIZE = ON_SCHEDULE

REFRESH_MODE = INCREMENTAL

AS

SELECT

h.product_code,

h.product_name,

h.price,

h.price_start_date

FROM product_changes h

INNER JOIN (

SELECT product_code, MAX(price_start_date) max_price_start_date

FROM product_changes

GROUP BY product_code

) m ON h.price_start_date = m.max_price_start_date AND h.product_code = m.product_code;

— A) Stream to detect changes in data
CREATE OR REPLACE STREAM STR_PRODUCT_CHANGES ON TABLE PRODUCT_CHANGES;

—  Stored procedure: refresh only when stream has data

CREATE OR REPLACE PROCEDURE SP_REFRESH_DT_IF_NEW()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS OWNER
AS
$$
DECLARE
v_has_data BOOLEAN;
BEGIN
SELECT SYSTEM$STREAM_HAS_DATA(‘STR_PRODUCT_CHANGESS’) INTO :v_has_data;
IF (v_has_data) THEN
ALTER DYNAMIC TABLE DEMO_DB.DEMO_SCHEMA.PRODUCT_CURRENT_PRICE_V1
REFRESH;
RETURN ‘Refreshed dynamic table DT_SALES (new data detected).’;
ELSE
RETURN ‘Skipped refresh (no new data).’;

END IF;

END;
$$;

— Create TASK
Here, we can schedule as per requirement

   EXAMPLE:
CREATE OR REPLACE TASK PUBLIC.T_REFRESH_DT_IF_NEW
WAREHOUSE = SNOWFLAKE_LEARNING_WH
SCHEDULE = ‘5 MINUTE’
AS
CALL PUBLIC.SP_REFRESH_DT_IF_NEW();

ALTER TASK PUBLIC.T_REFRESH_DT_IF_NEW RESUME;
Conclusion:
Optimizing Snowflake compute isn’t just about reducing costs—it’s about making your data pipelines smarter, faster, and more efficient. By carefully managing how and when dynamic tables refresh, teams can significantly cut down on unnecessary compute usage while still maintaining reliable, up‑to‑date data.

Adjusting refresh intervals, thoughtfully using features like target_lag, and designing workflows that trigger updates only when needed can turn an expensive, always‑running process into a cost‑effective, well‑tuned system. With the right strategy, Snowflake’s powerful dynamic tables become not just a convenience, but a competitive advantage in building lean, scalable data platforms.

 

]]>
https://blogs.perficient.com/2026/03/07/optimize-snowflake-compute-dynamic-table-refreshes/feed/ 0 390653
Qodo AI to Transform Code Reviews, Catch Bugs Early, and Shift QA Left https://blogs.perficient.com/2025/07/22/qodo-ai-to-transform-code-reviews-catch-bugs-early-and-shift-qa-left/ https://blogs.perficient.com/2025/07/22/qodo-ai-to-transform-code-reviews-catch-bugs-early-and-shift-qa-left/#comments Tue, 22 Jul 2025 05:59:23 +0000 https://blogs.perficient.com/?p=384834

Let’s be honest, code reviews can be tedious. You open a pull request, scroll through hundreds of lines, spot a couple of obvious issues, and approve. Then, two weeks later, a bug shows up in production… and it’s traced back to a line you skimmed over.

Sound familiar?

That’s exactly why I decided to try Qodo AI, an AI-powered code review assistant that promises to help you review smarter, not harder. And after two months of using, I can confidently say: Qodo AI is a game-changer.

This blog walks you through:

  •  What Qodo AI is
  •  How to use it effectively

What is Qodo AI?

Qodo AI is an intelligent assistant that plugs into your Git workflows and automatically reviews pull requests. But it’s not just a smarter linter. It goes beyond style rules and dives deep into:

  • Bug-prone patterns
  •  Missed test coverage
  •  Security vulnerabilities
  •  Code cleanup and refactoring suggestions
  •  Best practice recommendations

It’s like having a seasoned engineer on your team who never gets tired, misses nothing, always explains why something needs fixing.

How to Use Qodo AI (Step-by-Step)

  1. Connect Your Repo

Qodo integrates seamlessly with GitHub, GitLab, and Bitbucket. I connected it to my GitHub repo in under 5 minutes.

You can configure it to scan all branches or just specific PRs.

  1. Open a PR and Watch It Work

Once a pull request is opened, Qodo jumps into action. It adds inline comments and a summary report—highlighting issues, test gaps, and suggestions.Screenshot 2025 07 22 113200

  1. Act on Insights, Collaboratively

What sets Qodo apart is how clear and contextual its suggestions are. You don’t get vague warnings—you get:

  • A plain-language explanation
  • The rationale behind the issue
  • Suggested fixes or safer alternatives

Screenshot 2025 07 22 113259

Our developers started using Qodo’s comments as mini code lessons. Juniors appreciated the clarity; seniors appreciated the time saved.

Final Thoughts: Qodo AI is the Real Deal

We often talk about tools that “shift left” or “boost developer productivity.” Qodo AI delivers on both fronts. It’s a powerful, practical, and collaborative solution for any dev or QA team that wants to ship better code, faster.

Would I recommend it?

Absolutely—especially if:

  • You want faster, smarter code reviews
  • You care about test coverage and edge cases
  • You’re working in a security-conscious industry
  • You mentor junior developers or maintain high-stakes codebases

Qodo AI didn’t replace our code review process. It enhanced it.

Ready to give it a shot?
Visit https://qodo.ai to explore more. Let me know in comments if you try it—or already have.

]]>
https://blogs.perficient.com/2025/07/22/qodo-ai-to-transform-code-reviews-catch-bugs-early-and-shift-qa-left/feed/ 1 384834
Understanding Clean Rooms: A Comparative Analysis Between Databricks and Snowflake https://blogs.perficient.com/2025/06/27/databricks-vs-snowflake-clean-rooms-financial-research-collaboration/ https://blogs.perficient.com/2025/06/27/databricks-vs-snowflake-clean-rooms-financial-research-collaboration/#respond Fri, 27 Jun 2025 21:45:04 +0000 https://blogs.perficient.com/?p=383614

Clean rooms” have emerged as a pivotal data sharing innovation with both Databricks and Snowflake providing enterprise alternatives.

Clean rooms are secure environments designed to allow multiple parties to collaborate on data analysis without exposing sensitive details of data. They serve as a sandbox where participants can perform computations on shared datasets while keeping raw data isolated and secure. Clean rooms are especially beneficial in scenarios like cross-company research collaborations, ad measurement in marketing, and secure financial data exchanges.

Uses of Clean Rooms:

  • Data Privacy: Ensures that sensitive information is not revealed while still enabling data analysis.
  • Collaborative Analytics: Allows organizations to combine insights without sharing the actual data, which is vital in sectors like finance, healthcare, and advertising.
  • Regulatory Compliance: Assists in meeting stringent data protection norms such as GDPR and CCPA by maintaining data sovereignty.

Clean Rooms vs. Data Sharing

While clean rooms provide an environment for secure analysis, data sharing typically involves the actual exchange of data between parties. Here are the major differences:

  • Security:
    • Clean Rooms: Offer a higher level of security by allowing analysis without exposing raw data.
    • Data Sharing: Involves sharing of datasets, which requires robust encryption and access management to ensure security.
  • Control:
    • Clean Rooms: Data remains under the control of the originating party, and only aggregated results or specific analyses are shared.
    • Data Sharing: Data consumers can retain and further use shared datasets, often requiring complex agreements on usage.
  • Flexibility:
    • Clean Rooms: Provide flexibility in analytics without the need to copy or transfer data.
    • Data Sharing: Offers more direct access, but less flexibility in data privacy management.

High-Level Comparison: Databricks vs. Snowflake

Implementation
Databricks Snowflake
  1. Setup and Configuration:
    • Utilize existing Databricks workspace
    • Create a new Clean Room environment within the workspace
    • Configure Delta Lake tables for shared data
  2. Data Preparation:
    • Use Databricks’ data engineering capabilities to ETL and anonymize data
    • Leverage Delta Lake for ACID transactions and data versioning
  3. Access Control:
    • Implement fine-grained access controls using Unity Catalog
    • Set up row-level and column-level security
  4. Collaboration:
    • Share Databricks notebooks for collaborative analysis
    • Use MLflow for experiment tracking and model management
  5. Analysis:
    • Utilize Spark for distributed computing
    • Support for SQL, Python, R, and Scala in the same environment
  1. Setup and Configuration:
    • Set up a separate Snowflake account for the Clean Room
    • Create shared databases and views
  2. Data Preparation:
    • Use Snowflake’s data engineering features or external tools for ETL
    • Load prepared data into Snowflake tables
  3. Access Control:
    • Implement Snowflake’s role-based access control
    • Use secure views and row access policies
  4. Collaboration:
  5. Analysis:
    • Primarily SQL-based analysis
    • Use Snowpark for more advanced analytics in Python or Java
Business and IT Overhead
Databricks Snowflake
  • Lower overhead if already using Databricks for other data tasks
  • Unified platform for data engineering, analytics, and ML
  • May require more specialized skills for advanced Spark operations
  • Easier setup and management for pure SQL users
  • Less overhead for traditional data warehousing tasks
  • Might need additional tools for complex data preparation and ML workflows
Cost Considerations
Databricks Snowflake
  • More flexible pricing based on compute usage
  • Can optimize costs with proper cluster management
  • Potential for higher costs with intensive compute operations
  • Predictable pricing with credit-based system
  • Separate storage and compute pricing
  • Costs can escalate quickly with heavy query usage
Security and Governance
Databricks Snowflake
  • Unity Catalog provides centralized governance across clouds
  • Native integration with Delta Lake for ACID compliance
  • Comprehensive audit logging and lineage tracking
  • Strong built-in security features
  • Automated data encryption and key rotation
  • Detailed access history and query logging
Data Format and Flexibility
Databricks Snowflake
  • Supports various data formats (structured, semi-structured, unstructured)
  • Supports various file formats (Parquet, Iceberg, csv,json, images, etc.)
  • Better suited for large-scale data processing and transformations
  • Optimized for structured and semi-structured data
  • Excellent performance for SQL queries on large datasets
  • May require additional effort for unstructured data handling
Advanced Analytics, AI and ML
Databricks Snowflake
  • Native support for advanced analytics and AI/ML workflows
  • Integrated with popular AI/ML libraries and MLflow
  • Easier to implement end-to-end AI/ML pipeline
  • Requires additional tools or Snowpark for advanced analytics
  • Integration with external ML platforms needed for comprehensive ML workflows
  • Strengths lie more in data warehousing than in ML operations
Scalability
Databricks Snowflake
  • Auto-scaling of compute clusters and serverless compute options
  • Better suited for processing very large datasets and complex computations
  • Automatic scaling and performance optimization
  • May face limitations with extremely complex analytical workloads

Use Case Example: Financial Services Research Collaboration

Consider a research department within a financial services firm that wants to collaborate with other institutions on developing market insights through data analytics. They face a challenge: sharing proprietary and sensitive financial data without compromising security or privacy. Here’s how utilizing a clean room can solve this:

Implementation in Databricks:

  • Integration: By setting up a clean room in Databricks, the research department can securely integrate its datasets with other institutions; allowing sharing of data insights with precise access controls.
  • Analysis: Researchers from various departments can perform joint analyses on combined datasets without ever directly accessing each other’s raw data.
  • Security and Compliance: Databricks’ security features such as encryption, audit logging, and RBAC will ensure that all collaborations comply with regulatory standards.

Through this setup, the financial services firm’s research department can achieve meaningful collaboration and derive deeper insights from joint analyses, all while maintaining data privacy and adhering to compliance requirements.

By leveraging clean rooms, organizations in highly regulated industries can unlock new opportunities for innovation and data-driven decision-making without the risks associated with traditional data sharing methods.

Conclusion

Both Databricks and Snowflake offer robust solutions for implementing this financial research collaboration use case, but with different strengths and considerations.

Databricks excels in scenarios requiring advanced analytics, machine learning, and flexible data processing, making it well-suited for research departments with diverse analytical needs. It offers a more comprehensive platform for end-to-end data science workflows and is particularly advantageous for organizations already invested in the Databricks ecosystem.

Snowflake, on the other hand, shines in its simplicity and ease of use for traditional data warehousing and SQL-based analytics. Its strong data sharing capabilities and familiar SQL interface make it an attractive option for organizations primarily focused on structured data analysis and those with less complex machine learning requirements.

Regardless of the chosen platform, the implementation of Clean Rooms represents a significant step forward in enabling secure, compliant, and productive data collaboration in the financial sector. As data privacy regulations continue to evolve and the need for cross-institutional research grows, solutions like these will play an increasingly critical role in driving innovation while protecting sensitive information.

Perficient is both a Databricks Elite Partner and a Snowflake Premier PartnerContact us to learn more about how to empower your teams with the right tools, processes, and training to unlock your data’s full potential across your enterprise.

 

]]>
https://blogs.perficient.com/2025/06/27/databricks-vs-snowflake-clean-rooms-financial-research-collaboration/feed/ 0 383614
Perficient is Shaping the Future of Salesforce Innovation https://blogs.perficient.com/2025/05/22/perficient-is-shaping-the-future-of-salesforce-innovation/ https://blogs.perficient.com/2025/05/22/perficient-is-shaping-the-future-of-salesforce-innovation/#respond Thu, 22 May 2025 08:58:31 +0000 https://blogs.perficient.com/?p=381791

Perficient’s longstanding partnership with Salesforce is a testament to our belief in this platform’s transformative power in solving complex business challenges and designing superior digital experiences.   

We strive to stay ahead of the evolving Salesforce ecosystem and actively shape its future. Our talented Salesforce professionals go beyond mere implementation; we focus on driving innovation, fostering connections, and creating meaningful change for our clients and the broader technology landscape.  

Whether you’re an experienced Salesforce expert or looking to develop your skills, joining Perficient’s Salesforce team gives you a refreshing opportunity to step into a role that challenges and inspires you to drive impact at a global scale.   

So, what makes Perficient’s Salesforce practice truly exceptional? Keep reading to learn more about:  

  • The ways we’re redefining Salesforce innovation across industries  
  • How our people and collaborative culture serve as the backbone of our Salesforce practice  
  • How our ongoing impact through Salesforce solutions will facilitate continuous professional growth  

Spearheading Advanced Solutions with Salesforce  

Our colleagues are not just Salesforce experts—they are digital innovators. Perficient’s Salesforce team is dedicated to harnessing the full potential of Salesforce’s robust ecosystem, including Data Cloud, Einstein AI, Marketing Cloud, and Experience Cloud. 

We partner with clients across industries such as healthcare, life sciences, manufacturing, and financial services to solve complex problems, create personalized digital experiences, and drive sustainable growth.  

Perficient’s commitment to crafting meaningful and measurable solutions doesn’t end with clients; we ensure that our Salesforce professionals have access to continuous learning and development opportunities to stay ahead of industry trends and technologies.  

Our goal is simple—to deliver digital solutions that matter, while fostering a work environment where your skills and ideas are championed.  

“Our clients are always excited to see how the changes we make will help make their lives easier,” said Katie Wilson, who started as an associate technical consultant and is now a technical architect on our Salesforce team in Fargo. 

READ MORE: Katie Wilson Develops Her Career Through Client Relationships  

 

Delivering Real Impact Through Collaboration  

Our Salesforce experts don’t work in silos. We foster a collaborative culture where our consultants, architects, engineers, and strategists come together to build tailored solutions.  

“Perficient’s collaborative spirit is what truly sets us apart,” said Jideofor Onyeneho, lead technical consultant, Salesforce. “We work together seamlessly to develop effective solutions that address our clients’ critical business challenges.”   

READ MORE: Jideofor’s Contributions to Perficient’s Salesforce Team  

We leverage Salesforce products and expertise to address industry-specific challenges—whether that’s transforming patient experiences in healthcare, improving partner engagement in manufacturing, or empowering advisors in financial services.   

“I transitioned from web development to Salesforce because problem-solving has always been my passion,” says Carl Thress, technical architect, Salesforce. “The most rewarding part of my job is delivering Salesforce solutions that simplify our clients’ lives. I’m currently pursuing my sixth Salesforce certification to keep growing in my career.”   

LEARN MORE: Carl Thress Learns on the Job and Continues to Thrive   

 Our people are at the core of our success. We believe in creating an environment where professionals with a problem-solving mindset, a collaborator’s approach, and a creator’s mentality can thrive.  

READ MORE:  Highlights from Our Demo Jam Events 

Our promise to challenge, champion, and celebrate our people is at the heart of everything we do. We offer a supportive environment where your ideas matter and foster growth for everyone. Whether through our mentorship programs, our commitment to work-life balance, or our collaborative culture, you’ll find that Perficient is a place where you can thrive personally and professionally. 

 

Driving Success Across Industries  

  • Healthcare  

To expand its community impact and improve patient engagement, a leading pediatric health system partnered with Perficient to modernize its outreach strategy. The organization relied on a legacy CRM that lacked the scalability needed to support its growth ambitions. Managing critical data such as leads, forms, and campaign information became increasingly difficult, limiting its ability to connect with patients effectively. 

By integrating Salesforce Health Cloud with the organization’s existing Marketing Cloud, we created a unified platform that streamlined patient data management and enhanced communication capabilities. Additionally, we optimized system functionality to improve workflows and outreach efforts, making engagement more seamless and efficient.  

The results of this transformation were significant. Improved patient engagement became possible through enhanced data visibility, enabling more effective and personalized communications. Operational efficiency also saw a boost, as the integrated Salesforce ecosystem eliminated manual processes and streamlined workflows. 

This success story highlights the power of digital transformation in healthcare. As Perficient continues to partner with healthcare organizations, we remain committed to driving innovation that enhances patient care, optimizes operations, and strengthens community impact. 

READ MORE: Learn more about how we’re reshaping healthcare technology solutions. 

 

  • Finance 

By leveraging Salesforce to streamline operations and unify data, financial organizations can improve efficiency, enhance customer experiences, and drive better business outcomes. 

For one of our leading clients in Mexico, inefficiencies in its lease platform caused integration gaps, reporting challenges, and manual processes that hindered call center performance. We automated dealer communication, digitized third-party vendor data, and updated Salesforce to address these issues to prevent future business disruptions. As a result, internal processes became more efficient, agent productivity improved, and management gained greater visibility into business operations. 

In another instance, a global financial organization sought to unify its marketing processes by consolidating multiple marketing automation platforms into Salesforce Marketing Cloud Engagement (MCE). Perficient developed a roadmap and architecture integrating multiple CRMs using Multi-Org in MCE and companion orgs in Data Cloud. 

This solution provided the marketing team with a centralized data hub, enabling consistent workflows, advanced segmentation, and seamless cross-organization communication.

 

  • Manufacturing  

Manufacturing companies often face challenges in consolidating data from multiple systems and ensuring seamless sales operations. Perficient has helped industry leaders use Salesforce to streamline workflows, enhance data visibility, and drive revenue growth. 

For a leading manufacturer, the need to consolidate key sales data and generate actionable insights was critical to identifying new business opportunities. Perficient’s Agile global delivery team developed a custom digital sales analytics tool, integrating Google Cloud’s data storage and Tableau’s reporting into the Salesforce interface with a real-time API. This solution provided sales and marketing teams with a single, user-friendly platform to research prospects, follow up efficiently, and generate leads based on detailed asset and account data. As a result, productivity improved, and the company gained a scalable system for driving future revenue. 

Interested in learning more about our work within the manufacturing space? Click here.  

 

  • Data 

In today’s digital-first world, businesses need a solid data foundation to deliver seamless, personalized experiences. For companies rolling out Agentforce, integrating Salesforce Data Cloud is a game-changer. By unifying customer data across multiple sources, Data Cloud enables agents and brokers to gain real-time insights, improve customer engagement, and make informed decisions that drive business growth. 

With AI-powered analytics, Salesforce Data Cloud enhances personalization by equipping sales teams with predictive insights, helping them anticipate customer needs and tailor interactions. Additionally, its scalability and security make it a future-proof solution for growing organizations. By centralizing and optimizing data, businesses can empower their teams to operate with agility and precision. 

READ MORE: Learn how Salesforce Data Cloud is transforming sales and customer engagement across industries. 

Insights From the Salesforce Manufacturing Summit 2025 

Our team had the opportunity to participate in the Salesforce Manufacturing Summit in Atlanta, an event that brought together over 800 attendees with more than 40 sessions and 20 product demonstrations. It was an exciting space for industry leaders, peers, and customers to engage in meaningful discussions about the future of manufacturing, with a strong focus on innovation and digital transformation. 

A key highlight of the summit was the increasing role of Generative AI in manufacturing, particularly within Salesforce’s Agentforce and Data Cloud solutions. These technologies are set to transform the industry by streamlining operations, enhancing efficiency, and improving customer satisfaction. According to the Salesforce State of Manufacturing Survey 2024, over 80% of manufacturers are now engaged with Generative AI. 

Salesforce’s Manufacturing Cloud was another major focus, with its goals centered on unifying digital experiences across the value chain. The platform aims to modernize commercial operations by streamlining sales and fulfillment processes, simplifying partner engagement by enhancing collaboration with suppliers and channel partners, and transforming service experiences by improving customer interactions and field service operations. 

The summit also featured exciting announcements, including new integrations with Revenue Cloud, agent-first field service capabilities, and expanded manufacturing-specific skills for Agentforce. These innovations further reinforce Salesforce’s commitment to helping manufacturers optimize operations and stay ahead in an evolving landscape. 

Read the full article here to dive deeper into the key takeaways, trends, and insights from the Salesforce Manufacturing Summit 2025. 

 

Join Our Salesforce Team   

If you’re ready to take the next step in your career and join a Salesforce team that’s leading the charge in digital transformation, we’d love to hear from you. With roles available such as lead technical consultant, senior project manager, and solutions architect, there’s a place for you to make an impact.  

Explore our open roles and become part of a global team dedicated to solving complex business problems through the power of Salesforce.   

Learn about current opportunities here. 

By joining Perficient, you’re not just advancing your career. You’re becoming part of a global community striving to shatter boundaries, obsess over outcomes, and forge the future.  

]]>
https://blogs.perficient.com/2025/05/22/perficient-is-shaping-the-future-of-salesforce-innovation/feed/ 0 381791
Elevate Your Analytics: Overcoming the Roadblocks to AI-Driven Insights https://blogs.perficient.com/2025/01/21/elevate-your-analytics-overcoming-the-roadblocks-to-ai-driven-insights/ https://blogs.perficient.com/2025/01/21/elevate-your-analytics-overcoming-the-roadblocks-to-ai-driven-insights/#respond Tue, 21 Jan 2025 16:41:54 +0000 https://blogs.perficient.com/?p=375990

Augmented analytics—an approach that leverages machine learning (ML) and artificial intelligence (AI) to enhance data exploration and analysis—holds enormous potential for companies seeking to improve decision-making, boost operational efficiency, and secure a competitive advantage. Before examining the hurdles organizations often face when rolling out this technology, it’s important to understand the rewards associated with embracing augmented analytics.

Potential Advantages of Augmented Analytics

Organizations can reap several benefits by adopting augmented analytics:

  • More Informed Decision-Making: Automation features and AI-driven insights enable quicker, more precise decisions.
  • Reduced Bias: Augmented analytics can minimize the risk of biased outcomes through automated data processing and less human intervention.
  • Accelerated Insight Generation: By expediting data analysis, these tools help teams respond with greater agility to market shifts.
  • Heightened Accuracy: AI algorithms often identify patterns or outliers that human analysts might overlook, resulting in more precise insights.
  • Operational Efficiency: Routine data handling is automated, freeing analysts to tackle higher-level strategic work.
  • Enhanced Data Literacy: By making data more transparent, augmented analytics tools can foster better understanding and usability across the organization.
  • Democratization of Insights: With easier access to analytic capabilities, more employees can participate in data-driven decision-making, promoting a culture of widespread data usage.

Having outlined these potential gains, we can now concentrate on the barriers that may arise during the implementation phase.

Common Implementation Challenges

Although augmented analytics offers significant advantages, organizations commonly encounter challenges in three broad categories: technological, organizational, and data-related.

Technological Challenges

  • Integration with Legacy Systems: Merging augmented analytics platforms with existing tools and older infrastructures can be complex. Organizations might need to manage compatibility issues, enable smooth data transfers, and migrate legacy databases into newer environments.
  • Scalability Concerns: Because augmented analytics thrives on large volumes of data, some companies struggle to secure adequate infrastructure and computing power to handle increasing data complexity. Adopting scalable cloud-based solutions or upgrading hardware may be required.
  • Performance Constraints: Factors such as the amount of data, the complexity of models, and algorithmic efficiency all influence performance. Achieving optimal results depends on careful model tuning, database optimization, and potentially distributed computing.
  • Accuracy and Contextual Relevance: If the insights generated do not align with the specific business scenario or are simply inaccurate, stakeholder trust may deteriorate. Thus, selecting suitable algorithms, rigorously validating data, and monitoring model outputs are essential.

Organizational Challenges

  • Change Resistance: Employees might be wary of new technologies or feel unprepared to become “citizen data scientists.” Effective strategies to overcome this include transparent communication, thorough training, and fostering an environment where experimentation is encouraged.
  • Cultural Realignment: A shift in corporate culture toward data-informed decision-making often requires breaking down silos, encouraging collaboration, and advocating for data-driven approaches.
  • Job Security Fears: Automation can cause anxiety about job displacement. Alleviating these worries involves emphasizing how augmented analytics can empower staff with new competencies rather than eliminating their roles.
  • “Black Box” Syndrome: Some augmented analytics solutions lack transparency regarding how their outputs are generated. Offering interpretable explanations and visualizations that clarify AI-driven outcomes helps address doubts.
  • Complexity and User Adoption: Many augmented analytics platforms can be intricate, and users may need guidance to interpret analyses. Designing intuitive interfaces, providing relevant training, and offering ongoing user support are critical.

Data-Related Challenges

  • Reliance on Data Quality: Inaccuracies or inconsistencies in input data undermine the reliability of an augmented analytics tool’s results. Organizations should invest in robust data governance and quality assurance to maintain trust in the platform.
  • Data Bias: Any biases embedded in training datasets can lead to skewed outputs and, in turn, unfair or discriminatory outcomes. Companies must be vigilant in spotting and countering bias during both data preparation and model evaluation.
  • Privacy and Security Risks: Because augmented analytics platforms often handle large quantities of sensitive data, stringent data governance and security measures—including compliance with relevant regulations—are essential.

Strategies for Overcoming Implementation Roadblocks

Addressing these challenges calls for a comprehensive approach that covers technical, organizational, and data-related dimensions.

Technological Strategies

  • Gradual Rollout: Launch a pilot project targeting a specific, high-value use case to gain experience and demonstrate the viability of augmented analytics on a smaller scale.
  • Choosing Compatible Solutions: Focus on tools that align well with existing infrastructures, offer robust security, and can scale to accommodate future growth.
  • Upgrading Infrastructure: Evaluate whether computing power, storage solutions, and network capabilities are sufficient. In many cases, cloud-based solutions offer the scalability needed to handle larger datasets efficiently.

Organizational Strategies

  • Build a Data-Focused Culture: Enhance collaboration and promote knowledge sharing to support data-driven decision-making. Training initiatives, cross-departmental collaboration, and visible leadership commitment to data initiatives play a critical role.
  • Comprehensive Training: Develop programs to improve data literacy at different organizational levels. Focus on analytical methods, hands-on tool usage, and interpretation of outcomes.
  • Proactive Change Management: Address worries about evolving job roles by highlighting how augmented analytics can open up professional development opportunities.
  • Encourage Transparency: Opt for systems that explain how results are produced to instill confidence in the insights. Visual explanations and active participation from domain experts help solidify trust.
  • Identify and Resolve User Pain Points: Conduct user research to understand existing workflow challenges and tailor augmented analytics solutions to real-world needs.
  • Continuous Improvement: Maintain feedback loops by collecting user input and monitoring model performance, adjusting processes or algorithms as needed.
  • Data Sharing Across Teams: Reduce silos by promoting inter-departmental data sharing. This leads to more comprehensive analyses and fosters a collaborative culture.

Data-Related Strategies

  • Data Quality Improvements: Formalize data governance protocols—like cleansing, validation, and enrichment—to ensure the underlying data is accurate and dependable.
  • Prioritize Data Security: Put robust encryption, access controls, and anonymization measures in place to protect sensitive information. These steps also ensure adherence to data privacy laws and regulations.

Best Practices for Data Modeling in Augmented Analytics

An effective data model is vital to a successful augmented analytics rollout. Consider these guidelines:

  1. Start with Simplicity: Begin with a lean data model to minimize potential errors and validate initial outcomes. Scale up complexity once trust in the process grows.
  2. Design for Adaptability: Because business goals and data sources evolve, data models should be designed with future modifications in mind.
  3. Maintain a Data Dictionary: Store updated metadata to clarify each element’s purpose and structure, ensuring consistency across datasets.
  4. Enforce Data Quality Standards: Integrate data freshness and integrity checks to uphold reliability.
  5. Leverage Various Modeling Approaches: Evaluate techniques—like star schemas, materialized tables, or views—to optimize for performance and ease of access.

Types of Augmented Analytics Solutions

A wide range of augmented analytics platforms is available, each with unique strengths:

  • Microsoft Power BI: Through its Copilot feature, Power BI integrates seamlessly with Microsoft’s ecosystem, offering AI-powered insights and natural language interactions.
  • Tableau: Tableau’s Pulse and Agent Force features support natural language queries and automated insight generation. Its user-friendly interface appeals to both technical and non-technical audiences.
  • Oracle Analytics Cloud: Delivers a robust suite of analytics capabilities—from automated data discovery to ML-driven predictions.
  • IBM Cognos Analytics: Incorporates AI for automated data preparation, natural language querying, and in-depth pattern discovery.
  • MicroStrategy: Embeds AI and ML functionalities, including automated insights and user-friendly data exploration.

Selecting the best platform depends on organizational priorities, infrastructure environments, and budgeting.

Financial Considerations

Organizations adopting augmented analytics should budget for both one-time and recurring expenses:

  • Initial Outlay: These costs typically include software licensing, hardware or cloud service upgrades, data migration, and consulting or training fees.
  • Ongoing Costs: Upkeep expenses may encompass software support, subscription fees for cloud hosting, data storage costs, and continuous staff development.

Carefully comparing these investments with anticipated returns helps shape a viable rollout plan.

Essential Skills and Resources

Implementing augmented analytics effectively requires a mix of competencies and personnel:

  • Data Literacy: End users should have a baseline understanding of data concepts and analysis methods.
  • Analytical Thinking: Although AI tools automate much of the process, human insight remains essential to interpret results and make strategic decisions.
  • Domain Knowledge: Familiarity with the relevant business sector ensures data is interpreted within the proper context.
  • Data Management Expertise: Professionals who can handle data governance, protect data quality, and ensure strong security measures are crucial.

Key roles include data scientists to develop and maintain ML models, data analysts to translate findings into actionable recommendations, IT professionals to manage infrastructure, and training facilitators to promote ongoing skill development.

Conclusion

Augmented analytics can revolutionize how organizations glean insights and strengthen their market position. Yet, achieving these benefits calls for a methodical plan that anticipates common difficulties and fosters a supportive, data-oriented environment. Organizations that understand and address these challenges early are more likely to see successful outcomes and long-term value.

Key actions for successful augmented analytics implementations:

  1. Pilot with a Targeted Use Case: Demonstrate value on a smaller scale before wider adoption.
  2. Select Appropriate Tools: Ensure compatibility with existing systems, future scalability, and robust data protection.
  3. Emphasize Data Integrity: High-quality data is foundational to dependable insights.
  4. Nurture a Data-Centric Culture: Encourage the organization to base decisions on analysis and evidence.
  5. Provide Ongoing Training: Equip users with the knowledge they need to navigate tools effectively.
  6. Manage Change Proactively: Address concerns around job security and clarify how the technology benefits employees.
  7. Strengthen Privacy and Security Measures: Safeguard sensitive information and comply with privacy regulations.

By methodically planning for these considerations, organizations can better navigate the inevitable challenges and unleash the full value of augmented analytics.

 

]]>
https://blogs.perficient.com/2025/01/21/elevate-your-analytics-overcoming-the-roadblocks-to-ai-driven-insights/feed/ 0 375990
AI Adoption in Finance Functions Soared in 2024 https://blogs.perficient.com/2024/10/01/ai-adoption-in-finance-functions-soared-in-2024/ https://blogs.perficient.com/2024/10/01/ai-adoption-in-finance-functions-soared-in-2024/#respond Tue, 01 Oct 2024 16:55:26 +0000 https://blogs.perficient.com/?p=369997

The buzz around AI’s potential to save time and boost efficiency has led many companies to quickly implement it in the workplace. While administrative functions like HR, legal, and procurement were early adopters, finance initially lagged behind. However, that’s no longer the case. “The adoption of finance AI by finance functions has increased significantly in the past year with 58% using the technology in 2024 – a rise of 21 percentage points from 2023 – according to a survey by Gartner, Inc.”

Why The Surge Now?

Although finance was slower to embrace AI, some forward-thinking professionals saw its potential early on. Early adopters who experimented with AI in their businesses have demonstrated success, encouraging others to follow suit.

The surge is driven by four main use cases:

  1. Intelligent process automation
  2. Anomaly and error detection
  3. Analytics
  4. Operational assistance and augmentation (generative AI)

Finance departments deal with numbers, codes, and rules daily. AI can assist with information processing through tools like RPA and help identify errors in large datasets such as invoices, expenses, and internal claims. With the constant flow of information throughout businesses, automating these processes frees up enterprises to make better, more thoroughly considered decisions. However, they’ll need the right people to drive these initiatives and extract key insights.

Roadblocks on The Path to Automation

While the benefits of these processes are clear, CFOs face a more pressing challenge which is accessing talent and choosing the right data to support automation plans. Finding and retaining AI personnel with the necessary skills will be an ongoing struggle for finance officers due to increased interest across industries.  These abilities within a workforce are rare gems that must undergo careful mining and delicate polishing to truly shine.

Once key individuals are in place, the next hurdle is deciding what information to provide the AI. As stated by Gartner®, “In terms of data quality, Gartner experts recommend considering leaving behind a “single version of the truth” data management philosophy because it is almost impossible to attain this kind of perfection given the volume and volatility of data in modern companies. The alternative is a “sufficient versions of the truth” approach that balances data quality with ensuring it is useful in decision making.”

The Future of Autonomous Finance

Finance is prime for automation due to how it operates, and AI will significantly drive down its costs. As AI reshapes the landscape, restructuring and critical rethinking will be inevitable, along with potential further integration across the business enterprise. This will be crucial as companies need to be predictive about inventory, staffing, pricing, and global supply chains. Decisions will be based on a continuous influx of information, so automation must beautifully combine forward thinking with continuous reaction.

Perficient is uniquely poised to help organizations quickly implement and benefit from generative AI because of our dedication to innovation in the space and robust change management offerings that ensure adoption and long-term success. Trusting a partner in this process will also alleviate the challenges of hiring in-house personnel with the necessary skills.

To learn more about how Perficient can help empower the office of finance with generative AI services explore our Generative AI Strategic Position today.

Gartner Press Release, Gartner Survey Shows 58% of Finance Functions Using AI in 2024, Sept 11, 2024 

GARTNER is a registered trademark and service mark of Gartner, Inc. and/or its affiliates in the U.S. and internationally and is used herein with permission. All rights reserved.

 

]]>
https://blogs.perficient.com/2024/10/01/ai-adoption-in-finance-functions-soared-in-2024/feed/ 0 369997
What if Your Job Isn’t Done Until the Customer’s Job Is Done? An Interview With Sunbelt’s Ron Gaines https://blogs.perficient.com/2024/09/25/sunbelt-rentals-drives-customer-success/ https://blogs.perficient.com/2024/09/25/sunbelt-rentals-drives-customer-success/#respond Wed, 25 Sep 2024 11:00:06 +0000 https://blogs.perficient.com/?p=369292

In the latest episode of the “What If? So What?” podcast, Ron Gaines, senior manager of marketing technology and analytics at Sunbelt Rentals, joins us to discuss the company’s approach to driving customer success. Ron shares how Sunbelt Rentals is committed to ensuring that every interaction delivers real value to the customer.

Ron highlights the importance of aligning sales and marketing efforts to provide a seamless and consistent customer experience. By leveraging data and analytics, Sunbelt Rentals can adapt quickly to meet its customers’ evolving needs. Ron delves into how the company listens to customer feedback and uses it to enhance its services, ensuring it remains a leader in the industry.

Tune in to hear more about how Sunbelt Rentals is setting new standards in customer success and the innovative strategies it is using to stay ahead in a competitive market.

Listen now on your favorite podcast platform or visit our website.

 

Subscribe Where You Listen

Apple | Spotify | Amazon | Overcast

Meet our Guest

Ronald Gaines Headshot

Ronald Gaines, Senior Manager of Marketing Technology and Analytics, Sunbelt Rentals

Ronald Gaines is the senior manager of marketing technology and analytics at Sunbelt Rentals, where he strategically and tactically guides people, processes, and technology to enhance the customer experience and drive business performance through cutting-edge digital capabilities.

A recognized expert and thought leader in digital transformation, customer experience, digital marketing, and marketing automation, Ronald excels in translating data into actionable insights that elevate customer experiences and business outcomes.

Ronald is the go-to authority for organizations seeking to unlock their full potential through exceptional customer engagement. His passion for people extends beyond his professional role—he is a dedicated mentor, committed to giving back and sharing his wealth of knowledge and practical expertise.

Connect with Ron

 

Meet the Host

Jim Hertzfeld

Jim Hertzfeld is Area Vice President, Strategy for Perficient.

For over two decades, he has worked with clients to convert market insights into real-world digital products and customer experiences that actually grow their business. More than just a strategist, Jim is a pragmatic rebel known for challenging the conventional and turning grand visions into actionable steps. His candid demeanor, sprinkled with a dose of cynical optimism, shapes a narrative that challenges and inspires listeners.

Connect with Jim:

LinkedIn | Perficient

]]>
https://blogs.perficient.com/2024/09/25/sunbelt-rentals-drives-customer-success/feed/ 0 369292
iCEDQ – An Automation Testing Tool https://blogs.perficient.com/2024/07/23/icedq-an-automation-testing-tool/ https://blogs.perficient.com/2024/07/23/icedq-an-automation-testing-tool/#comments Tue, 23 Jul 2024 22:00:22 +0000 https://blogs.perficient.com/?p=332235

Data Warehouse/ETL Testing

Data warehouse testing is a process of verifying data loaded in a data warehouse to ensure the data meets the business requirements. This is done by certifying data transformations, integrations, execution, and scheduling order of various data processes.

Extract, transform, and load (ETL) Testing is the process of verifying the combined data from multiple sources into a large, central repository called a data warehouse.

Conventional Testing tools are designed for UI-based applications, whereas a data warehouse testing tool is purposefully built for data-centric systems and designed to automate data warehouse testing and generating results. It is also used during the development phase of DWH.

iCEDQ

Integrity Check Engine For Data Quality (iCEDQ) is one of the tools used for data warehouse testing which aims to overcome some of the challenges associated with conventional methods of data warehouse testing, such as manual testing, time-consuming processes, and the potential for human error.

It is an Automation Platform with a rules-based auditing approach enabling organizations to automate various test strategies like ETL Testing, Data Migration Testing, Big Data Testing, BI Testing, and Production Data Monitoring.

It tests data transformation processes and ensures compliance with business rules in a Data Warehouse.

Qualities of iCEDQ

Let us see some of the traits where testing extends its uses.

Automation

It is a data testing and monitoring platform for all sizes of files and databases. It automates ETL Testing and helps maintain the sanctity of your data by making sure everything is valid.

Design

It is designed with a greater ability to identify any data issues in and across structured and semi-structured data.

Uniqueness

Testing And Monitoring:

Its unique in-memory engine with support for SQL, Apache Groovy, Java, and APIs allows organizations to implement end-to-end automation for Data Testing and Monitoring.

User Friendly Design:

This tool provides customers an easy way to set up an automated solution for end-to-end testing of their data-centric projects and it provides Email Support to its customers

Supported Platforms:

Mostly widely used by Enterprises and Business Users and used in platforms like Web apps and Windows. Does not support MAC, Android, and IOS.

Execution Speed:

New Big Data Edition test 1.7 Billion rows in less than 2 minutes and Recon Rule with around 20 expressions for 1.7 billion rows in less than 30 minutes.

With a myriad of capabilities, iCEDQ seamlessly empowers users to automate data testing, ensuring versatility and reliability for diverse data-centric projects.

Features:

  • Performance Metrics and Dashboard provides a comprehensive overview of system performance and visualizes key metrics for enhanced monitoring and analysis.
  • Data Analysis, Test and data quality management ensures the accuracy, reliability, and effectiveness of data within a system.
  • Testing approaches such as requirements-based testing and parameterized testing involve passing new parameter values during the execution of rules.
  • Move and copy test cases and supports parallel execution.
  • The Rule Wizard automatically generates a set of rules through a simple drag-and-drop feature, reducing user effort by almost 90%.
  • Highly scalable in-memory engine to evaluate billions of records.
  • Connect to Databases, Files, APIs, and BI Reports. Over 50 connectors are available.
  • Enables DataOps by allowing integration with any Scheduling, GIT, or DevOps tool.
  • Integration with enterprise products like Slack, Jira, ServiceNow, Alation, and Manta.
  • Single Sign-On, Advanced RBAC, and Encryption features.
  • Use the built-in Dashboard or enterprise reporting tools like Tableau, Power BI, and Qlik to generate reports for deeper insights.
  • Deploy anywhere: On-Premises, AWS, Azure, or GCP.

Testing with iCEDQ:

ETL Testing:

There are few data validations and reconciliation the business data and validation can be done in ETL/Big data testing.

  • ETL Reconciliation – Bridging the data integrity gap
  • Source & Target Data Validation – Ensuring accuracy in the ETL pipeline
  • Business Validation & Reconciliation – Aligning data with business rules

Migration Testing:

iCEDQ ensures accuracy by validating all data migrated from the legacy system to the new one.

Production Data Monitoring:

iCEDQ is mainly used for support projects to monitor after migrating to the PROD environment. It continuously monitors ETL jobs and notifies the data issues through a mail trigger.

Why iCEDQ?

Reduces project timeline by 33%, increases test coverage by 200%, and improves productivity by 70%.

Pros & Cons V1

In addition to its automation capabilities, iCEDQ offers unparalleled advantages, streamlining data testing processes, enhancing accuracy, and facilitating efficient management of diverse datasets. Moreover, the platform empowers users with comprehensive data quality insights, ensuring robust and reliable Data-Centric project outcomes.

Rule Types:

Users can create different types of rules in iCEDQ to automate the testing of their Data-Centric projects. Each rule performs a different type of test cases for the different datasets.

Rules

By leveraging iCEDQ, users can establish diverse rules, enabling testing automation for their Data-Centric projects. Tailoring each rule within the system to execute distinct test cases caters to the specific requirements of different datasets.

iCEDQ System Requirements

iCEDQ’s technical specifications and system requirements to determine if it’s compatible with the operating system and other software.

Icedq_Details

To successfully deploy iCEDQ, it is essential to consider its system requirements. Notably, the platform demands specific configurations and resources, ensuring optimal performance. Additionally, adherence to these requirements guarantees seamless integration, robust functionality, and efficient utilization of iCEDQ for comprehensive data testing and quality assurance.

Hence, iCEDQ is a powerful Data Mitigation and ETL/Data Warehouse Testing Automation Solution designed to give users total control over how they verify and compare data sets. With iCEDQ, they can build various types of tests or rules for data set validation and comparison.

Resources related to iCEDQ – https://icedq.com/resources

]]>
https://blogs.perficient.com/2024/07/23/icedq-an-automation-testing-tool/feed/ 2 332235
Crafting AEP Schemas: A Practical Guide https://blogs.perficient.com/2024/07/01/crafting-aep-schemas-practical-guide-2/ https://blogs.perficient.com/2024/07/01/crafting-aep-schemas-practical-guide-2/#respond Mon, 01 Jul 2024 16:42:03 +0000 https://blogs.perficient.com/?p=366761

Welcome to the world of Adobe Experience Platform (AEP), where digital transformation becomes a reality. If you’ve landed here, you’re already on your way to making significant strides in your organization or your career.

In a digital era where data reigns supreme, and the Customer Data Platform (CDP) landscape is ever-evolving, businesses strive to maximize their investments to thrive in a fiercely competitive market.

Whether you’re a marketer or an aspiring AEP developer, this blog is your go-to resource. Together, we’ll lay the foundation for building schemas and crafting strategies from scratch. Using a real-life example, I’ll break down the requirements and demonstrate how to translate them into a technical blueprint for your schemas.


Now, let’s dive into the core components: Adobe Experience Platform (AEP), XDM (Experience Data Model), Schemas, and Field Groups.

XDM: The Universal Language

Imagine XDM as the universal language for digital experiences. It’s like a rulebook crafted by Adobe to decipher customer experience data. When you work with AEP, ensuring your data speaks this XDM language is crucial. It streamlines data management, much like ensuring all puzzle pieces share the same shape for a perfect fit.

Schemas: The Blueprints

AEP relies on schemas, which act as templates, to maintain consistent and organized data. Schemas describe how your data looks and where it should reside within the platform, providing a structured framework to keep everything working in an orderly fashion.

Field Groups: The Organizers

Now, enter Field Groups – the unsung heroes within AEP. They resemble categorized drawers in your data cabinet, ensuring data consistency and organization within your schemas. Each Field Group is like a labelled drawer, helping you effectively organize your data points.


In practical terms, XDM is the language spoken by all the toys in your store. Schemas provide blueprints for your toy displays, and Field Groups are the labelled drawers that keep your toys organized. Together, they ensure your toy store runs smoothly, helping you offer personalized toy recommendations, like finding the perfect toy for each child in your store.


Now that we’ve grasped the fundamentals let’s apply them to a real-life scenario:

Real-Life Use Case: Lead Generation Example

Imagine you’re on a mission to enhance your data collection and personalization use cases using AEP.  Your goal is to send data to both Adobe Analytics [to keep your power users engaged while they level up their skills in Customer Journey Analytics] and Customer Journey Analytics [being future-ready for omnichannel journey analysis] simultaneously, ensuring a seamless analysis process. To achieve this, you need to configure data collection on your website and send specific data points.

Now, let’s get into the nitty-gritty. You’re running a lead generation site, and you want to track several data points:

  • You aim to monitor all traffic data related to web page details.
  • You’re keen on tracking interactions with Call-to-Action (CTA) links.
  • You want to capture custom form tracking information, including the form name and the specific form event.
  • Additionally, you have your eyes on tracking videos, complete with their names and the events associated with them.
  • To top it off, once users authenticate, you intend to pass User ID information. More importantly, this ID will serve as a Person ID to stitch users across channels in future.
  • And, of course, capturing valuable web page information such as the web page template, web page modification date, and the corresponding business unit.

Now that we’ve listed our requirements, the next step is translating them into an XDM schema. This schema will serve as the blueprint to encompass all these data points neatly and effectively.

Breaking Down the Requirements

Navigating the AEP Technical Landscape

To effectively implement data collection on our website using the AEP Web SDK, we’ll start by integrating the ‘AEP Web SDK ExperienceEvent’ predefined field group into our schema. This step ensures that our schema includes field definitions for data automatically collected by the AEP Web SDK (Alloy) library.

Additionally, considering that we’re dealing with website data, which involves time-series records (each with an associated timestamp), we’ll require an ‘Xperience event’ [class] type of schema. This schema is tailored to accommodate this specific data structure, ensuring seamless handling of our web-related records.

Let’s talk about Field Groups:

  • Business Requirement: Select AEP Web SDK Experience Event Template in the schema to send data to AEP.
    • Field Group Type: Adobe’s Predefined Field Groups
    • Field GroupName/Path: Adobe Web SDK Experience Event Template.
      • This is a mandatory field group if you are capturing onsite data using web SDK.

Adobe Web SDK ExperienceEvent Template

 

 

 

 

 

 

 

 

 

 

  • Business Requirement: Send data to Adobe Analytics from web SDK (traditional eVars,props,events).
    • Field Group Type: Adobe’s Predefined Field Groups
    • Field GroupName/Path: Adobe Analytics ExperienceEvent Template
      • This will take care of all your existing / new Adobe Analytics implementation needs.
      • Using this will eliminate the need to create a processing rule in the Adobe Analytics console if you map directly to evars/prop/events within this field group in schema via Adobe Launch setup.

Adobe Analytics ExperienceEvent Template

 

 

 

 

 

 

 

 

  • Business Requirement: Monitoring all traffic data related to web page details.
    • Field Group Type: Adobe’s Predefined Field Groups
    • Field GroupName/Path: Web Details
      • Path: web.webPageDetails

web.webPageDetails

 

 

 

 

 

  • Business Requirement: Tracking interactions with Call-to-Action (CTA) links.
    • Field Group Type: Adobe’s Predefined Field Groups
    • Field GroupName/Path: Web Details
      • Path: web.webInteraction

web.webInteraction

 

 

 

 

 

 

  • Business Requirement: Capturing custom form tracking details, including form names and events.
    • Field Group Type: Hybrid: Adobe’s Predefined Field Groups + Custom Field Group.
    • Field GroupName/Path: Web Details
      • Path: web.webInteraction._democompany.form
      • web.webInteraction._democompany.form={
        formName:<form name>,
        formEvent:<form event such as start/complete/error>
        }

        Form Fields

 

 

 

 

 

 

  • Business Requirement: Keeping an eye on video interactions, including video names and associated events.
    • Field Group Type: Hybrid: Adobe’s Predefined Field Groups + Custom Field Group.
    • Field GroupName/Path: Web Details
      • Path: web.webInteraction._democompany.video
      • web.webInteraction._democompany.video={
        videoName:<video name>,
        videoEvent:<video event such as start,stop,milestones etc>
        }

        video

 

 

 

 

 

 

  • Business Requirement: Business specific custom web page information
    • Field Group Type: Hybrid: Adobe’s Predefined Field Groups + Custom Field Group.
    • Field GroupName/Path: Web Details
      • Path: web.webInteraction._democompany
      • web.webPageDetails._democompany={
        webPageTemplate:<custom web page template>,
        businessUnit:<business unit>
        }

business specific

 

 

 

 

 

  • Business Requirement: Lastly, once users authenticate, pass user ID information.
    • Field Group Type: Custom Field group
    • Field GroupName/Path:_democompany.identity.userID. This is set at the root level
      • Assign this as an Identity, but not as primary [You may wonder why?  see below ].

identity

 

 

 

 

*_democompany= _perficientincpartnersandbox for us as the tenant ID assigned to our account is perficientincpartnersandbox.

Key Points

Here are the key points and recommendations, explained in simpler terms:

  • Understanding Field Groups: Field Groups are like organized drawers for your data. Each field within them is connected to a specific space known as a namespace. Predefined Field Groups come with predefined namespaces, while custom Field Groups are linked to your unique namespace, usually marked by an underscore (_) followed by your company’s name.
  • Flexibility to Customize: You can modify predefined field groups, like Web Details, to match your needs. You can do this either through the user interface or using APIs. This flexible approach is what we call a “HYBRID field group.” It lets you adjust according to your requirements. As a result, your custom namespace (usually something like _<your tenant ID/company ID>) takes priority, and all customizations fall under this category. (You can check the final schema below for reference.)
    • Why Use HYBRID Field Groups: If you’re an architect or strategist, creating solutions that are reusable, efficient, and scalable is second nature. That’s why I highly recommend using HYBRID field groups whenever possible. These field groups offer the best of both worlds. They leverage the power of predefined field groups while allowing you to add your custom touch, all within a field group type. It’s like tailoring a ready-made suit to fit you perfectly, saving time and effort while ensuring the best results.
  • Choosing a Primary ID: For website data, when it comes to identifying a user, we won’t set this user ID as the primary ID. You might wonder, “What should be the primary ID for on-site data, especially when you might need to connect it with offline data later?” You’re partially correct. While you can use this user ID as an identity to link with offline data, it doesn’t have to be the primary one.
    • Pro-tip: Use the Identity map to include all your possible custom identities by configuring this in the Identify map data element in Adobe Launch. By default, the ECID will be used as the primary identifier for stitching.
    • Using an XDM identityMap field, you can identify a device/user using multiple identities, set their authentication state, and decide which identifier is considered the primary one. If no identifier has been set as primary, the primary defaults to be the ECID

Important Note: Remember that if you specify a primary ID in the schema and it’s missing in a data entry (for example, on pages where users aren’t authenticated and don’t have a user ID), keep in mind that AEP will exclude those data entries because they lack the primary ID we’ve specified. This helps maintain data accuracy and integrity.

We’re making excellent headway! Our requirements have evolved into a detailed technical blueprint. Our XDM schema’s foundation is strong and ready to roll. Just remember, for website data, we use the “experience event” type schema with the experience event class. If we ever need to capture user profiles, we’ll craft an Experience Profile schema with the Experience Profile class. This adaptability ensures we’re prepared for diverse data scenarios.

Schema Creation 

With all the defined field groups, we can now combine this information to construct the schema. When it comes to building your schema, you’ve got two main paths to choose from:

  • API-First Approach (Highly Recommended): This is the best approach if you want to align with AEP’s API-first philosophy.
  • User-Friendly UI Interface (Great for Simple Use Cases): If the thought of working with APIs sounds intimidating, don’t worry! You can also create schemas through a user-friendly UI interface. This option is perfect for straightforward scenarios and when APIs might seem a bit daunting.

Final Schema Output

In this blog, we’ve opted for the UI method to construct our schema, and here’s the result:

Schema

 

In conclusion, Adobe Experience Platform empowers you to navigate the complex digital landscape easily. By understanding the language, creating blueprints, and organizing your data, you’ll unlock the potential to provide personalized experiences that resonate with your customers. Your journey to digital success has just begun!

]]>
https://blogs.perficient.com/2024/07/01/crafting-aep-schemas-practical-guide-2/feed/ 0 366761
Data is the New Oil https://blogs.perficient.com/2024/06/19/data-is-the-new-oil/ https://blogs.perficient.com/2024/06/19/data-is-the-new-oil/#respond Wed, 19 Jun 2024 11:48:22 +0000 https://blogs.perficient.com/?p=364150

Data is the new oil.

In today’s digital world, data is the new fuel. According to the latest estimates, 328 million terabytes of data are created each day. The age we live in is a digital age. As technology evolves, so has the use of the internet, which has skyrocketed in the last 10 years. Today, you can access information with one click. With the advent of the IoT and social media, data creation has skyrocketed.

Data plays a critical role as a valuable resource driving modern economies. From optical fiber networks to direct satellite connections, things have changed significantly. Most of the big companies are leveraging data to make business decisions. Based on data, they are also building models to minimize costs and increase profitability.

From old media format, we have now entered the digital age. Advertisements and campaigns are also becoming digital. As artificial intelligence grows, decision-making also has greater potential.

From paper currency to digital payments, from downloading music to streaming, from telegrams to emails and online messaging systems, we are moving further into the digital age. The amount of data that will be generated in the coming years will be exponential.

2 Picsture

 

As you can see from above graph, In the space of 13 years, this figure has increased by an estimated 60x from just 2 zettabytes in 2010 to 130 zettabytes in 2024.

Data creation by category.

Category Proportion of Internet Data Traffic
Video 53.72%
Social 12.69%
Gaming 9.86%
Web browsing 5.67%
Messaging 5.35%
Marketplace 4.54%
File sharing 3.74%
Cloud 2.73%
VPN 1.39%
Audio 0.31%

 

Future of Data and Challenges:

Heavy Data Volumes: Most organizations are collecting information at an extremely fast rate. Dealing with such large volumes of data can be a significant challenge for organizations.

Transforming unstructured data into a structured format is crucial. Businesses need to invest in the right technologies to effectively manage and derive value from data in real-time.

Data is like GOLD. However, this valuable asset is often exposed to various threats and vulnerabilities. To avoid these, businesses should work cohesively to design and implement security policies. Data security will remain a top concern for modern enterprises in 2024.

 

Conclusion.

As we are inching towards the digital age, data is becoming an engine for growth. Data must be processed and polished to be useful. Businesses should make the necessary investments in security, integration, storage, and manpower. Businesses that efficiently use data will be better positioned to compete with competitors in the years to come as data volumes continue to increase.

 

 

 

 

 

]]>
https://blogs.perficient.com/2024/06/19/data-is-the-new-oil/feed/ 0 364150
The Quest for Spark Performance Optimization: A Data Engineer’s Journey https://blogs.perficient.com/2024/06/18/the-quest-for-spark-performance-optimization-a-data-engineers-journey/ https://blogs.perficient.com/2024/06/18/the-quest-for-spark-performance-optimization-a-data-engineers-journey/#respond Tue, 18 Jun 2024 13:43:04 +0000 https://blogs.perficient.com/?p=364402

In the bustling city of Tech Ville, where data flows like rivers and companies thrive on insights, there lived a dedicated data engineer named Tara. With over five years of experience under her belt, Tara had navigated the vast ocean of data engineering, constantly learning, and evolving with the ever-changing tides.
One crisp morning, Tara was called into a meeting with the analytics team at the company she worked for. The team had been facing significant delays in processing their massive datasets, which was hampering their ability to generate timely insights. Tara’s mission was clear: optimize the performance of their Apache Spark jobs to ensure faster and more efficient data processing.
The Analysis
Tara began her quest by diving deep into the existing Spark jobs. She knew that to optimize performance, she first needed to understand where the bottlenecks were. she started with the following steps:
1. Reviewing Spark UI: Tara meticulously analyzed the Spark UI for the running jobs, focusing on stages and tasks that were taking the longest time to execute. she noticed that certain stages had tasks with high execution times and frequent shuffling.

Monitoring Spark with the web interface | DataStax Enterprise | DataStax  Docs
2. Examining Cluster Resources: she checked the cluster’s resource utilization. The CPU and memory usage graphs indicated that some of the executor nodes were underutilized while others were overwhelmed, suggesting an imbalance in resource allocation.

                                           Apache Spark Cluster Manager: YARN, Mesos and Standalone - TechVidvan
The Optimization Strategy
Armed with this knowledge, Tara formulated a multi-faceted optimization strategy:

1. Data Serialization: she decided to switch from the default Java serialization to Kryo serialization, which is faster and more efficient.
conf = SparkConf().set(“spark.serializer”, “org.apache.spark.serializer.KryoSerializer”)

pyspark tunning #Data Serialization
2. Tuning Parallelism: Tara adjusted the level of parallelism to better match the cluster’s resources. By setting `spark.default.parallelism` and `spark.sql.shuffle.partitions` to a higher value, she aimed to reduce the duration of shuffle operations.
conf = conf.set(“spark.default.parallelism”, “200”)
conf = conf.set(“spark.sql.shuffle.partitions”, “200”)
3. Optimizing Joins: she optimized the join operations by leveraging broadcast joins for smaller datasets. This reduced the amount of data shuffled across the network.
small_df = spark.read.parquet(“hdfs://path/to/small_dataset”)
large_df = spark.read.parquet(“hdfs://path/to/large_dataset”)
small_df_broadcast = broadcast(small_df)
result_df = large_df.join(small_df_broadcast, “join_key”)

Hadoop, Spark, Hive and Programming: Broadcast Join in Spark
4. Caching and Persisting: Tara identified frequently accessed DataFrames and cached them to avoid redundant computations.
df = spark.read.parquet(“hdfs://path/to/important_dataset”).cache()
df.count() – Triggering cache action

Caching In Spark
5. Resource Allocation: she reconfigured the cluster’s resource allocation, ensuring a more balanced distribution of CPU and memory resources across executor nodes.
conf = conf.set(“spark.executor.memory”, “4g”)
conf = conf.set(“spark.executor.cores”, “2”)
conf = conf.set(“spark.executor.instances”, “10”)

The Implementation
With the optimizations planned, Tara implemented the changes and closely monitored their impact. she kicked off a series of test runs, carefully comparing the performance metrics before and after the optimizations. The results were promising:
– The overall job execution time reduced by 40%.
– The resource utilization across the cluster was more balanced.
– The shuffle read and write times decreased significantly.
– The stability of the jobs improved, with fewer retries and failures.
The Victory
Tara presented the results to the analytics team and the management. The improvements not only sped up their data processing pipelines but also enabled the team to run more complex analyses without worrying about performance bottlenecks. The insights were now delivered faster, enabling better decision-making, and driving the company’s growth.
The Continuous Journey
While Tara had achieved a significant milestone, she knew that the world of data engineering is ever evolving. she remained committed to learning and adapting, ready to tackle new challenges and optimize further as the data landscape continued to grow.
And so, in the vibrant city of Tech Ville, Tara’s journey as a data engineer continued, navigating the vast ocean of data with skill, knowledge, and an unquenchable thirst for improvement.

]]>
https://blogs.perficient.com/2024/06/18/the-quest-for-spark-performance-optimization-a-data-engineers-journey/feed/ 0 364402
Three Principles for Writing Effective Analytics Documentation https://blogs.perficient.com/2024/04/11/three-principles-for-writing-effective-analytics-documentation/ https://blogs.perficient.com/2024/04/11/three-principles-for-writing-effective-analytics-documentation/#comments Thu, 11 Apr 2024 16:00:28 +0000 https://blogs.perficient.com/?p=361514

Documentation is a crucial part of your analytics implementation. From your Solution Design Reference document to your internal wiki for all resources, making sure that you can write and edit your documentation is key to ensuring a cohesive and thorough understanding of your implementation.

With effective documentation, you can:

  • Prevent knowledge gaps among team members and assist in onboarding efforts.
  • Engage team members in techniques or observations that may otherwise be lost to memory.
  • Ensure that knowledge can easily be diffused and transferred across team members and departments.
  • Adhere to standards that allow your team to eliminate any ambiguity or uncertainty when it comes to their work.

During your time with analytics implementation, you will likely be responsible for writing many pieces of documentation. To help you with writing analytics documentation, here are five principles for writing effective analytics documentation.

Write for Someone with No Knowledge

The core question to think of whenever you begin to draft a piece of documentation is this:

“Can someone with no understanding of the work or tasks being performed be able to understand the work and perform the tasks after reading your documentation?”

It can be difficult to write effectively with technical language, as you risk alienating non-technical audiences due to the complexity involved. However, a more process-oriented approach with writing with a focus on steps helps to keep a consistent cadence while allowing for more technical information to be presented.

While the outcome is important, the process conveyed through the documentation is crucial to a more thorough understanding of the work itself. By understanding the process, your end user can work more easily towards the outcome by synthesizing their own ideas with the knowledge they receive from your documentation.

Because of this, here are some tips to write with a process-first approach:

  • Perform each step as you write and write as you perform each step; make sure that your actions align with what the end user would do.
  • Use an organized approach with each step, ensuring that primary information is presented first while reserving any secondary information for a note or addendum to be visible after the primary information.
  • While editing, try to work backwards from your outcome, reversing the approach you took to complete the process; your end user should see each step of the process as part of the outcome itself.

With this approach, you can incorporate technical syntax into your writing with the end user in mind while ensuring that non-technical users can understand the process.

Use Standard Conventions and Syntax

It’s important to remember that conventions and syntax often go hand in hand; when writing effective documentation, you should always outline and define any conventions or syntax beforehand, while also making sure that it remains consistent throughout your documentation.

In analytics, this could refer to standardized columns and charts to convey important data to stakeholders, or even naming conventions for tags that are used to organize them within a Tag Management System (TMS). Consider using the following to make sure that your conventions and syntax align with what is expected:

  • Ensure that a glossary or lexicon is maintained, updated, and reflected as the terminology and syntax of your documentation is changed.
  • Use acronyms whenever appropriate, but always make sure to remind the end user of what they mean periodically as to prevent disruption in understanding.
  • Outline a set of guidelines and standards for your documentation and adhere to them as you write, while always auditing your documentation for any instances where it doesn’t align.

It’s important to minimize any disruptions you experience when it comes to writing any documentation, as any breaks that come from having to understand or interpret a piece of syntax or convention impact the effectiveness of your documentation.

Become Obsessed with Details, But Remember the Big Picture

Details are an important tool when writing effective documentation. Using more detail and being more descriptive when it comes to your documentation reduces any ambiguity or uncertainty that may result from your end user reading your documentation. Here are some ways to incorporate detail into your writing:

  • Use practical and simple language as you explain each step of a process helps to remain grounded in the process while avoiding any misunderstanding of what is being written.
  • Organize your information in a clear, readable format from top to bottom; once you have the big picture, you can elaborate, consolidate, or minimize complexity in your writing as necessary.
  • Have each section contain relevant information and be modular in that each section can be interpreted on its own without the need to reference each section.
  • Look to include more details for any information that is not considered self-evident or understandable without reading the previous section.

As you include detail, make sure that you balance the amount of detail included with the flow of the overall section. This minimizes the amount of time it takes to understand it while relating to non-technical audiences who adopt and interpret the documentation without too much investment.

I hope that this article helps you to write more effective analytics documentation. Happy writing!

]]>
https://blogs.perficient.com/2024/04/11/three-principles-for-writing-effective-analytics-documentation/feed/ 6 361514