<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Материалы в категории: Разработка – CreatikSoft</title>
	<atom:link href="https://creatiksoft.ru/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>https://creatiksoft.ru</link>
	<description>Центр разработки программного обеспечения</description>
	<lastBuildDate>Wed, 21 May 2025 07:10:09 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://creatiksoft.ru/wp-content/uploads/2023/09/cropped-1qqq-150x150.png</url>
	<title>Материалы в категории: Разработка – CreatikSoft</title>
	<link>https://creatiksoft.ru</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Трансформация финансовой индустрии с помощью Больших данных</title>
		<link>https://creatiksoft.ru/blog/transforming-the-financial-industry-with-big-data/</link>
		
		<dc:creator><![CDATA[Dmitry Barabanov]]></dc:creator>
		<pubDate>Tue, 12 Dec 2023 07:18:47 +0000</pubDate>
				<category><![CDATA[Разработка]]></category>
		<guid isPermaLink="false">https://creatiksoft.ru/?p=6893</guid>

					<description><![CDATA[<p>Трансформация финансовой индустрии с помощью Больших данных В эпоху цифровых технологий и гиперсоединенности большие данные (big data) и аналитика стали двигателем перемен в мире финансов. Взрывной рост объема данных, доступных финансовым учреждениям, создал уникальные возможности для анализа и понимания рынка, потребительских предпочтений и поведения клиентов. В этой статье мы рассмотрим, как большие данные и аналитика трансформируют финансовую индустрию и как разработчики могут использовать эти данные для улучшения своих продуктов и услуг. 1. Понимание Клиентов Большие данные позволяют финансовым учреждениям анализировать миллионы транзакций и взаимодействий клиентов. Алгоритмы машинного обучения позволяют выявлять тенденции в поведении клиентов, предсказывать их потребности и предоставлять персонализированные рекомендации и продукты. 2. Риск-Менеджмент Сложные алгоритмы анализа больших данных могут помочь в прогнозировании рисков и предотвращении мошенничества. Путем анализа транзакций и выявления аномалий можно оперативно реагировать на потенциальные угрозы безопасности и минимизировать убытки. 3. Улучшение Кредитного Скоринга Большие данные позволяют создавать более точные модели кредитного скоринга. Анализируя разнообразные данные, начиная от истории платежей до активности в социальных сетях, финансовые учреждения могут более точно определить кредитоспособность заемщика. 4. Автоматизированные Инвестиции Большие данные позволяют создавать алгоритмы для автоматизированных инвестиций. Системы могут анализировать множество факторов, предсказывать тенденции на рынке и автоматически ребалансировать инвестиционные портфели, обеспечивая оптимальный доход и минимизацию рисков. 5. Создание Инновационных Продуктов Большие данные могут служить основой для создания инновационных продуктов и услуг. Анализируя данные о потребительском поведении и предпочтениях, финансовые учреждения могут разрабатывать новые продукты, которые точно соответствуют потребностям клиентов. Заключение Большие данные и аналитика стали неотъемлемой частью финансовой индустрии. Они позволяют финансовым учреждениям создавать более эффективные и инновационные продукты, улучшать обслуживание клиентов и минимизировать риски. Для разработчиков это означает огромные возможности для создания новых решений, основанных на анализе больших данных, что поможет им оставаться на переднем крае технологических инноваций в финансовой сфере. Предыдущая записьСледующая запись</p>
<p>The post <a href="https://creatiksoft.ru/blog/transforming-the-financial-industry-with-big-data/">Трансформация финансовой индустрии с помощью Больших данных</a> first appeared on <a href="https://creatiksoft.ru">CreatikSoft</a>.</p>]]></description>
		
		
		
			</item>
		<item>
		<title>RPA-Оптимизация процессов финансовых операций</title>
		<link>https://creatiksoft.ru/blog/rpa-optimization-of-financial-transaction-processes/</link>
		
		<dc:creator><![CDATA[Dmitry Barabanov]]></dc:creator>
		<pubDate>Tue, 28 Nov 2023 08:10:54 +0000</pubDate>
				<category><![CDATA[Разработка]]></category>
		<guid isPermaLink="false">https://creatiksoft.ru/blog/using-machine-learning-in-algorithmic-trading-copy/</guid>

					<description><![CDATA[<p>RPA-Оптимизация процессов финансовых операций Финансовая индустрия всегда была одним из секторов, который активно внедряет новые технологии для улучшения своей эффективности и точности. В последние годы одной из наиболее важных технологических инноваций стала роботизация процессов, известная как RPA (Robotic Process Automation). Эта технология включает в себя использование программных роботов или ботов для автоматизации повседневных задач, которые раньше выполнялись человеком. В контексте финтеха роботизированные процессы предоставляют огромный потенциал для оптимизации финансовых операций и улучшения клиентского опыта. Преимущества Роботизированных Процессов в ФинТехе: 1. Высокая Точность и ЭффективностьРоботы не устают и не делают ошибок, что обеспечивает высокую точность в выполнении финансовых операций. Они способны обрабатывать огромные объемы данных в режиме реального времени, что позволяет значительно сократить время обработки транзакций. 2. Снижение Затрат:Автоматизация финансовых процессов при помощи роботов позволяет снизить операционные расходы. Уменьшение человеческого вмешательства уменьшает количество ошибок и минимизирует финансовые потери, связанные с неправильными транзакциями. 3. Повышение Клиентской Удовлетворенности:За счет быстрой обработки заявок и точности в исполнении транзакций, клиенты получают более качественное обслуживание. Роботизированные процессы также позволяют создавать персонализированные решения для клиентов, учитывая их индивидуальные потребности и предпочтения. 4. Легкая Интеграция с Существующими Системами:Роботизированные процессы разрабатываются с учетом совместимости с существующими финансовыми системами. Это обеспечивает плавную интеграцию с уже используемыми технологиями, уменьшая необходимость в переходе на новые платформы. 5. Улучшение Контроля и Надзора:Роботизированные системы позволяют легко отслеживать и контролировать выполнение финансовых операций. Это повышает уровень надежности и безопасности, что особенно важно в финансовой сфере. Примеры Применения Роботизированных Процессов в ФинТехе: Автоматизированные Обработчики Платежей:Роботы могут обрабатывать сотни и тысячи платежей в секунду, обеспечивая мгновенную и безошибочную обработку транзакций. Кредитное Скоринг и Одобрение Заявок:Алгоритмы машинного обучения, поддерживаемые роботами, могут быстро анализировать кредитные заявки и определять кредитоспособность заемщиков. Автоматизированные Финансовые Отчеты:Роботы способны собирать и анализировать финансовые данные, составлять отчеты и прогнозы, предоставляя компаниям точные аналитические данные для принятия решений. Управление Инвестициями:Автоматизированные системы могут мониторить рыночные тренды и автоматически реагировать на изменения в реальном времени, оптимизируя инвестиционные портфели. Роботизированные процессы стали ключевым элементом современных финтех-решений, усиливая эффективность и снижая операционные риски. Разработчики финансовых технологий могут внедрять эти технологии, чтобы создавать инновационные и конкурентоспособные продукты, обогащая финансовый мир новыми возможностями и перспективами роста. Предыдущая записьСледующая запись</p>
<p>The post <a href="https://creatiksoft.ru/blog/rpa-optimization-of-financial-transaction-processes/">RPA-Оптимизация процессов финансовых операций</a> first appeared on <a href="https://creatiksoft.ru">CreatikSoft</a>.</p>]]></description>
		
		
		
			</item>
		<item>
		<title>Использование Машинного Обучения в Алгоритмическом Трейдинге</title>
		<link>https://creatiksoft.ru/blog/using-machine-learning-in-algorithmic-trading/</link>
		
		<dc:creator><![CDATA[Dmitry Barabanov]]></dc:creator>
		<pubDate>Tue, 21 Nov 2023 21:48:40 +0000</pubDate>
				<category><![CDATA[Разработка]]></category>
		<guid isPermaLink="false">https://creatiksoft.ru/?p=6296</guid>

					<description><![CDATA[<p>Использование Машинного Обучения в Алгоритмическом Трейдинге Машинное Обучение (ML) может использоваться для анализа и прогнозирования рыночных тенденций и ценных бумаг на основе исторических данных и новостей чтобы помочь инвесторам в принятии более информированных решений, а также в автоматизации анализа больших объемов данных: 1. Обработка и анализ исторических данных: Модели временных рядов: ML модели могут анализировать и моделировать временные ряды ценных бумаг и других финансовых данных. Это позволяет выявлять паттерны, цикличность и тренды, которые могут помочь в прогнозировании будущих цен. Технический анализ: ML модели могут анализировать технические индикаторы, такие как скользящие средние и индикаторы относительной силы, для выявления сигналов покупки или продажи ценных бумаг. 2. Анализ новостей и сентиментов: Анализ новостей: ML может использоваться для автоматического анализа новостей и статей о компаниях и рынках. Это позволяет определять, какие новости могут влиять на цены акций. Анализ сентиментов: ML модели могут анализировать текстовые данные, чтобы определить сентимент (настроение) рынка. Например, анализ социальных медиа и форумов может помочь выявить общее настроение инвесторов. 3. Прогнозирование ценных бумаг: Регрессионный анализ: ML модели могут использовать регрессию для прогнозирования ценных бумаг на основе исторических данных и других переменных, таких как объем торгов или экономические показатели. Сложные алгоритмы: Более сложные ML алгоритмы, такие как нейронные сети, могут использоваться для анализа более сложных паттернов и взаимосвязей в данных. 4. Риск и портфельный анализ: Оценка риска: ML может помочь инвесторам и управляющим активами оценивать риски в портфеле и выявлять потенциальные слабые места. Оптимизация портфеля: ML может использоваться для оптимизации портфельного баланса, чтобы достичь определенных финансовых целей и уровня риска. Отличия ML от других инструментов анализа и прогнозирования рыночных тенденций и ценных бумаг: Критерий Машинное обучение (ML) Технический анализ Фундаментальный анализ Точность Высокая (при правильной настройке и данных) Низкая (основывается на паттернах и индикаторах) Высокая (основан на финансовых показателях) Автоматизация Высокая Средняя Низкая Учет новостей Возможен, но требует анализа текста Нет Нет Адаптивность к рынку Модели могут быть обучены на новых данных Статичен Модели могут быть обновлены, но требуют анализа новых данных Склонность к переобучению Есть риск переобучения Меньше склонен к переобучению Не склонен к переобучению Учет сложных взаимосвязей Возможен Ограничен Возможен Риски использования ML в анализе и прогнозировании рынка: Риск Минимизация риска Ошибки в данных Проводите тщательную предварительную обработку данных, удаляйте или корректируйте аномалии, используйте методы очистки данных. Регулярно обновляйте данные. Переобучение моделей Используйте кросс-валидацию для оценки моделей и определения оптимальных гиперпараметров. Внимательно контролируйте сложность моделей. Обновляйте модели при появлении новых данных. Неожиданные события Разрабатывайте системы мониторинга новостей и событий, которые могут влиять на рынок. Используйте методы адаптации к экстремальным событиям. Временные задержки Используйте быстрые и эффективные методы анализа данных. Периодически обновляйте модели и алгоритмы. Потребность в больших данных Используйте методы выборки и агрегации данных для сокращения объема данных. Используйте более эффективные алгоритмы для анализа больших данных. Участвовали в создании статьи: В итоге, ML представляет собой мощный инструмент для анализа рыночных данных и прогнозирования, особенно в сфере финансов, где большие объемы данных и быстрые изменения требуют более современных и гибких подходов. Однако его успешное применение требует хорошей подготовки, обучения моделей и внимательного мониторинга для предотвращения переобучения. Евгений Степченко, Project Manager Сергей Никитин, Frontend Engineer Софья Королёва, System Analyst Евгений Горбачёв, Software Developer Предыдущая записьСледующая запись Экспресс-консультация 1. Наш специалист свяжется с вами в ближайшее время. 2. В рамках консультации уточним необходимую информацию для анализа вашего проекта. 3. Команда аналитиков и разработчиков подготовят оценку по вашему проекту. Получить консультацию</p>
<p>The post <a href="https://creatiksoft.ru/blog/using-machine-learning-in-algorithmic-trading/">Использование Машинного Обучения в Алгоритмическом Трейдинге</a> first appeared on <a href="https://creatiksoft.ru">CreatikSoft</a>.</p>]]></description>
		
		
		
			</item>
		<item>
		<title>Прогнозирования структуры спроса на кредитные продукты с помощью машинного обучения</title>
		<link>https://creatiksoft.ru/blog/forecasting-the-structure-of-demand-for-credit-products-using-machine-learning/</link>
		
		<dc:creator><![CDATA[Dmitry Barabanov]]></dc:creator>
		<pubDate>Wed, 15 Nov 2023 18:57:59 +0000</pubDate>
				<category><![CDATA[Разработка]]></category>
		<guid isPermaLink="false">https://creatiksoft.ru/?p=5719</guid>

					<description><![CDATA[<p>Прогнозирования структуры спроса на кредитные продукты с помощью машинного обучения Машинное обучение (ML) позволяет проводить анализ больших объемов данных о клиентах, чтобы выявить паттерны и тенденции, которые могут быть полезными для принятия бизнес-решений. Например, чтобы это нужно банкам, чтобы прогнозировать поведение существующих клиентов для предоставления более крупных или дополнительных кредитов. Прогнозирование поведения клиентов ML-модель, обученная на исторических данных, может использоваться для делегирования решения о предоставлении дополнительных кредитов на основе данных о текущих клиентах. Прогнозирование поведения клиентов, также известное как клиентский анализ или customer analytics, является одним из ключевых сценариев использования машинного обучения в финтех компаниях. Прогноз (inference) с использованием ML-моделей позволяет предсказывать будущее клиентское поведение на основе доступных данных. Это обеспечивает компаниям более глубокое понимание клиентов и позволяет им принимать более обоснованные решения в отношении продуктов, маркетинга и обслуживания клиентов. Этапы построения прогноза Сегментация клиентов на основе их финансового поведения и кредитной истории. Это позволяет определить клиентов, которые могли бы быть потенциально заинтересованы в более крупных кредитах. Оценка кредитоспособности клиентов на более высокие суммы чтобы определить, кому можно предоставить дополнительные кредиты без существенного риска. Персонализированные предложения предложения для каждого клиента, учитывая их финансовую ситуацию, историю и потребности. Это может включать в себя предложения о более выгодных условиях кредитования. Риск-моделирование предоставления более крупных кредитов. Это помогает финансовым институтам определить, какие клиенты имеют наименьший риск несоблюдения обязательств. Оценка жизненного цикла клиента и предсказание потенциальные потребности в более крупных кредитах в будущем. Области прогнозирования поведения клиентов Рекомендации продуктов и услуг: Модели машинного обучения могут анализировать исторические данные о клиентах, их предпочтениях и действиях, чтобы предоставить персонализированные рекомендации о продуктах и услугах. Это помогает улучшить клиентский опыт и увеличить вероятность совершения сделок. Прогнозирование оттока: Модели машинного обучения могут предсказывать, какие клиенты могут уйти, и позволять компаниям предпринимать меры для их удержания. Оценка кредитоспособности и риска: ML-модели могут анализировать клиентские данные для определения их кредитоспособности и риска невозврата кредитов. Динамическая ценообразование: Модели машинного обучения могут использоваться для динамического установления цен на продукты и услуги, учитывая данные о клиентах и рынке. Поведенческий анализ и обнаружение аномалий: Машинное обучение может помочь в выявлении аномального клиентского поведения, которое может свидетельствовать о мошенничестве или проблемах с безопасностью. Инструменты реализации прогнозирования: AWS SageMaker: SageMaker &#8212; это полноценный сервис для разработки, обучения и инференса моделей машинного обучения на AWS. Вы можете создать свою модель, обучить ее в SageMaker, а затем развернуть модель в SageMaker Endpoint для инференса. Этот сервис предоставляет гибкий и масштабируемый способ управления вашими моделями. AWS Lambda: Lambda &#8212; это служба вычислений без серверов, которая может быть использована для создания инференс-подобных функций. Вы можете создать функцию Lambda, которая принимает вводные данные, передает их модели машинного обучения и возвращает прогнозы. AWS EC2: Amazon Elastic Compute Cloud (EC2) предоставляет виртуальные серверы, которые могут быть использованы для развертывания моделей машинного обучения и предоставления инференса. Вы можете выбрать экземпляры EC2, которые соответствуют вашим вычислительным требованиям. Docker и Kubernetes: Вы также можете использовать контейнеризацию с Docker и оркестрацию с Kubernetes для развертывания моделей машинного обучения в контейнерах. Это обеспечивает гибкость и масштабируемость при инференсе. Инструменты Python: Для более простых сценариев инференса вы можете использовать библиотеки Python, такие как scikit-learn или TensorFlow, чтобы загрузить обученную модель и выполнить предсказания на новых данных. Риски внедрения Риск Описание Способы смягчения риска Риск конфиденциальности Нарушение конфиденциальности клиентских данных и информации Обеспечение сильных мер безопасности данных, шифрования и соответствия законодательству о защите данных. Важно соблюдать нормативные требования и нормы GDPR (Общий регламент по защите данных). Риск смещения Модель может быть предвзятой или смещенной в данных, что может привести к неточным или предвзятым прогнозам. Регулярная проверка и настройка моделей, балансировка данных, использование справедливых и объективных критериев для оценки клиентского поведения. Риск недостаточной интерпретируемости Модели машинного обучения могут быть сложными и труднопонимаемыми, что делает сложным объяснение принимаемых решений клиентам и регуляторам. Использование более интерпретируемых моделей или методов для объяснения принимаемых решений. Риск переобучения Переобучение моделей на исторических данных может привести к плохому обобщению на новые данные. Регулярное обновление и переобучение моделей на актуальных данных, а также тестирование моделей на новых данных. Риск увеличения масштаба данных Обработка больших объемов данных может потребовать значительных ресурсов и увеличить расходы. Планирование инфраструктуры и вычислительных ресурсов, а также оптимизация моделей для работы с большими объемами данных. Риск изменения рыночных условий Рыночные условия и клиентское поведение могут меняться со временем, что делает предсказания менее точными. Регулярное обновление и переобучение моделей, а также мониторинг рыночных изменений и их влияния на модели. Смягчение рисков связано с осторожным планированием, мониторингом и обновлением моделей машинного обучения, а также строгим соблюдением законодательства о защите данных и регулятивными требованиями. Однако важно учесть, что прогнозирование на основе обучающей выборки (inference) необходимо регулярно обновлять, так как ситуация клиентов может меняться со временем. Участвовали в создании статьи: Евгений Степченко, Project Manager Сергей Никитин, Frontend Engineer Софья Королёва, System Analyst Евгений Горбачёв, Software Developer Предыдущая записьСледующая запись Экспресс-консультация 1. Наш специалист свяжется с вами в ближайшее время. 2. В рамках консультации уточним необходимую информацию для анализа вашего проекта. 3. Команда аналитиков и разработчиков подготовят оценку по вашему проекту. Получить консультацию</p>
<p>The post <a href="https://creatiksoft.ru/blog/forecasting-the-structure-of-demand-for-credit-products-using-machine-learning/">Прогнозирования структуры спроса на кредитные продукты с помощью машинного обучения</a> first appeared on <a href="https://creatiksoft.ru">CreatikSoft</a>.</p>]]></description>
		
		
		
			</item>
		<item>
		<title>Автоматизация выплат с помощью машинного обучения и рикардианских контрактов</title>
		<link>https://creatiksoft.ru/blog/automation-of-payments-using-machine-learning-and-ricardian-contracts/</link>
		
		<dc:creator><![CDATA[Dmitry Barabanov]]></dc:creator>
		<pubDate>Tue, 24 Oct 2023 18:07:40 +0000</pubDate>
				<category><![CDATA[Разработка]]></category>
		<guid isPermaLink="false">https://creatiksoft.ru/?p=4643</guid>

					<description><![CDATA[<p>Автоматизация выплат с помощью машинного обучения и рикардианских контрактов Рикардианские контракты (Ricardian contract) &#8212; это реализация электронного документооборота на стыке юриспруденции и финтеха. Это цифровые двойники юридических договоров в программном коде, с автоматическим выполнением платежей, в соответствии с условиями контракта. Как автоматизируются платежи через рикардианские контракты? Автоматизация платежей через рикардианские контракты может быть достигнута с использованием смарт-контрактов, которые интегрируются с рикардианскими контрактами на блокчейне Hyperledger. Процесс автоматизации платежей: Создание рикардианского контракта: Сначала создается контракт, который содержит все условия и правила, связанные с будущими платежами. Этот контракт может быть описан на естественном языке и включать в себя необходимые юридические условия. Машинное разбор и создание смарт-контракта: Следующим шагом является создание машинно-читаемой версии контракта. Это может включать в себя преобразование условий контракта в код смарт-контракта, который может быть выполнен на блокчейне. Этот смарт-контракт определяет логику платежей и действий, которые должны быть выполнены при наступлении определенных условий. Интеграция с биржей, блокчейном или учётной системой: Происходит интеграция смарт-контракта для надежной регистрации платежей чтобы их было невозможно измененить. Мониторинг условий контракта: Смарт-контракт постоянно мониторит выполнение условий рикардианского контракта. Это может включать в себя мониторинг времени, достижения определенных событий, изменения цен или других факторов, определенных в контракте. Инициирование и автоматическое исполнение платежей: Когда смарт-контракт обнаруживает выполнение заданных условий, он инициирует автоматический процесс выплаты. Это может включать в себя перевод криптовалюты, перевод денег на банковский счет или другие формы оплаты в соответствии с условиями контракта. Уведомления и отчетность: Владельцы контракта могут получать уведомления о выполнении платежей и других действиях, связанных с контрактом. Также может предоставляться отчетность о выполнении контракта. Аудит и безопасность: Важно обеспечить безопасность и прозрачность процесса автоматических платежей. Это может включать в себя возможность аудита транзакций и проверку безопасности смарт-контрактов. Обеспечение соответствия законодательству и регуляциям: При автоматизации платежей через Рикардианские контракты необходимо уделять внимание соблюдению местных законодательных требований и регуляций, особенно в области финансов и налогообложения. Как применяется машинное обучение в рикардианских контрактах? Машинное обучение (ML) &#8212; дополняет рикардианские контракты следующим образом: Автоматизация анализа контрактов: ML может быть использовано для автоматического анализа и интерпретации контрактов, включая их юридические и финансовые аспекты. Это позволяет ускорить процесс создания рикардианских контрактов и обеспечить их правильное создание и выполнение. Мониторинг выполнения контрактов: ML может быть применено для мониторинга выполнения контрактов в реальном времени. Модели могут автоматически проверять выполнение условий контракта и предоставлять предупреждения или автоматические действия в случае отклонений. Прогнозирование рисков: ML помогает анализировать исторические данные контрактов и другие внешние факторы для прогнозирования рисков, связанных с контрактами. Это может помочь сторонам сделать более информированные решения и адаптировать условия контракта. Автоматизация рутинных задач: ML может автоматизировать рутинные задачи, такие как сбор и обработка информации, уведомления сторон о событиях и выполнении условий контракта, а также подготовку отчетов. Персонализированные контракты: ML может использоваться для создания персонализированных контрактов, учитывая предпочтения и историю сторон. Это может улучшить удовлетворение клиентов и эффективность контрактов. Оптимизация исполнения контрактов: ML может оптимизировать исполнение контрактов, принимая во внимание различные параметры, такие как стоимость, сроки, ресурсы и другие факторы. Системы управления рисками: Машинное обучение может автоматически оценивать риски, связанные с различными аспектами контракта, и предоставлять рекомендации по снижению рисков. Автоматическое разрешение споров: ML может использоваться для автоматического разрешения споров, анализируя факты и условия контракта, чтобы определить, какие действия следует предпринять. Улучшенная безопасность: ML может помочь в обнаружении потенциальных угроз и уязвимостей в контрактах, что помогает в повышении безопасности контрактов. Улучшенная обработка данных: ML может помочь в обработке и анализе больших объемов данных, что особенно важно при работе с большим количеством контрактов. Анализ эффективности контрактов: ML может использоваться для анализа того, какие типы контрактов наиболее эффективны и приносят наибольшую прибыль. Интеграция с другими системами: ML может помочь в интеграции рикардианских контрактов с другими системами, такими как 1С:Предприятие, CRM и другие. Использование ML в рикардианских контрактах может значительно улучшить их эффективность и уровень автоматизации, что особенно важно в сферах, где контракты играют важную роль, таких как финансы, логистика, и управление ресурсами. Участвовали в создании статьи: Евгений Степченко, Project Manager Сергей Никитин, Frontend Engineer Софья Королёва, System Analyst Евгений Горбачёв, Software Developer Предыдущая записьСледующая запись Экспресс-консультация 1. Наш специалист свяжется с вами в ближайшее время. 2. В рамках консультации уточним необходимую информацию для анализа вашего проекта. 3. Команда аналитиков и разработчиков подготовят оценку по вашему проекту. Получить консультацию</p>
<p>The post <a href="https://creatiksoft.ru/blog/automation-of-payments-using-machine-learning-and-ricardian-contracts/">Автоматизация выплат с помощью машинного обучения и рикардианских контрактов</a> first appeared on <a href="https://creatiksoft.ru">CreatikSoft</a>.</p>]]></description>
		
		
		
			</item>
		<item>
		<title>Оптимизация бухгалтерского учёта с помощью машинного обучения</title>
		<link>https://creatiksoft.ru/blog/optimizing-accounting-using-machine-learning/</link>
		
		<dc:creator><![CDATA[Dmitry Barabanov]]></dc:creator>
		<pubDate>Sat, 21 Oct 2023 11:58:42 +0000</pubDate>
				<category><![CDATA[Разработка]]></category>
		<guid isPermaLink="false">https://creatiksoft.ru/?p=4409</guid>

					<description><![CDATA[<p>Оптимизация бухгалтерского учёта с помощью машинного обучения Технология машинного обучение (ML) может быть использована в бухгалтерском учёте для обучения, распознавания и классификации документы на основе их содержания. Это поможет в автоматическом анализе счетов-фактур и выявлении тех, которые подпадают под требования для возврата НДС. Ниже описание преимуществ и пример расчёта окупаемости инвестиций проекта по внедрению ML. Как использовать ML в бухгалтерии? Автоматизация бухгалтерских операций: ML могут использоваться для автоматической обработки бухгалтерских документов, таких как счета-фактуры и накладные. Это может включать в себя распознавание текста и данных с документов, автоматическое создание проводок в системе бухгалтерии и контроль соответствия данных. Прогнозирование и анализ финансов: ML может помочь в прогнозировании финансовых результатов, определении трендов и выявлении аномалий в данных. Это может быть полезно для бюджетирования, финансового анализа и управления ликвидностью. Контроль НДС и возврат НДС: ML можно использовать для автоматизации процесса контроля и анализа счетов-фактур с целью возврата НДС. Это может включать в себя проверку правильности расчета НДС, контроль сроков предоставления документов и составление заявлений на возврат. Управление клиентскими счетами: ML может помочь в автоматическом управлении клиентскими счетами, включая определение кредитоспособности клиентов, мониторинг задолженностей и уведомления о просрочках. Интеграция с 1С:Предприятие требует разработки и настройки интеграционных решений с которыми мы вам можем помочь (ссылка на Contact Us). 1С предоставляет API и средства для интеграции с другими системами, что позволяет передавать данные между 1С и ML-платформами. Ценности применения машинного обучения в бизнесе: Сокращение операционных затрат: Автоматизация рутинных бухгалтерских задач, таких как обработка счетов-фактур и создание проводок, может снизить необходимость вручную выполнять эти задачи. Это может уменьшить нагрузку на бухгалтеров и сократить операционные затраты на персонал. Повышение точности: ML могут помочь в предотвращении ошибок в бухгалтерии, которые могут привести к штрафам и потере денег. Точные и надежные данные снижают риски. Оптимизация налогов: ML могут помочь в идентификации возможностей для оптимизации налоговых обязательств, включая возврат НДС, что может привести к снижению налоговых расходов. Улучшение управленческого анализа: ML могут помочь в анализе финансовых данных, выявлении трендов и паттернов, что позволяет принимать более информированные управленческие решения. Экономия времени: Благодаря автоматизации, бухгалтеры могут освободить больше времени для стратегической работы и взаимодействия с клиентами. Снижение рисков: ML могут помочь в обнаружении аномалий и мошенничества, что снижает риски для бизнеса. Пример расчета ROI на основе увеличения эффективности бухгалтерских операций с использованием ML: Предположения: Годовые операционные расходы на бухгалтерское обслуживание до внедрения ML составляют 2 000 000 рублей. В результате внедрения ML удалось снизить операционные расходы на 20% за год. Себестоимость внедрения и обучения ML составила 500 000 рублей. Период окупаемости проекта составил 12 месяцев. Шаги расчета ROI: 1. Сначала определим снижение операционных расходов в результате внедрения ML: Снижение расходов = Годовые расходы до внедрения &#8212; Годовые расходы после внедрения Снижение расходов = 2 000 000 рублей &#8212; (2 000 000 рублей * 20%) = 2 000 000 рублей &#8212; 400 000 рублей = 1 600 000 рублей 2. Затем определим общие затраты на проект: Общие затраты = Себестоимость внедрения ML Общие затраты = 500 000 рублей 3. Теперь мы можем рассчитать чистую прибыль, которая была получена благодаря внедрению ML: Чистая прибыль = Снижение расходов &#8212; Общие затраты Чистая прибыль = 1 600 000 рублей &#8212; 500 000 рублей = 1 100 000 рублей 4. Наконец, расчет ROI: ROI = (Чистая прибыль / Общие затраты) * 100% ROI = (1 100 000 рублей / 500 000 рублей) * 100% = 220% Таким образом, ROI от внедрения ML в бухгалтерскую деятельность в этом примере составляет 220%. Это означает, что каждый рубль, вложенный в проект, приносит 2,2 рубля прибыли. Участвовали в создании статьи: Евгений Степченко, Project Manager Сергей Никитин, Frontend Engineer Софья Королёва, System Analyst Евгений Горбачёв, Software Developer Предыдущая записьСледующая запись Экспресс-консультация 1. Наш специалист свяжется с вами в ближайшее время. 2. В рамках консультации уточним необходимую информацию для анализа вашего проекта. 3. Команда аналитиков и разработчиков подготовят оценку по вашему проекту. Получить консультацию</p>
<p>The post <a href="https://creatiksoft.ru/blog/optimizing-accounting-using-machine-learning/">Оптимизация бухгалтерского учёта с помощью машинного обучения</a> first appeared on <a href="https://creatiksoft.ru">CreatikSoft</a>.</p>]]></description>
		
		
		
			</item>
		<item>
		<title>Хабр: Чему может научить коммит в Angular</title>
		<link>https://creatiksoft.ru/blog/habr-angular-commit-lessons/</link>
		
		<dc:creator><![CDATA[Dmitry Barabanov]]></dc:creator>
		<pubDate>Tue, 10 Mar 2020 11:23:00 +0000</pubDate>
				<category><![CDATA[Разработка]]></category>
		<guid isPermaLink="false">https://creatiksoft.ru/?p=5944</guid>

					<description><![CDATA[<p>Хабр: Чему может научить коммит в Angular Все знают про Angular, некоторые пользуются, но совсем немногие осознают: Angular – это open source. Значит, туда можно вносить нужные тебе изменения. По крайней мере, попробовать. Рассказываем на Хабре, как наш фронтенд-разработчик стал контрибьютором в Angular. Читать на Хабре Предыдущая записьСледующая запись Экспресс-консультация 1. Наш специалист свяжется с вами в ближайшее время. 2. В рамках консультации уточним необходимую информацию для анализа вашего проекта. 3. Команда аналитиков и разработчиков подготовят оценку по вашему проекту. Получить консультацию</p>
<p>The post <a href="https://creatiksoft.ru/blog/habr-angular-commit-lessons/">Хабр: Чему может научить коммит в Angular</a> first appeared on <a href="https://creatiksoft.ru">CreatikSoft</a>.</p>]]></description>
		
		
		
			</item>
		<item>
		<title>English: Redux и ООП</title>
		<link>https://creatiksoft.ru/blog/redux-oop/</link>
		
		<dc:creator><![CDATA[Dmitry Barabanov]]></dc:creator>
		<pubDate>Mon, 09 Sep 2019 11:38:00 +0000</pubDate>
				<category><![CDATA[Разработка]]></category>
		<guid isPermaLink="false">https://creatiksoft.ru/?p=5964</guid>

					<description><![CDATA[<p>English: Redux и ООП Наши статьи живут не только тут в блоге. Например, наши посты есть на Medium. Чтобы обсуждать насущное с англо-говорящим community, дополнительно тренироваться в письменном техническом английском и практиковать guilty pleasure &#171;смотрите, мне ставят лайки иностранцы&#187;. Из недавнего: читайте статью об ООП для Redux от Сергея Никитина, нашего Frontend-разработчика. Предыдущая записьСледующая запись Экспресс-консультация 1. Наш специалист свяжется с вами в ближайшее время. 2. В рамках консультации уточним необходимую информацию для анализа вашего проекта. 3. Команда аналитиков и разработчиков подготовят оценку по вашему проекту. Получить консультацию</p>
<p>The post <a href="https://creatiksoft.ru/blog/redux-oop/">English: Redux и ООП</a> first appeared on <a href="https://creatiksoft.ru">CreatikSoft</a>.</p>]]></description>
		
		
		
			</item>
		<item>
		<title>Обновляем библиотеки на фронтенде за 24 часа &#8212; на самом деле за 120 дней</title>
		<link>https://creatiksoft.ru/blog/update-libs-on-frontend-in-one-day/</link>
		
		<dc:creator><![CDATA[Dmitry Barabanov]]></dc:creator>
		<pubDate>Fri, 09 Nov 2018 11:54:00 +0000</pubDate>
				<category><![CDATA[Разработка]]></category>
		<guid isPermaLink="false">https://creatiksoft.ru/?p=5984</guid>

					<description><![CDATA[<p>Обновляем библиотеки на фронтенде за 24 часа &#8212; на самом деле за 120 дней В один прекрасный осенний день, я решил, что пора. Пора обновить Lodash до 4 версии у нас в проекте. У нас в компании я периодически слышу один и тот же холивар. Наступает такой момент, когда один из моих коллег встает и говорит: “Смотрите, там React 16 / Typescript 3 / что-то ещё — вышел с кучей крутых фишек! Давайте переезжать?”. И тут весь офис делится на два лагеря: на тех, кто говорит “у нас миллионы строк кода и это всё как-то работает; обновить нереально!” и тех, кто говорит “ребята, ну мы точно должны это сделать!”. У каждой стороны есть аргументы в свою пользу. Эта дискуссия может продолжаться вечно, у нас так и происходит. Забавный факт: в нашей компании такое происходит чаще всего среди фронтенд-разработчиков. Бекенд-команды в этом плане поступают проще. “Надо PostgreSQL обновить с 9 на 10 версию? Надо. Тогда давайте запланируем миграцию и создадим задачу на это”. На фронтенде всё сложнее. Возможно, потому что у нас в одном репозитории ~350 приложений, которые были написаны разными командами из разных стран в разное время. Обновив какую-то библиотеку, ты можешь даже не заметить, как сломал что-то. Нужен герой, нужен человек, который взял бы на себя все эти заботы и ловким движением руки сделал всем хорошо. К счастью, у нас есть несколько таких людей, иногда эту роль принимаю и я. Топ-5 аргументов, чтобы всё бросить и пойти обновлять библиотеки У меня, конечно же, есть свои аргументы в пользу того, что мы должны держать стек зависимостей максимально свежим. Я не думаю, что нужно обновлять все библиотеки до последних версий во что бы ты не стало. Но иногда делать это всё же стоит, и вот почему: + Новые возможности библиотеки: здесь и действительно новые вещи, и приведение старого API к консистентному виду, а также внутренний рефакторинг библиотеки. + Закрытые уязвимости и баги: никто из нас не пишет идеальный код, и все разработчики стараются закрывать найденные баги. Если нет, то появляется вопрос в целесообразности использования той или иной библиотеки, ведь так?. Вы можете сказать мне, что с новой версией появятся новые баги, и будете правы. Только всем известные проблемы, которым уже год и еще немного — уже знают все подряд, а новым багам еще предстоит получить свою долю внимания. + Разработчики не любят работать со старыми библиотеками: предложите кандидату на вакансию писать на AngularJS 1.x в 2018 году и посмотрите реакцию. Ну, или спросите меня и посмотрите мою. + Вырваться из рутины: ты делаешь каждый день одинаковые задачи? Переключись и сделай что-то необычное для себя и для общего дела! + Сделать работу в проекте немного удобнее для команды: все люди делают ошибки, и если ты что-то сломаешь — все поймут. Ты всегда можешь всё исправить, откатить изменения. Но если ты справишься —- о тебе точно будут говорить с уважением, а может даже отправят немного bounty points. Вот так просто, я пришёл к мысли о том, чтобы обновить Lodash до 4 версии. Хотя стойте. Не обновить! Дело в том, что у нас в сборке объявлены две версии: 3 и 4. Так что я решил, что пора… отрефакторить репозиторий и удалить Lodash@3 как зависимость в проекте. Что именно обновляем Все знают, для чего нужен Lodash. Эта библиотека состоит из набора методов, которые требуются программисту ежедневно: определение типа переменной, приведение строк к различным регистрам, фильтрация, сортировка и преобразование коллекций, работа с функциями и многое другое. После того, как в свет вышел стандарт JS ES6, многие вещи появились в стандарте языка. Но важная особенность Lodash в том, что все методы в библиотеке safe. То есть они гарантируют, что если переменная не будет объявлена — всё будет хорошо и код продолжит свое выполнение. Итак, я пошел читать, что там по изменениям. Оказалось, что ребята постарались на славу: добавили много нового (что меня не особо интересовало). Но самое главное — они изменили сигнатуры существующих методов, что переводило задачу миграции из разряда “изменить пару строчек и радоваться жизни” до “а впрочем, не очень-то и хотелось”. Но отступать было некуда, я же на весь офис сказал, что справлюсь за денёк. В день, конечно же, я не уложился. Мигрируем Перед тем, как начать, один мой коллега предположил, что возможно получится найти скрипт для миграции. “Они явно позаботились о разработчиках” — согласился я и полез на https://github.com/jfmengels/lodash-codemods. (Codemods — это платформа от компании Facebook для трансформации кода, в основе которой лежит генерация и преобразование абстрактных синтаксических деревьев. Например, Prettier с помощью AST форматирует код в одном стиле, а Babel преобразует код таким образом, чтобы он мог выполняться в старых браузерах) Отлично! Что-то есть. Запускаем: ~600 файлов изменено. Пробежавшись по изменениям глазами, вижу, что всё не так радужно, как хотелось бы. Много ложных преобразований, изменений явно мало и стойкое предчувствие, что надо брать всё в свои руки глаза руки. Запоминаем полезные преобразования и начинаем. Я начал с того, что разделил изменения на те, где ты можешь просто переименовать метод, и на те, где тебе придется подумать, поменять местами аргументы вызова или еще какие-либо действия. Далее я написал скрипт, который сначала ищет файлы с подключением библиотеки, потом в этом списке ищет вызовы Lodash-методов. Для методов, которые можно переименовать — переименовываем. Для тех, над которыми надо подумать — складываем в отдельный список имя модуля и строку вызова для того, чтобы я глазами понял, что происходит и принял правильное решение. Методы, которые остались неизменными — игнорируем. Небольшая сложность возникла c _. — я искал такие вхождения. Но библиотека позволяет создать цепочку методов с помощью _(). Для этой же цели есть вызов _.chain() и я не знаю, с какой целью нужно использовать первый вариант и зачем он сохранился в библиотеке. Это доставило немного неудобств, пришлось искать еще и такие специфичные цепочки (так как я изначально не знал об этом и закладывался только на основной вариант). Запускаем: ~1000 файлов в сумме для изменений. Не так уж и плохо, да?! Просмотрев глазами автоматически примененные изменения, я обнаружил несколько ложных результатов, но в целом было хорошо. Некоторые методы были просто переименованы, например: `_.each` в `_.forEach` `_.eq` в `_.isEqual` `_.findWhere` стал частью `_.find` `_.pluck` стал частью `_.map` `_.where` стал часть `_.filter` (Переименовывать легко.</p>
<p>The post <a href="https://creatiksoft.ru/blog/update-libs-on-frontend-in-one-day/">Обновляем библиотеки на фронтенде за 24 часа — на самом деле за 120 дней</a> first appeared on <a href="https://creatiksoft.ru">CreatikSoft</a>.</p>]]></description>
		
		
		
			</item>
		<item>
		<title>Расследование дела о наследовании</title>
		<link>https://creatiksoft.ru/blog/investigating-javascript-inheritance/</link>
		
		<dc:creator><![CDATA[Dmitry Barabanov]]></dc:creator>
		<pubDate>Mon, 08 Oct 2018 12:52:00 +0000</pubDate>
				<category><![CDATA[Разработка]]></category>
		<guid isPermaLink="false">https://creatiksoft.ru/?p=6003</guid>

					<description><![CDATA[<p>Расследование дела о наследовании &#171;Улики способны превращаться в привычку. К примеру, находишь ты на месте преступления деревянную ногу, шелковую балетную тапочку и перышко, и в голове мгновенно выстраивается элегантная теория об одноногом артисте балета и постановке &#171;Куриного озера&#187;.&#187; &#8212;Терри Пратчетт В детстве я прочел много книг про частных детективов и почти ни одной про программистов (книга “Понедельник начинается в субботу” — определённо про программистов). Тем не менее, когда я вырос, то стал работать не частным детективом, а программистом, хотя страсть к расследованиям до сих пор со мной. И как оказалось, в программировании всегда найдется работа для частного детектива. Одно из самых захватывающих расследований, в которых мне удалось недавно поучаствовать — мрачная тайна, окружающая тему наследования в JavaScript. Случайно затрагивая эту тему в разговорах, я стал замечать странную, иногда даже болезненную реакцию на мои, вполне безобидные вопросы. И где бы не происходил разговор — в уютных барах или на собеседованиях, на крупных курортах или в крошечном охотничьем домике в глуши сибирской тайги, каждый раз люди в ответ то нервно смеялись, то отводили глаза, мямлили что-то слобовразумительное или, наоборот, замахивались на меня тяжелыми предметами. Программист во мне говорил — просто ты не умеешь общаться с людьми, частный же детектив шептал — тут что-то нечисто! Они что-то недоговаривают… Здесь есть тайна! А, раз есть тайна, значит, есть работа для частного детектива! Пора открывать дело №&#8230; “Что не так с наследованием?”. Время искать улики и тянуть за все ниточки. Какие же зацепки мы имеем? Время преступления — началось это достаточно давно, лет 20 назад. Место тоже известно — JavaScript. Но JavaScript это слишком обобщенно. Уточним, что же под ним подразумевается? TypeScript — язык программирования, появился в 2013 году (молод, амбициозен, характер мелкий, мягкий), типизированное надмножество ES6. ES6 — он же ECMAScript 6, он же ECMAScript 2015, он же JavaScript 6, он же JavaScript 1.6 — значительное расширение ES5. ES5 — он же ECMAScript 5, он же JavaScript 5, он же JavaScript 1.5. Часто, когда говорят JavaScript, имеет в виду именно его. Целая семейка и очень подозрительная. Чувствую, что взял правильный след! Модель наследования была заложена в самых первых версиях языка и она, что бы это не значило, прототипная. А это уже похоже на зацепку — попробуем копнуть поглубже. Классическая модель наследования — это объектная модель на основе классов, когда существует иерархия классов, а может даже и интерфейсов. Классов в ES5 нет, хотя слово class и является зарезервированным для будущего использования. И тут, в нашем расследовании появляется первая улика. Улика 1: всё в JavaScript — объекты Действительно — классов нет, функции сами являются объектами первого класса (таким словом называются элементы, которые могут быть переданы как параметр, возвращены из функции или присвоены переменной), а примитивы внешне ведут себя в точности как объекты. Чтобы создать новый объект (нет смысла говорить слово инстанс так как классов у нас все-равно нет), нужно применить оператор new к какой-нибудь функции. Между прочим, функции, как и все, что есть в javascript — это объекты, но не все объекты функции. И если все объекты созданы из функций, то возникает логический парадокс курицы и яйца — кто же создал первую функцию, если она тоже объект? К счастью, есть нативный способ создать функцию: (function () {}). У любого объекта может присутствовать свойство __proto__. Вообще-то оно было специфицировано только в ES6, и до этого в разных реализациях называлось по-разному. Чтобы избежать путаницы, это свойство называли ссылкой на прототип и записывают вот так: [[Prototype]], что добавляет еще больше путаницы. Так же, есть прото-независимые методы Object.getPrototypeOf() и Object.setPrototypeOf(), возвращающие и устанавливающие значение свойства [[Prototype]], но это нам сейчас не очень интересно, а интересно нам вот что — цепочка прототипов. Улика 2: если у объекта задано свойство __proto__, значит, у него имеется прототип У которого, в свою очередь, тоже может быть прототип, у которого… При вызове искомого (мне нравится это слово) свойства объекта, если искомое свойство отсутствует в самом объекте, оно будет искаться по всей цепочке прототипов (Prototype chain), пока не найдется подходящий объект или пока цепочка не закончится на объекте у которого __proto__ === null. Вряд-ли кто-нибудь удивится тому, что оператор new тоже нативный. Если реализовать его на JavaScript он будет выглядеть примерно так: function new(Fn) {var instance = {};instance.__proto__ = Fn.prototype;var result = Fn.apply(instance, arguments);return result instanceof Object ? result : instance;} Мне, как частному детективу, очень нравятся эти строки. Достаточно одного проницательного взгляда, чтобы сразу всё понять! Если вы когда-нибудь забудете, как работает вся эта магия с прототипным наследованием, посмотрите еще раз на реализацию! Создаем новый объект, копируем прототип и вызываем функцию-конструктор в контексте нового объекта. Улика 3: у функций есть свойство prototype Очень кстати, у нас под рукой есть функция function Fn() { this.answer = 42; }. Эта функция является объектом (спасибо, кэп!) созданным нативным конструктором Function и у нее есть несколько предустановленных свойств. Впрочем, сейчас меня интересует только одно свойство Fn.prototype = {constructor: Fn}. Это объект, который в поле constructor хранит ссылку на саму функцию Fn. Внимательнее следите за руками, сейчас мы создадим новый объект, конструктором для которого будет выступать наша функция Fn. Для того, чтобы подчеркнуть, что это настоящий конструктор, а не какая-то там дворовая функция, ее имя принято писать уважительно, с Большой буквы. Итак, собственно, акт созидания:function Fn() { this.answer = 42; }var ob = new Fn();или, в нашем случае, можно опустить скобки — у конструктора Fn нет параметров:var ob = new Fn; Тадам! Мы получили новый объект у которого есть свойство ob.answer === 42, и в его цепочку прототипов был скопирован конструктор: ob.__proto__.constructor === Fn. Глядя на код оператора new, можно также заметить, что Если функция-конструктор ничего не возвращает, то будет создан новый объект типа Fn. Если наша функция-конструктор возвращает не объект, а, например, число, то это значение будет проигнорировано и создан новый объект типа Fn. Если функция-конструктор возвращает объект, то именно этот объект будет возвращен оператором new и вряд ли он будет типа Fn. Улика 4: типы объектов и функция-конструктор Когда мы говорим, что объект является типом другого объекта (instanceof), имеется в виду, что объект или один из его прототипов был создан этой функцией-конструктором. Той самой, которую мы только что назвали другим объектом, и той самой, которую принято записывать с Большой буквы. Поэтому верны оба</p>
<p>The post <a href="https://creatiksoft.ru/blog/investigating-javascript-inheritance/">Расследование дела о наследовании</a> first appeared on <a href="https://creatiksoft.ru">CreatikSoft</a>.</p>]]></description>
		
		
		
			</item>
	</channel>
</rss>
