Seu Template de Dados de Originação de Empréstimos
Seu Template de Dados de Originação de Empréstimos
- Atributos recomendados para coletar
- Atividades-chave a monitorizar
- Orientações para extração de dados
Atributos de Originação de Empréstimos
| Nome | Descrição | ||
|---|---|---|---|
| Atividade ActivityName | O nome da etapa de negócio ou evento específico ocorrido no processo de originação. | ||
| Descrição Representa uma tarefa ou marco (ex: 'Revisão Inicial'), formando os nós no mapa do processo. Analisar a sequência e duração dessas atividades ajuda a identificar caminhos comuns, desvios e gargalos. É a base para entender o que está sendo feito e em que ordem. Por que é importante Define as etapas do processo, permitindo visualizar e analisar o fluxo, que é o coração do Process Mining. Onde obter Derivado de mudanças nos campos 'Stage' ou 'Status' no nCino, ou de registros de Tarefas e Eventos. Exemplos Proposta de Empréstimo CriadaUnderwriting IniciadoDecisão de Empréstimo ProferidaFundos Desembolsados | |||
| Hora de Início EventTime | O `timestamp` indicando quando uma atividade ou evento específico começou. | ||
| Descrição O Start Time registra a data e hora exatas de uma atividade. Esses dados cronológicos são essenciais para ordenar os eventos e reconstruir o fluxo como ele ocorreu na realidade. Este timestamp é a base de toda análise temporal. Com ele, calculamos tempos de ciclo, identificamos atrasos e medimos a duração total do caso. Timestamps precisos são críticos para monitorar performance e analisar gargalos. Por que é importante Oferece a ordem cronológica necessária para calcular todas as métricas de performance, como tempos de ciclo. Onde obter Pode vir de timestamps do sistema como 'CreatedDate' ou do histórico de alteração de campos específicos. Exemplos 2023-10-26T10:00:00Z2023-10-26T14:30:00Z2023-10-27T09:15:00Z | |||
| ID da Proposta de Empréstimo LoanApplicationId | Um identificador exclusivo atribuído a cada proposta, servindo como chave primária para rastrear todo o processo de originação. | ||
| Descrição O ID de Solicitação de Empréstimo identifica cada pedido de forma única em todo o seu ciclo de vida. Ele agrupa todas as atividades e dados associados, permitindo o rastreio completo da jornada daquele empréstimo. No Process Mining, este ID funciona como o Case ID. Cada evento é vinculado a este identificador, permitindo reconstruir o fluxo ponta a ponta, o que é fundamental para análises de tempo de ciclo, variantes e identificação de gargalos. Por que é importante Este é o Case ID que conecta todos os passos, permitindo a análise da jornada completa da proposta. Onde obter Chave primária do objeto de Empréstimo, como Exemplos LA-2023-00123LA-2023-00456LA-2024-00789 | |||
| Sistema de Origem SourceSystemName | O nome do sistema do qual os dados foram extraídos. | ||
| Descrição Identifica o sistema de origem dos dados. Geralmente 'nCino'. Embora pareça redundante se houver só um sistema, é crucial para a governança e integração com outras plataformas (ex: motor de crédito externo), garantindo clareza sobre a procedência da informação. Por que é importante Identifica a origem dos dados, crucial para governança, resolução de problemas e ao consolidar dados de múltiplos sistemas. Onde obter Valor estático 'nCino', aplicado durante a extração e transformação. Exemplos nCinonCino-ProdnCino-UAT | |||
| Última Atualização de Dados LastDataUpdateTimestamp | Carimbo de data e hora que indica quando os dados foram atualizados pela última vez a partir do sistema de origem. | ||
| Descrição Registra a data/hora da última extração de dados, indicando quão atualizada está a análise. Crucial em dashboards para que os usuários saibam o período analisado, gerenciando expectativas e garantindo decisões baseadas no recorte temporal correto. Por que é importante Oferece contexto crucial sobre a atualização dos dados, garantindo que os usuários saibam quão recente é a análise do processo. Onde obter Timestamp gerado pela ferramenta de ETL ou extração no momento da coleta. Exemplos 2024-05-21T02:00:00Z2024-05-22T02:00:00Z2024-05-23T02:00:00Z | |||
| Canal da Proposta ApplicationChannel | O canal por onde a proposta foi enviada, como Online, Agência ou Corretor. | ||
| Descrição Identifica por onde a proposta entrou. Canais diferentes têm níveis distintos de completude de dados, o que afeta o fluxo. Analisar por canal ajuda a avaliar a eficiência. Ex: comparar tempos de ciclo e retrabalho do online vs. agência. Isso orienta decisões sobre investimentos e otimização de cada fonte. Por que é importante Ajuda a comparar a eficiência, velocidade e qualidade de diferentes canais de envio, guiando melhorias estratégicas e investimentos. Onde obter Fica em um campo de lista no objeto, como 'Channel' ou 'Source'. Exemplos Portal OnlineFilialRede de CorretoresMobile App | |||
| Departamento Atribuído AssignedDepartment | O departamento ou equipe responsável pela proposta em um estágio específico. | ||
| Descrição Indica o grupo funcional (Originação, Underwriting, Fechamento) responsável pela atividade. Analisar por departamento é vital para entender a colaboração entre áreas. Mede tempos de handoff e identifica atrasos em transferências internas, oferecendo uma visão macro de onde o trabalho é realizado. Por que é importante Crucial para analisar a passagem de bastão entre departamentos, medir o desempenho da equipe e identificar gargalos multifuncionais. Onde obter Informação vinda do campo 'Departamento' no registro do usuário ou de campos customizados de 'Equipe' ou 'Fila' no objeto do empréstimo. Exemplos Originação de EmpréstimosUnderwritingRisco de CréditoFechamento | |||
| End Time EventEndTime | O timestamp que indica quando uma atividade ou evento foi concluído. | ||
| Descrição O End Time marca a conclusão de uma atividade. A diferença entre o Start Time e o End Time representa o tempo de processamento. Este atributo é essencial para distinguir o tempo de trabalho ativo do tempo de espera. Analisar esses tempos ajuda a identificar quais passos são mais demorados, enquanto o intervalo entre o fim de uma tarefa e o início da próxima revela atrasos de handoff. Por que é importante Permite o cálculo preciso dos tempos de processamento, essencial para diferenciar o tempo de trabalho ativo do tempo de espera ocioso. Onde obter Pode vir de 'LastModifiedDate' ou do timestamp da próxima alteração de campo no histórico. Exemplos 2023-10-26T11:30:00Z2023-10-26T17:00:00Z2023-10-27T11:45:00Z | |||
| Resultado da Decisão DecisionOutcome | A decisão final da proposta, como Aprovada, Recusada ou Retirada. | ||
| Descrição Captura o resultado da decisão final. É um atributo de nível de caso crítico que define o estado final do processo. Essencial para análises baseadas em resultados, permitindo comparar caminhos de propostas aprovadas vs. recusadas. Também serve de base para métricas como a Taxa de Recusa. Por que é importante Permite filtrar e comparar processos com base no resultado final de negócio, essencial para identificar quais padrões levam ao sucesso ou à falha. Onde obter Encontrado em 'Status' ou 'Stage' após a conclusão. Valores dependem da sua configuração. Exemplos AprovadoRecusadoRetirado pelo Solicitante | |||
| Tipo de Produto de Empréstimo LoanProductType | O tipo específico de produto solicitado, como Hipoteca, Auto ou Empréstimo Pessoal. | ||
| Descrição Categoriza a proposta pelo produto financeiro. Diferentes produtos têm variações de processo, tempos e riscos distintos. Segmentar a análise por Tipo de Produto é crucial para comparações reais. Ajuda a entender como cada produto afeta a eficiência e permite criar dashboards específicos (ex: vazão de hipotecas vs. auto), garantindo que a performance seja avaliada no contexto certo. Por que é importante Permite segmentar a análise por contexto de negócio, revelando como diferentes produtos impactam a eficiência e os caminhos do processo. Onde obter Armazenado nos campos 'Product' ou 'Loan Type' no objeto LLC_Loan__c. Exemplos Hipoteca ConvencionalAuto Loan - NovoEmpréstimo Pessoal Sem Garantia | |||
| Usuário Atribuído AssignedUser | O usuário, como analista ou subscritor, responsável pela execução da atividade. | ||
| Descrição Identifica o funcionário que executou a tarefa ou está atribuído à proposta, geralmente o 'Owner' no nCino. Analisar por usuário ajuda a entender a carga de trabalho e o desempenho individual. Destaca equipes sobrecarregadas e identifica os melhores profissionais, auxiliando na gestão de recursos e treinamento. Por que é importante Permite analisar a distribuição de carga, performance do time e alocação de recursos, identificando gargalos ligados a usuários ou equipes. Onde obter Vem do 'OwnerId' no Empréstimo ou Tarefas, cruzado com o objeto User para obter o nome. Exemplos Alice SmithBob JohnsonCharlie Brown | |||
| Valor do Empréstimo LoanAmount | O valor monetário do empréstimo solicitado pelo cliente. | ||
| Descrição Representa o valor principal solicitado. O montante influencia a complexidade, pois valores altos exigem mais critérios. É uma ferramenta poderosa de segmentação para investigar se empréstimos maiores demoram mais ou têm mais retrabalho. Essencial para relatórios financeiros e gestão do portfólio. Por que é importante Oferece contexto financeiro essencial e permite segmentar a análise para verificar se o valor do empréstimo se correlaciona com a complexidade, duração ou resultados do processo. Onde obter Localizado em um campo de moeda no objeto Loan, geralmente chamado de 'Amount' ( Exemplos 250000.0035000.00750000.00 | |||
| Duração do Caso CaseDuration | O tempo total decorrido da primeira à última atividade de um empréstimo. | ||
| Descrição Mede o tempo de ciclo ponta a ponta de cada proposta, representando o tempo total de atividade do caso. A duração do caso é o principal KPI de eficiência operacional. Usada para visualizar a distribuição de tempos, identificar casos lentos e tendências. Entender o que causa durações longas é o objetivo central de projetos de Process Mining. Por que é importante Representa o tempo de ciclo ponta a ponta, um KPI fundamental para medir a saúde do processo e a experiência do cliente. Onde obter Calculado pela diferença entre o EventTime máximo e mínimo de cada ID de Solicitação. Exemplos 2592000 segundos1209600 segundos4320000 segundos | |||
| É Automatizado IsAutomated | Um sinalizador booleano indicando se uma atividade foi realizada automaticamente pelo sistema, em vez de um usurio humano. | ||
| Descrição Distingue tarefas humanas de eventos automáticos do sistema. Ex: consulta de crédito automática vs. decisão de underwriting manual. Identificar passos automáticos é crucial para analisar o impacto da tecnologia nos tempos de ciclo e descobrir candidatos ideais para novas automações. Por que é importante Distingue atividades do sistema e humanas, fundamental para medir o impacto da automação e identificar novas oportunidades para automatizar. Onde obter Derivado do usuário associado ao evento. Se for 'System' ou 'Integration', a flag é marcada como verdadeira. Exemplos verdadeirofalse | |||
| É Retrabalho IsRework | Uma flag calculada que identifica atividades que são repetições ou loops dentro de um único caso. | ||
| Descrição Atributo booleano definido como verdadeiro se uma atividade ocorre mais de uma vez na mesma proposta. Identifica casos de retrabalho. Analisar retrabalho é fundamental. A tag 'IsRework' permite filtrar e quantificar essas falhas, alimentando dashboards de análise de qualidade e medindo onde o processo falha na primeira tentativa. Por que é importante Destaca ineficiências ao sinalizar trabalhos repetidos, permitindo análises focadas para reduzir loops que custam caro. Onde obter Calculado na transformação de dados usando funções de janela para checar se a atividade já ocorreu para aquele Case ID. Exemplos verdadeirofalse | |||
| Estado do SLA SlaState | Um estado calculado indicando se uma atividade ou caso cumpriu o seu Acordo de Nível de Serviço (SLA). | ||
| Descrição Resultado do check de SLA, comparando o tempo real com a meta e gerando status como 'No Prazo' ou 'Atrasado'. Essencial para monitorar compromissos de negócio. Alimenta o dashboard de Adesão ao SLA, sinalizando a conformidade. Permite investigar as causas raiz dos atrasos em propostas fora do prazo. Por que é importante Fornece um resultado claro e categórico do desempenho em relação às metas, facilitando o monitoramento da conformidade do SLA e a análise das causas de violação. Onde obter Calculado na camada de transformação, comparando a duração real de um segmento (ex: underwriting) com a meta definida. Exemplos AtingidoViolado | |||
| Meta de SLA de Underwriting UnderwritingSlaTarget | A duração prevista, em horas ou dias, para concluir a etapa de underwriting. | ||
| Descrição Define o SLA esperado para o underwriting, servindo como benchmark. Usado para calcular taxas de adesão. Ao comparar o tempo real com esta meta, as propostas são marcadas como 'Dentro' ou 'Fora do Prazo'. Essencial para o dashboard de Adesão ao SLA e KPIs relacionados. Por que é importante Fornece o benchmark necessário para medir o desempenho em relação aos acordos de nível de serviço, permitindo o monitoramento da adesão ao SLA. Onde obter Valor armazenado no objeto do empréstimo ou derivado de regras de negócio (ex: por tipo ou valor). Exemplos 48 horas72 horas5 dias úteis | |||
| Motivo da Recusa DeclineReason | O motivo específico informado quando uma proposta de empréstimo é recusada. | ||
| Descrição Quando uma decisão é 'Recusada', este atributo detalha o motivo (score baixo, renda insuficiente, falta de dados). Analisar essas causas revela falhas nos critérios, problemas no produto ou no processo, ajudando a refinar estratégias e aumentar a taxa de aprovação. Por que é importante Identifica a causa raiz das propostas recusadas, permitindo analisar tendências para aprimorar os critérios de concessão ou os processos de solicitação. Onde obter Fica em um campo de lista obrigatório quando o status muda para 'Declined'. Exemplos Score de Crédito BaixoAlta Relação Dívida/RendaProposta IncompletaGarantia Insuficiente | |||
| Pontuação de Crédito (Score) CreditScore | A pontuação de crédito (score) do solicitante no momento da consulta. | ||
| Descrição Armazena o score de crédito retornado pelo birô. É fator chave na decisão. No Process Mining, permite analisar se há correlação entre score e comportamento do processo. Ex: propostas com scores baixos exigem mais passos manuais ou demoram mais? Isso traz insights valiosos sobre variações baseadas em risco. Por que é importante Permite analisar como um fator decisivo, o score de crédito, se correlaciona com os caminhos, durações e resultados do processo. Onde obter Geralmente armazenado em campos nos objetos relacionados 'Credit Report' ou 'Financials'. Exemplos 720650810 | |||
| Tempo de Processamento da Atividade ActivityProcessingTime | A dura33o calculada do tempo gasto trabalhando ativamente em uma atividade. | ||
| Descrição Representa o tempo entre o início e o fim de uma atividade (touch time). Vital para distinguir o tempo de trabalho ativo do tempo ocioso. Ajuda a focar nas tarefas que realmente demandam esforço, sendo essencial para planejamento de capacidade e melhoria de eficiência. Por que é importante Mede a duração do trabalho ativo em cada etapa, ajudando a identificar as tarefas que consomem mais tempo e a diferenciá-las do tempo de espera. Onde obter Calculado pela diferença entre 'EventEndTime' e 'EventTime' (StartTime) de cada atividade. Exemplos 3600 segundos14400 segundos86400 segundos | |||
Atividades de Originação de Empréstimos
| Atividade | Descrição | ||
|---|---|---|---|
| Decisão de Empréstimo Proferida | Representa a decisão oficial final, como 'Approved' ou 'Declined'. Este evento é registrado quando o status do empréstimo é definido para refletir o resultado. | ||
| Por que é importante Grande marco que separa a avaliação do fechamento. Analisar o tempo da conclusão do underwriting até aqui revela atrasos em comitês ou assinaturas finais. Onde obter Inferido de uma atualização de status ou estágio no objeto Loan para um estado final como 'Approved' ou 'Declined'. O rastreamento de histórico fornece o timestamp exato. Captura Capture o timestamp da atualização de campo que define o status de decisão final do empréstimo. Tipo de evento inferred | |||
| Empréstimo Recusado | Representa um fim malsucedido, onde a proposta é oficialmente recusada. Capturado quando o estágio ou status é definido como 'Declined'. | ||
| Por que é importante Evento de falha crítico. Analisar os caminhos que levam a isso ajuda a entender rejeições e melhorar a qualidade das propostas ou os critérios de crédito. Onde obter Inferido da mudança de estágio final para 'Declined'. O timestamp é capturado pelo rastreamento de histórico no campo 'Stage'. Captura Capture o timestamp quando o campo 'Stage' (LLC_BI__Stage__c) do empréstimo é atualizado para 'Declined'. Tipo de evento inferred | |||
| Fundos Desembolsados | Marca a conclusão bem-sucedida da originação, com a transferência de fundos. Capturado quando o estágio muda para 'Booked' ou 'Complete'. | ||
| Por que é importante Principal evento de sucesso. Medir o tempo total até aqui fornece o ciclo ponta a ponta, KPI mestre de performance. Onde obter Inferido da mudança de estágio final para um estado de sucesso como 'Booked'. O timestamp vem do rastreamento de histórico de campos. Captura Capture o timestamp quando o campo 'Stage' (LLC_BI__Stage__c) do empréstimo é atualizado para 'Booked'. Tipo de evento inferred | |||
| Proposta de Empréstimo Criada | Esta atividade marca a criação da proposta no nCino. É o início oficial do processo e ocorre quando o usuário salva o registro de Empréstimo pela primeira vez. | ||
| Por que é importante Principal evento de início. Analisar o tempo desta atividade até as próximas é vital para medir o ciclo total e atrasos iniciais. Onde obter Evento capturado pelo timestamp de criação do objeto principal Loan__c no Salesforce. Captura Use o campo 'CreatedDate' do objeto Loan__c no Salesforce. Tipo de evento explicit | |||
| Underwriting Concluído | Significa que o subscritor concluiu a revisão. Capturado quando o estágio avança de 'Underwriting' para 'Approved', 'Declined' ou 'Pending Decision'. | ||
| Por que é importante Marca o fim da fase de análise. A duração entre o início e este evento é o KPI chave para medir eficiência no underwriting. Onde obter Inferido do timestamp quando o campo 'Stage' (LLC_BI__Stage__c) é alterado de 'Underwriting' para outro valor. Depende do rastreamento de histórico. Captura Capture o timestamp quando o campo 'Stage' do empréstimo é alterado de 'Underwriting' para um status posterior à análise. Tipo de evento inferred | |||
| Underwriting Iniciado | Marca o início oficial da fase de análise, onde a solicitação de empréstimo está sendo avaliada por um sobritador. Isso quase sempre é registrado por uma mudança no estágio principal ou campo de status para 'Underwriting'. | ||
| Por que é importante Marco crítico que inicia uma das fases que mais consome recursos. É o ponto de partida para medir o tempo de ciclo do underwriting e a adesão ao SLA. Onde obter Inferido da alteração com timestamp do campo 'Stage' para 'Underwriting'. Exige que o Rastreamento de Histórico de Campos esteja ativo para o campo Stage. Captura Capture o timestamp quando o campo 'Stage' (LLC_BI__Stage__c) do empréstimo é atualizado para 'Underwriting'. Tipo de evento inferred | |||
| Análise de Crédito Concluída | Indica que a consulta de crédito foi realizada e os resultados estão no sistema. Capturado ao anexar o relatório ou concluir a etapa de 'Credit Check'. | ||
| Por que é importante A consulta de crédito é uma dependência crítica para o underwriting. Atrasos aqui podem se tornar um grande gargalo para todo o processo. Onde obter Pode ser um evento de integração ou inferido pela mudança de estágio do empréstimo. Verifique campos de data de consulta ou status no registro. Captura Use o timestamp da mudança para 'Credit Check Complete' ou criação do registro de crédito. Tipo de evento inferred | |||
| Análise Inicial Realizada | Representa a conclusão da primeira revisão formal dos dados iniciais por um analista. É capturado pela mudança no status ou estágio, indicando que saiu da fase de entrada de dados. | ||
| Por que é importante Medir o tempo até esta atividade ajuda a avaliar a agilidade inicial e a eficiência do processo de entrada. É um passo fundamental antes do início de atividades que exigem mais recursos. Onde obter Provavelmente inferido de uma alteração com timestamp no 'Stage' ou status personalizado para valores como 'Revisão Inicial Concluída'. Exige rastreamento de histórico no objeto Loan. Captura Identifique o timestamp quando o campo de Estágio do Empréstimo é atualizado para indicar o fim da revisão. Tipo de evento inferred | |||
| Avaliação de Risco Realizada | Representa a conclusão da avaliação formal de risco ou rating. Geralmente é uma etapa distinta no underwriting, capturada quando o campo de rating de risco é preenchido. | ||
| Por que é importante Oferece visão sobre a tomada de decisão no underwriting. Analisar este tempo revela complexidades na avaliação de risco. Onde obter Pode ser inferido pelo preenchimento ou última modificação de campos de risco no objeto Loan, como 'Risk Grade' ou 'Risk Rating'. Captura Use o histórico de campo de quando o 'Risk Rating' foi preenchido. Tipo de evento inferred | |||
| Contrato de Empréstimo Assinado | Representa a assinatura do contrato final pelo solicitante, passo crítico antes da liberação. Capturado via integração de assinatura eletrônica ou atualização manual de status. | ||
| Por que é importante Esta atividade é um pré-requisito crucial para a liberação de fundos e um marco no fechamento. Atrasos aqui impactam diretamente os prazos de desembolso. Onde obter Pode ser um evento explícito de uma API de assinatura eletrônica atualizando um status no nCino ou inferido de uma atualização manual para 'Documentos Assinados'. Captura Use o timestamp do webhook de assinatura eletrônica ou atualização manual. Tipo de evento explicit | |||
| Documentos de Apoio Recebidos | Indica o ponto em que os documentos solicitados foram recebidos e carregados no sistema. Geralmente é capturado quando o status do documento no Gerenciador de Documentos é atualizado para 'Received' ou 'Complete'. | ||
| Por que é importante Esta atividade encerra um período de espera comum. O tempo entre a solicitação e o recebimento de documentos destaca dependências externas e a eficácia da comunicação. Onde obter Inferido de uma mudança de status no registro de requisito de documento no Gerenciador de Documentos do nCino. O timestamp da atualização fornece o tempo do evento. Captura Identifique o timestamp quando o status de um requisito de documento é atualizado para 'Recebido' ou 'Concluído'. Tipo de evento inferred | |||
| Documentos de Apoio Solicitados | Ocorre quando o analista pede mais documentos. No nCino, isso costuma ser gerido pelo Gerenciador de Documentos, criando um item de checklist para o arquivo necessário. | ||
| Por que é importante Monitorar isso é vital para analisar retrabalho. Repetições na mesma proposta indicam dados incompletos, gerando loops e atrasos no ciclo. Onde obter Pode ser um evento explícito da criação de um registro no Gerenciador de Documentos do nCino ou inferido de uma mudança de status no próprio empréstimo. Captura Capture a data de criação de registros no Gerenciador de Documentos (ex: docman__Document_Manager_Requirement__c) vinculados ao empréstimo. Tipo de evento explicit | |||
| Oferta de Empréstimo Aceita | Marca o momento em que o solicitante aceita formalmente a proposta de empréstimo. Isso pode ser registrado por um analista atualizando manualmente o status ou via integração de assinatura eletrônica que atualiza o registro automaticamente. | ||
| Por que é importante Marco importante do cliente. Demoras aqui podem indicar problemas com os termos da proposta ou no processo de aceitação. Onde obter Inferido por atualização manual de status ou evento automático via assinatura eletrônica. Captura Capture o timestamp da atualização de campo de status ou estágio para 'Aceito'. Tipo de evento inferred | |||
| Oferta de Empréstimo Gerada | Ocorre quando a proposta formal ou carta de compromisso é gerada. Capturado pela criação do documento ou atualização de status da oferta. | ||
| Por que é importante O tempo para gerar a proposta após a aprovação impacta a experiência do cliente. Monitorar isso ajuda a avaliar a eficiência da geração de documentos e pré-fechamento. Onde obter Pode ser um evento explícito de um motor de geração de documentos integrado ao nCino ou inferido de uma mudança de status para 'Oferta Gerada' ou 'Aguardando Aceite do Cliente'. Captura Use a data de criação do documento de proposta ou registro relacionado. Tipo de evento explicit | |||
| Proposta Retirada | Representa um fim alternativo onde o solicitante retira a proposta antes da decisão final. É registrado alterando o estágio do empréstimo para 'Withdrawn'. | ||
| Por que é importante Este evento final revela desistências. Analisar por que propostas são retiradas ajuda a identificar problemas de lentidão, falhas de comunicação ou falta de competitividade. Onde obter Inferido de uma mudança de estágio final no objeto Loan para 'Withdrawn'. O rastreamento de histórico no campo 'Stage' fornece o timestamp do evento. Captura Capture o timestamp quando o campo 'Stage' (LLC_BI__Stage__c) do empréstimo é atualizado para 'Withdrawn'. Tipo de evento inferred | |||
Guias de Extração
Etapas
- Pré-requisito: Ativar Rastreamento de Histórico de Campos: Antes de criar relatórios, um Administrador do Salesforce deve ativar o Rastreamento de Histórico de Campos no objeto Loan do nCino (LLC_BI__Loan__c). Rastreie o histórico de campos essenciais que representam marcos do processo, como Estágio (LLC_BI__Stage__c), Status (LLC_BI__Status__c), Classificação de Risco ([Seu Campo de Risco]) e campos personalizados para eventos como 'Verificação de Crédito Concluída'.
- Criar um Tipo de Relatório Personalizado: Vá em Configuração -> Configurações de Recursos -> Analytics -> Relatórios e Dashboards -> Tipos de Relatório. Crie um novo tipo. O objeto principal deve ser Loans (LLC_BI__Loan__c) e o objeto secundário (B) deve ser Histórico de Empréstimos. Isso vincula cada empréstimo às suas alterações históricas de campos, essencial para o Event Log.
- Criar o Relatório de 'Histórico de Empréstimos': Na aba Relatórios, crie um novo relatório usando o tipo personalizado criado no passo anterior. Este relatório capturará a maioria das atividades baseadas em alterações de campos.
- Adicionar Colunas ao Relatório: Adicione as colunas correspondentes aos atributos necessários: Nome do Empréstimo (para LoanApplicationId), Campo/Evento, Valor Antigo, Valor Novo, Data de Edição (para EventTime), Editado Por (para AssignedUser), Produto (para LoanProductType), Valor (para LoanAmount), [Seu Campo de Canal] (para ApplicationChannel) e outros atributos relevantes.
- Filtrar o Relatório de 'Histórico de Empréstimos': Configure o filtro 'Mostrar' para 'Todos os empréstimos'. Filtre a 'Data de Criação' do objeto Loan para o intervalo desejado (ex: últimos 6 meses). Adicione um filtro na coluna 'Campo/Evento' para incluir apenas as alterações nos campos rastreados (ex: 'Estágio', 'Status').
- Criar o Relatório de 'Criação de Empréstimo': Crie um segundo relatório simples apenas no objeto Loan (LLC_BI__Loan__c). O objetivo é capturar o evento 'Proposta de Empréstimo Criada'. Inclua colunas como Nome do Empréstimo (LoanApplicationId), Data de Criação (EventTime), Criado Por (AssignedUser) e atributos do empréstimo.
- Exportar os Relatórios: Execute ambos. Para volumes pequenos, exporte direto da UI do Salesforce como CSV. Para volumes grandes, use o Salesforce Data Loader para extrair os dados via API de forma eficiente.
- Combinar e Transformar Dados: Os dados exportados ainda não são um Event Log. Combine os arquivos e transforme os dados (usando Excel com Power Query ou Python): a. Do relatório de 'Criação', crie linhas para a atividade 'Proposta de Empréstimo Criada', usando a data de criação como EventTime. b. Do relatório de 'Histórico', crie a coluna 'ActivityName'. Use lógica condicional (como um CASE) para mapear as trocas de campos para nomes de atividades. c. Consolide os resultados em um único arquivo.
- Finalizar Colunas: Renomeie e formate as colunas para o esquema do ProcessMind: LoanApplicationId, ActivityName, EventTime, AssignedUser, etc. Adicione a coluna 'SourceSystemName' com o valor 'nCino' e 'LastDataUpdateTimestamp' com a data e hora atuais.
- Upload para o ProcessMind: Salve o arquivo final transformado como CSV e faça o upload no ProcessMind.
Configuração
- Permissões do Salesforce: Os usuários que extraem dados precisam de acesso de 'Leitura' ao objeto de Empréstimo (LLC_BI__Loan__c) e seu histórico, bem como permissões para executar e exportar relatórios. O acesso ao Salesforce Data Loader exige a permissão 'API Enabled'.
- Rastreamento de Histórico de Campos: Este é o pré-requisito mais crítico. Se não estiver ativado para os campos necessários no objeto Loan, as atividades históricas não poderão ser extraídas. Há um limite de quantos campos podem ser rastreados por objeto.
- Filtros de Relatório: Sempre filtre seus relatórios por um intervalo de datas específico (ex: empréstimos criados nos últimos 6 meses) para manter o volume de dados gerenciável. Também é crucial filtrar o relatório de histórico para incluir apenas alterações nos campos específicos (ex: Estágio, Status) que representam as atividades do seu processo definido.
- Configuração do nCino: Os valores usados para identificar atividades (ex: Estágio chamado 'Underwriting' ou 'Booked') são específicos da configuração do nCino da sua organização. Você deve ajustar a lógica de transformação para corresponder à terminologia do seu sistema.
- Data Loader: Para extrações de mais de alguns milhares de empréstimos, o uso do Salesforce Data Loader é fortemente recomendado para evitar timeouts do navegador e lidar com o volume de dados de forma eficiente. Você precisará instalar este aplicativo cliente e possuir credenciais de acesso à API.
- Objetos Relacionados: Algumas atividades, particularmente as relacionadas à gestão de documentos ou obrigações (covenants), podem estar armazenadas em objetos nCino relacionados. O método principal aqui foca no objeto Loan principal. Uma extração completa pode exigir a criação de relatórios adicionais em objetos como Document Manager Placeholder (LLC_BI__Document_Manager_Placeholder__c) e a fusão dos resultados.
a Consulta de Exemplo config
/*
This is a configuration and transformation guide, not a single executable query.
The process involves creating two reports in Salesforce, exporting them, and then transforming the data.
*/
-- Step 1: Configuration for Report 1: 'Loan Creation Report'
-- Report Type: Loans (LLC_BI__Loan__c)
-- Columns:
-- LLC_BI__Loan__c.Name (renamed to LoanApplicationId)
-- LLC_BI__Loan__c.CreatedDate (used for EventTime)
-- LLC_BI__Loan__c.CreatedById (user lookup, for AssignedUser)
-- LLC_BI__Loan__c.LLC_BI__Product_Package__c (for LoanProductType)
-- LLC_BI__Loan__c.LLC_BI__Amount__c (for LoanAmount)
-- LLC_BI__Loan__c.LLC_BI__Stage__a (for initial state)
-- [Other required attributes]
-- Filter:
-- CreatedDate >= [Your Start Date] AND CreatedDate <= [Your End Date]
-- Step 2: Configuration for Report 2: 'Loan History Report'
-- Report Type: Loans with Loan History (Custom Report Type)
-- Columns:
-- LLC_BI__Loan__c.Name (renamed to LoanApplicationId)
-- LoanHistory.Field (maps to 'Field/Event')
-- LoanHistory.OldValue
-- LoanHistory.NewValue
-- LoanHistory.CreatedDate (renamed to EventTime)
-- LoanHistory.CreatedById (user lookup, for AssignedUser)
-- [Other required attributes from the parent Loan object]
-- Filter:
-- Loan:CreatedDate >= [Your Start Date] AND Loan:CreatedDate <= [Your End Date]
-- AND LoanHistory.Field IN ('Stage', 'Status', '[Your Risk Rating Field]', '[Your Credit Check Field]')
-- Step 3: Post-Export Transformation Logic (to be applied with Python, Excel, etc.)
-- This logic transforms the raw report data into a final event log.
SELECT
LoanApplicationId,
'Loan Application Created' AS ActivityName,
EventTime,
AssignedUser,
LoanProductType,
LoanAmount,
-- ... other attributes
FROM [Exported Loan Creation Report]
UNION ALL
SELECT
LoanApplicationId,
CASE
WHEN Field = 'Stage' AND NewValue = 'Initial Review' THEN 'Initial Review Performed'
WHEN Field = 'Stage' AND NewValue = 'Underwriting' THEN 'Underwriting Commenced'
WHEN Field = 'Stage' AND OldValue = 'Underwriting' THEN 'Underwriting Completed'
WHEN Field = 'Stage' AND NewValue = 'Booked' THEN 'Funds Disbursed'
WHEN Field = 'Stage' AND NewValue = 'Declined' THEN 'Loan Declined'
WHEN Field = 'Stage' AND NewValue = 'Withdrawn' THEN 'Application Withdrawn'
WHEN Field = '[Your Risk Rating Field]' AND OldValue IS NULL THEN 'Risk Assessment Performed'
WHEN Field = '[Your Credit Check Field]' AND NewValue = 'Complete' THEN 'Credit Check Completed'
WHEN Field = 'Status' AND NewValue = 'Approved' THEN 'Loan Decision Rendered'
WHEN Field = 'Status' AND NewValue = 'Offer Generated' THEN 'Loan Offer Generated'
WHEN Field = 'Status' AND NewValue = 'Offer Accepted' THEN 'Loan Offer Accepted'
WHEN Field = 'Status' AND NewValue = 'Agreement Signed' THEN 'Loan Agreement Signed'
-- Note: Document activities are difficult to track this way and may require a separate report.
-- These are placeholders assuming a status field is used.
WHEN Field = 'Status' AND NewValue = 'Docs Requested' THEN 'Supporting Documents Requested'
WHEN Field = 'Status' AND NewValue = 'Docs Received' THEN 'Supporting Documents Received'
END AS ActivityName,
EventTime,
AssignedUser,
-- ... other attributes can be joined from the Loan Creation Report by LoanApplicationId
[LoanProductType],
[LoanAmount]
FROM [Exported Loan History Report]
WHERE ActivityName IS NOT NULL; -- Filter out unmapped field changes Etapas
- Pré-requisitos: Certifique-se de ter uma conta de usuário do Salesforce com acesso à API e permissões de leitura para o nCino Loan (LLC_BI__Loan__c), Account e objetos de Histórico relacionados. É necessário acesso a uma ferramenta de execução SOQL, como Salesforce Workbench, Developer Console ou aplicação conectada.
- Acesse a Ferramenta SOQL: Faça login na sua ferramenta preferida. No Salesforce Workbench, selecione seu ambiente, aceite os termos e entre com suas credenciais do Salesforce.
- Selecione SOQL Query: No Workbench, acesse a aba 'Queries' e selecione 'SOQL Query'. No Developer Console, vá para a aba 'Query Editor' na parte inferior.
- Prepare a Consulta: Copie a consulta SOQL completa fornecida na seção 'query' deste documento.
- Configure os Placeholders: Antes de executar, você deve modificar os espaços reservados. Substitua
'YYYY-MM-DDTHH:MM:SSZ'pelas datas de início e fim desejadas. Revise os nomes de estágio e status, como'[Underwriting Stage Name]', e atualize-os para os valores exatos configurados no seu nCino. - Execute a Consulta: Cole a consulta configurada na janela do editor.
- Lide com Grandes Conjuntos de Dados: Se a consulta sofrer timeout ou atingir limites do Salesforce, execute-a em lotes menores. Reduza o intervalo de datas (ex: um mês por vez) e combine os resultados depois.
- Revise os Resultados: Após a execução, a ferramenta exibirá os dados em formato de tabela. Verifique se as colunas
LoanApplicationId,ActivityNameeEventTimeestão preenchidas corretamente. - Exporte os Dados: Use a função de exportação da ferramenta. No Workbench, selecione 'Bulk CSV' na opção 'View As' e clique em 'Query' para gerar o arquivo CSV.
- Finalize para Upload: Abra o arquivo CSV exportado. Verifique se os cabeçalhos das colunas atendem aos requisitos da sua ferramenta de Process Mining. O arquivo está pronto para o upload no ProcessMind como um Event Log.
Configuração
- Acesso à API do Salesforce: O perfil do seu usuário no Salesforce deve ter a permissão 'API Enabled' para utilizar ferramentas como o Workbench.
- Permissões de Objetos: Você precisa de, pelo menos, acesso de leitura aos seguintes objetos do Salesforce: LLC_BI__Loan__c, LLC_BI__Loan__cHistory, Account e User.
- Rastreamento de Histórico de Campos: O Rastreamento de Histórico de Campos deve estar ativado na Configuração do Salesforce para os campos principais do objeto Loan, especialmente LLC_BI__Stage__c e LLC_BI__Status__c. Sem isso, a maioria das atividades não será capturada.
- Intervalo de Datas: A consulta inclui espaços reservados para datas de início e fim (
'YYYY-MM-DDTHH:MM:SSZ'). Para uma análise inicial, recomendamos um período de 3 a 6 meses para equilibrar o volume de dados e a geração de insights. Em ambientes de altíssimo volume, considere começar com um período mais curto. - Nomes de Estágio e Status: A consulta utiliza espaços reservados como
'[Underwriting Stage Name]'e'[Declined Stage Name]'. Você deve consultar o administrador do sistema nCino para obter os nomes exatos da API para os estágios e status usados no seu processo de originação de empréstimos e atualizar a consulta adequadamente.
a Consulta de Exemplo sql
SELECT
Loan.Name AS LoanApplicationId,
'Loan Application Created' AS ActivityName,
Loan.CreatedDate AS EventTime,
Loan.LastModifiedDate AS EventEndTime,
Loan.Owner.Name AS AssignedUser,
Loan.LLC_BI__lookupKey__c AS AssignedDepartment, -- Or another relevant department field
Loan.LLC_BI__Status__c AS DecisionOutcome,
Loan.LLC_BI__Product_Line__c AS LoanProductType,
Loan.LLC_BI__Amount__c AS LoanAmount,
Loan.LLC_BI__Application_Channel__c AS ApplicationChannel, -- Placeholder for custom channel field
'nCino' AS SourceSystemName,
SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__c Loan
WHERE Loan.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND Loan.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Initial Review Performed' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.NewValue = '[Initial Review Stage Name]'
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Supporting Documents Requested' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.NewValue = '[Document Collection Stage Name]'
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Supporting Documents Received' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.OldValue = '[Document Collection Stage Name]' AND h.NewValue != '[Document Collection Stage Name]'
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Credit Check Completed' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.NewValue = '[Credit Check Stage Name]'
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SZZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Underwriting Commenced' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.NewValue = '[Underwriting Stage Name]'
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Risk Assessment Performed' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Risk_Rating__c' AND h.NewValue != NULL
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Underwriting Completed' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.OldValue = '[Underwriting Stage Name]'
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Loan Decision Rendered' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.NewValue IN ('[Approved Stage Name]', '[Declined Stage Name]')
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Loan Offer Generated' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.NewValue = '[Offer Generated Stage Name]'
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Loan Offer Accepted' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.NewValue = '[Offer Accepted Stage Name]'
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Loan Agreement Signed' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.NewValue = '[Closing Stage Name]'
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Funds Disbursed' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.NewValue = '[Booked Stage Name]'
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Loan Declined' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.NewValue = '[Declined Stage Name]'
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ
UNION ALL
SELECT
Parent.Name AS LoanApplicationId,
'Application Withdrawn' AS ActivityName,
h.CreatedDate AS EventTime,
NULL AS EventEndTime,
h.CreatedBy.Name AS AssignedUser,
Parent.LLC_BI__lookupKey__c AS AssignedDepartment,
Parent.LLC_BI__Status__c AS DecisionOutcome,
Parent.LLC_BI__Product_Line__c AS LoanProductType,
Parent.LLC_BI__Amount__c AS LoanAmount,
Parent.LLC_BI__Application_Channel__c AS ApplicationChannel,
'nCino' AS SourceSystemName,
Parent.SystemModstamp AS LastDataUpdateTimestamp
FROM LLC_BI__Loan__cHistory h
WHERE h.Field = 'LLC_BI__Stage__c' AND h.NewValue = '[Withdrawn Stage Name]'
AND h.CreatedDate >= YYYY-MM-DDTHH:MM:SSZ AND h.CreatedDate <= YYYY-MM-DDTHH:MM:SSZ